| name | code-review |
| description | Mandatory pre-commit validation for every Copilot code review on pull requests in the regle monorepo. Always verify commitlint compliance on commit titles and descriptions, pnpm workspace install, lint (vp lint), and format (vp fmt --check). Loaded on every code review — do not skip. |
Code review — pre-commit validation
Apply on every pull request review. These checks are blocking. Do not approve a PR until all pass or the author has addressed failures.
Review checklist (run every time)
| # | Gate | Command | On failure |
|---|
| 1 | Commit messages | printf '%s' "$MSG" | pnpm exec commitlint per commit | Blocking comment + suggested fix |
| 2 | Workspace | test -f node_modules/.modules.yaml | Request pnpm install |
| 3 | Lint | pnpm run lint | Blocking; suggest pnpm run lint:fix |
| 4 | Format | pnpm run fmt:check | Blocking; suggest pnpm run fmt |
Run all commands from the repo root after pnpm install.
Commit messages (commitlint)
Every commit must follow Conventional Commits per commitlint.config.ts (@commitlint/config-conventional).
type(optional-scope): imperative subject
Optional body explaining why.
- Types:
feat, fix, docs, style, refactor, perf, test, chore, ci, build
- Subject: lowercase, imperative mood, no trailing period
- Blank line between title and body when a body is present
Auto-fix loop
pnpm run lint:fix
pnpm run fmt
pnpm run lint
pnpm run fmt:check
Common commitlint failures
| Error | Fix |
|---|
type-empty / subject-empty | Use type: subject format |
type-enum | Use an allowed conventional type |
subject-case | Keep subject lowercase |
subject-full-stop | Remove trailing . from subject |