Contributing¶
Contributions welcome — issues, docs, tests, and code.
Setup¶
You need:
- Go 1.26+
giton yourPATH(regit shells out to it for all repository access)just— the single dev entrypoint
just build compiles the binary to dist/regit, stamping the version from
git describe --tags --dirty --always. Run just with no arguments to list
every recipe.
Tests¶
just test # full test suite
just test-race # race detector + coverage profile
just cover # per-function coverage; fails below the 80% floor
Full gates¶
just ci # fmt-check + vet + build + race tests + coverage gate
just e2e # end-to-end tests against the built binary
just check # pre-push battery: ci + e2e + docs drift + a fuzz burst
GitHub Actions runs the exact same just ci and just e2e recipes, so local
and CI results cannot drift. CI also runs the test suite on macOS and Windows,
and against git 2.25 to catch accidental use of newer git flags.
Generated docs blocks¶
Marked blocks in README.md and AGENTS.md are generated from the
capability registry in code.
just docs-sync # regenerate the blocks after changing the registry
just docs-check # verify the blocks match the code (a drift test runs this in CI)
Edit the source, not the blocks
Never hand-edit content inside the marked blocks — change the registry (or
the renderer in internal/docs) and run just docs-sync, or just check
will fail on drift.
Docs site¶
just docs-build # build the site (strict — fails on any warning)
just docs-serve # serve locally with live reload
Both run MkDocs through uv; no local Python environment setup is needed.
Pull requests¶
- Create a focused branch — one logical change per PR.
- Add tests for new behavior; keep coverage at or above 80%.
- Ensure CI passes (
just cilocally is the same gate;just checkbefore pushing is the full battery). - Open a PR against
mainwith a clear description of what changed and why.
Related pages¶
- Architecture — package layout and layering rules
- CLI reference — the command surface you may be extending
- Changelog — release status