Contributing
Contributor Quality Workflow
Practical quality workflow for Kern contributors: linting, vulnerability scanning, tests, docs checks, and release-readiness checks.
Contributor Quality Workflow
Use this page as the standard contributor runbook before opening a PR or preparing a release.
One-time setup
Install local quality tools:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go install golang.org/x/vuln/cmd/govulncheck@latestValidate tools are available:
make check-go-toolsDaily development loop
Run fast checks while iterating:
make go-vet
go test ./...Run full quality checks before pushing:
make go-quality
go test ./...Docs checks
If your change touches docs, run:
make ci-docsBenchmark checks
If your change affects hot paths or middleware overhead, run at least:
make ci-benchmark-smokeFor deeper analysis, use the benchmark workflow in the repo Makefile (bench-full, bench-save, and pprof-* targets).
PR readiness checklist
make go-qualitypasses.go test ./...passes.make ci-docspasses when docs are touched.make ci-benchmark-smokepasses when performance-sensitive code is touched.- Any behavior or API change is reflected in docs.
Release readiness checklist
- Sync status in
ROADMAP_STATUS.md. - Update continuity notes in
handoff/WORK_CONTEXT.md. - Confirm CI workflow passes (
go-quality, tests, docs, benchmark smoke). - Confirm unresolved risks are documented with owner and mitigation.
CI mapping
go-qualityjob:go vet+golangci-lint+govulnchecktestjob:go build+go testdocsjob: docs install, lint, type-check, buildbenchmark-smokejob: quick benchmark sanity check
Troubleshooting
- If
make check-go-toolsfails, install missing binaries and ensure$GOPATH/binis on yourPATH. - If docs install fails in restricted networks, set npm registry explicitly in CI/local environment.