All contributions are welcome! If you find a bug or have a feature request, please open an issue or submit a pull request.
Please note that we have a Code of Conduct, please follow it in all your interactions with the project.
You can make a contribution by following these steps:
- Fork this repository, and develop your changes on that fork.
- Commit your changes
- Submit a pull request from your fork to this project.
Before you start, read through the requirements below.
Please make your commit messages meaningful. We recommend creating commit messages according to Conventional Commits.
Each commit's signature must be verified.
All contributions, including those made by project members, need to be reviewed. We use GitHub pull requests for this purpose. See GitHub Help for more information on how to use pull requests. See the requirements above for PR on this project.
If a major new feature is added, there should be new tests for it. If there are no tests, the PR will not be merged.
Versions follow Semantic Versioning terminology and are expressed as x.y.z
:
- where
x
is the major version y
is the minor version- and
z
is the patch version
Please install pre-commit to enforce some pre-commit checks. After cloning the repository, you will need to install the hook script manually:
pre-commit install
We will check the code against golangci-lint to enforce some code conventions. It runs in the CI pipeline and in pre-commit. You can also run it manually:
golangci-lint run
We have a pre-commit hook that runs goimports to update the Go import lines, adding missing ones and removing unreferenced ones. You can install it with:
go install golang.org/x/tools/cmd/goimports@latest