Thanks for your interest in contributing. The concise developer guide lives in documentation/08-development.qmd — start there for requirements, quickstart, daily workflow, and common gotchas.
- Clone the repo and run
make install-devfollowed bymake doctor. - Create a branch off
master(or a new worktree viamake worktree-setup NAME=<scope>/<unit>). - Make your change, keeping commits atomic and using conventional-commit style (
feat(...),fix(...),chore(...),docs(...)). - Run
make ci-localbefore pushing. GitHub Actions CI may skip some jobs based on path filters, somake ci-localis the authoritative pre-push check. - Open a pull request. Describe the why, not just the what. Reference the relevant issue, plan file, or review when applicable.
- Do not commit secrets. The repo gitignores
.env,config.yml, and friends — keep it that way. - Do not bypass git hooks. No
--no-verify/--no-gpg-sign. If a hook fails, fix the underlying issue. - Prefer new commits over
git commit --amend. Keeps review history legible and avoids surprise rewrites. - Respect file ownership during parallel work. The v11.0 phase plans under
.planning/_archive/legacy-plans/v11.0/define exclusive write ownership per worktree. If your change needs to cross ownership lines, split it into two PRs or coordinate with the other owner. - Docs are a deliverable. When you change architecture, runtime behavior, or a developer command, update
AGENTS.mdand/or the relevant human docs in the same PR (documentation/08-development.qmd,documentation/09-deployment.qmd,README.md).
Open a GitHub issue with:
- The command you ran and the output you saw.
- The output of
make doctor(paste it verbatim). - Your OS and Docker version if it looks environmental.
See documentation/08-development.qmd for the developer workflow baseline. CI runs are the tiebreaker when behavior differs between your laptop and a PR — link the failing run when you ask.