File bugs and feature requests via GitHub Issues.
For security vulnerabilities, follow the Security Policy instead.
- Fork the repo and create a branch from
main - Make your changes
- Ensure
make lintandmake testpass locally - Use conventional commits:
feat:,fix:,refactor:,docs:,test: - Open a PR against
main
# Build
make build
# Run tests
make test
# Run linter (requires golangci-lint)
make lint
# Dry-run release build (requires goreleaser)
make release-dry- Format with
gofmt(enforced by CI) - All linter checks in
.golangci.ymlmust pass - No bare
printstatements — the tool writes toos.Stdout/os.Stderrexplicitly