This document defines the conventions the autonomous coding agent follows and that contributors match.
Format: feat/issue-{N}-{slug}
Where:
Nis the GitHub issue number.slugis a short lowercase hyphenated description (max 50 chars).
Examples:
feat/issue-1-add-delete-endpointfeat/issue-2-fix-status-filter-bug
Follow Conventional Commits:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat: add DELETE /tasks/:id endpointfix: trim whitespace in status filter
- Read the issue — Fetch full issue body and comments before starting.
- Single purpose — One issue = one feature or fix; no bundled changes.
- Tests required — All new code must have tests (
cargo test). - No breaking changes — Without explicit discussion in an issue first.
- Preserve coding style — Match existing code conventions.
Run before pushing:
| Stack | Command |
|---|---|
| Rust | cargo test |
| Lint | cargo fmt --check && cargo clippy --all-targets -- -D warnings |
Use mise run test and mise run lint to run the same commands via mise.toml.
- Branch from
main:git checkout -b feat/issue-{N}-{slug}. - Push:
git push origin HEAD. - Open a PR against
mainviagh pr create. - Reference the issue:
Closes #Nin the PR body. - Wait for CI to pass and a review.
- Do not merge — leave for human review.