- Go (see
go.modfor the minimum version) - just -- task runner
- lefthook -- git hooks
- gotestsum -- test runner
go install gotest.tools/gotestsum@latest
lefthook installjust build # compile the binary to bin/
just test # run tests
just check # format + vet
just serve # build and serve kwelea's own docs (dogfood)Pre-commit hooks run fmt, vet, and test on changed .go files.
For non-trivial changes, open an issue first to discuss the approach. Bug fixes and typos can go straight to a PR.
If you are proposing a feature, explain what problem it solves and keep the scope narrow — a focused PR is easier to review and more likely to land.
- Fork the repo and create a branch (
feat/my-thing,fix/my-bug). - Write tests for new behaviour. Existing tests live in
internal/*/alongside the code. - Update
docs/alongside the code if the change affects users. - Open a pull request against
main.
This project uses Conventional Commits. The release changelog is generated automatically from commit messages, so the format matters.
feat: add search highlighting for multi-word queries
fix: resolve port conflict on dev server restart
docs: clarify nav ordering in configuration guide
chore: bump D2 to v0.7.2
Types: feat, fix, docs, test, refactor, chore.
Breaking changes: append ! after the type (feat!:) and describe the break in the commit body.
just test-v # verbose outputCI runs on Linux and macOS. Windows builds are cross-compiled in CI -- flag any platform-specific issues in your PR.