We welcome contributions from the community! Whether you're fixing a bug, adding a feature, or improving documentation, your contributions help us improve this project for everyone!
If you're unsure about anything, or are not sure if a change should be made, feel free to ask questions by opening a discussion.
- Before submitting a PR, verify that an issue exists that describes the bug fix or feature you want to contribute. If there's no issue yet, please create one.
- If you don't have access to the repo, fork to your on your GitHub user account, make code changes there, and then
create a PR against the
main
branch. - Add tests for any new features or bug fixes. Ideally, each PR increases the test coverage. We have a quality gate that checks.
- Follow the existing code style (follow Effective Go where no obvious convention exists).
- Use the pull request template provided, and fill in all the details you can.
- Document newly introduced methods and classes with godoc-style comments, and add inline comments to code that is not self-documenting.
- Separate unrelated changes into multiple PRs.
- Commit messages should follow the conventions outlined at https://www.conventionalcommits.org/.
- Where possible, we try to write unit tests in a table-driven way (something you’ll likely be familiar with if you’re familiar with Go).
- This doesn’t mean a test has to be written in this way but if you find yourself in a situation where you are testing various inputs to a function that lead to different outputs, a table-driven test will work well!
Please follow the Conventional Commits guidelines for PR titles (and commit titles).
Please split the PR description into the categories defined by https://keepachangelog.com, for example:
### Added
- v1.1 Brazilian Portuguese translation.
### Changed
- Use frontmatter title & description in each language version template
If you are looking for help, or aren’t sure if something is an issue or not, please create a post under Discussions instead.
Lastly, don’t let review comments discourage you! We appreciate any and all public contributions. Luno has an internal set of standards and guidelines we are committed to upholding on all of our repos, so we may request changes to bring any PRs in line with those.