We welcome code contributions from the community. Please read and follow the guidelines below.
- Before starting work on a major feature, please reach out to us via GitHub, Discord, Slack, email, etc. We will make sure no one else is already working on it. A major feature is defined as any change that is > 100 LOC altered (not including tests), or changes any user-facing behavior
- Small patches and bug fixes don't need prior communication.
- Code style - most of the code is written in Go, please follow these guidelines
- Go-tools compatible (
go get
,go test
, etc.) - Code coverage for unit tests must not decrease.
- Code must be usefully commented. Not only for developers on the project, but also for external users of these packages
- When reviewing PRs, you are encouraged to use Golang's code review comments page
- Project follows Google JSON Style Guide for the REST APIs that are provided.