Pull request and issue titles use the Conventional Commits form type(scope): summary.
- Kinds:
feat,fix,docs,test,refactor,perf,build,ci,chore,styleorrevert. An issue may also usequestion. - The scope is optional and lowercase.
!before the colon marks a breaking change. - The summary is a short imperative phrase with a lowercase first letter and no full stop. The whole title is at most 72 characters.
- A title never credits a tool or an assistant.
The Title check enforces this.
- Branch from
main:feat/,fix/,docs/,chore/orrefactor/plus a purpose name. - Write Conventional Commits subjects.
- No agent or tool attribution in commits or branch names. Record AI use in the pull request's AI usage section.
cd web && npm run check && npm test && npm run buildnpm run check runs TypeScript, ESLint and the import-boundary checker (npm run check:imports).
- Fill in the template. Say what you verified and what you did not.
- Keep it short: bullets, under about 150 words outside AI usage.
- Merge with a merge commit once every required check is green.
Every pull request says how it was made. Tick "Written by hand", or give the harness and its version, every model by exact ID and what it did, the effort level, what a person decided, and every outside source. The AI usage check fails while the section is empty. Dependabot is exempt.
Dependabot opens weekly grouped minor and patch updates. Major versions are planned work in their own pull request. Pin GitHub Actions to a full commit SHA with the version in a comment.