Start from dev and open a pull request back to dev. Read AGENTS.md
for repository-wide engineering rules; it shares its contents with CLAUDE.md.
| Work | Read first |
|---|---|
| Implement or fix a feature | Developer architecture, recent change entries, and the relevant source tests |
| Explain product behavior | Manual authoring |
| Improve developer documentation | Documentation ownership and documentation map |
| Report a defect | Defect template with a reproducible example |
- Create a contribution branch from current
dev; follow the branch rules. - Use the Go version declared in go.mod. Run
make buildforbin/codeaf; build preparation is described in the Makefile. - Make a focused change with observable acceptance. Follow the testing, naming, manual and design rules in AGENTS.md.
- Update the matching documentation and add a change entry.
- Run the required local checks, review your diff, and open the PR against
devwith validation and honest limitations.
Use make test-focus PKGS=./internal/pkg RUN='^TestRegression$$' while editing,
substituting the package and test you changed. Run make test-quick, then
make pr-ready before opening the PR. The latter selects touched packages from
the committed diff; commit Go/module edits before relying on that selection.
Manual changes also need the manual checks.
A skipped live-provider or Docker test does not prove that path works. State what ran, what skipped and what remains unverified. See CI guidance for the exact gate and failure diagnosis; this guide does not define another one.
Stage explicit paths and keep unrelated work out of the PR. Never push feature
work directly to dev, staging or main. Reviewers need the concrete problem,
resulting behavior and validation. Maintainers follow the promotion rules
for staging and release; opening a contribution does not authorize a merge.