For any significant change, open the issue first (or comment on an existing one) to discuss with the maintainers on what to do and how. When the solution is agreed upon, you can proceed with implementation and open a pull request.
For small changes, such as few lines bugfixes or documentation improvements, feel free to open a pull request directly.
For easy first issues, check the good first issue tag.
- Clone the repository.
- Install Go: https://go.dev/doc/install
- Install Task: https://taskfile.dev/docs/installation
- Do
export TASK_X_REMOTE_TASKFILES=1. - Make your changes.
- Run
taskwith no arguments to run all essential checks (build, lint, format, quick tests, and others). - Commit your changes. See Commit/branch/PR naming for the commit message format. The commit must be signed off (
--signoff) as an acknowledgment of the DCO. - Push and open a pull request.
You can also check out all available tasks with task -l.
The commit message format is <commit-type>: <description>.
The branch name format is <commit-type>/<shortened-description>.
The PR title format is <commit-type>: <description>.
The commit type is one of the following:
- feat: a new feature or an improvement (will bump the minor version)
- fix: a bug fix or a minor improvement (will bump the patch version)
- refactor: any other code change
- chore: anything else
Examples of commit messages and PR titles:
- feat: add
--timeoutflag - fix: error
cyclic dependency detected - refactor: simplify
planpackage - chore: add unit tests job on PR
Examples of branch names:
- feat/timeout-flag
- fix/cyclic-dependency-error
See CODESTYLE.md.