Thanks for your interest in contributing to this project, this document describes some guidelines necessary to participate in the community.
We welcome any feedback or feature request, to submit yours please head over to our feedback page.
Please create a GitHub issue describing the kind of problem you're facing with as much detail as possible, including things like operating system or anything else may be relevant to the issue.
Before submitting a patch to the repo please consider opening an issue first
- After 30 days of no activity (no comments or commits on an issue/PR) we automatically tag it as "stale" and add a message:
This issue/PR has gone 30 days without any activity and meets the project's definition of "stale". This will be auto-closed if there is no new activity over the next 60 days. If the issue is still relevant and active, you can simply comment with a "bump" to keep it open, or add the label "not_stale". Thanks for keeping our repository healthy!
- After 60 more days of no activity we automatically close the issue/PR.
For patches to be accepted, contributors must sign our CLA.
- Fork the repository.
- Clone your forked repository locally.
- We use Go Modules to manage dependencies, so you can develop outside of your
$GOPATH
.
We use golangci-lint to lint our code, you can install it locally via make setup
.
The following is a short list of commands that can be run in the root of the project directory
- Run
make
see a list of available targets. - Run
make test
to run all unit tests. - Run
make lint
to validate against our linting rules.
We provide a git pre-commit hook to format and check the code, to install it run make link-git-hooks
We scan our dependencies for vulnerabilities and incompatible licenses using Snyk. To run Snyk locally please follow their CLI reference
Reviewers, please ensure that the CLA has been signed by referring to the contributors tool (internal link).