Skip to main content
InternalMarkdown

Semantic / conventional commits

This repo uses Conventional Commits.

<type>(<scope>): <summary>

[optional body]

[optional footers]

Types​

TypeUse
featNew user-facing capability
fixBug fix
docsDocumentation only
refactorCode change that is not a feat or fix
testTests only
choreTooling, deps, housekeeping
ciCI config
perfPerformance
buildBuild system
revertRevert a prior commit

Scopes​

Prefer one of: api, portals, infra, auth, docs, tooling, demos, identity, linking.

Authorship​

Author and committer are the human user.name / user.email only. Do not add Co-authored-by: Cursor, Co-authored-by: Claude, or other agent trailers. Cursor may inject one; the Husky commit-msg hook strips it before Commitlint.

Enforcement​

  • Root commitlint.config.cjs + Husky commit-msg hook
  • Install once from repo root: npm install
  • Hook strips agent Co-authored-by trailers, then runs commitlint

Examples​

feat(api): add hashed recovery codes and session scope

fix(api): resolve IAM before consuming a recovery code

docs(auth): document Nest-owned recovery codes

chore(tooling): add commitlint and husky