quality
quality is the checklist that runs in the agent’s head before code is
committed: the mechanical, non-negotiable hygiene that keeps a branch
green and a diff clean. It’s short by design — every item is a thing that’s
cheap to do and expensive to skip.
What it governs
- Before committing — never use
--no-verify; always run pre-commit hooks; scan for hardcoded secrets (API keys, JWT tokens, passwords, cloud/provider tokens); review the full diff before pushing. - After editing files — run the project formatter (biome/prettier for
JS/TS,
dotnet formatfor C#, ruff/black for Python) and the type checker (tsc --noEmit,dotnet build, mypy/pyright). - Debug statements — no
console.logorprint()left in production code; sweep modified files before finalizing. - Documentation — design docs (
*-design.md,*-spec.md,*-plan.md) belong indocs/.
Why it matters
The failure mode of a fast assistant is leaving small messes: an unformatted
file, a stray console.log, a type error that only CI catches, a --no-verify
that skips the very checks meant to stop all of the above. Each is trivial
alone; together they erode trust in the branch and slow every review. Codifying
the checklist means it runs every time, not just when someone remembers.
How to override
Extend-only. Create quality.local.md in the rules directory to add
project-specific checks (an extra linter, a repo-specific gate). Removing an
Octopus default via a local file is not recommended — the checklist is a floor.