Skip to main content

Commit checklist

Use before every commit. Full rules: Commit messages.

Title

  • Format: [WIP: ]<type>[<scope>][!]: <Subject>
  • Allowed type: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test
  • Scope (optional): lowercase; portal, docusaurus, sync, superbuild, hooks, etc.
  • Subject: imperative, uppercase after :, no trailing period
  • Title ≤ 72 characters

Body and footers

  • Blank line between title and body (if body present)
  • Body lines ≤ 100 characters
  • If title has !, include BREAKING CHANGE: footer
  • At most one AI: footer (yes, no, perplexity, copilot, mixed)
  • No WIP: on develop, master, release/*, or hotfix/*

Author and hooks

  • Author is the human operator (not a bot-only author)
  • pre-commit install and pre-commit install --hook-type commit-msg have been run (once per clone)
  • pre-commit run --all-files passes on staged changes where practical
  • Do not bypass hooks unless explicitly approved
  • If a commit fails a hook, fix and create a new commit (do not amend failed hook runs)

Before push

  • On develop (not direct commits to master for day-to-day work)
  • npm run build passes after structural or navigation changes
  • Commit message will pass gitlint (commit-msg hook)
  • CI green on develop before fast-forwarding master (when CI is configured)