Enforces Conventional Commits format and branch naming conventions, validating commit message structure (type/scope/description header), suggesting branch name patterns (feature/*, fix/*, hotfix/*), and enforcing breaking change notation. Use when the user is about to commit, creating a branch, reviewing commit history, preparing a pull request, setting up commit linting, or asking about commit message format, branch naming, or Conventional Commits.
97
97%
Does it follow best practices?
Impact
97%
1.03xAverage score across 3 eval scenarios
Passed
No known issues
Atomic commits with conventional format
Atomic commits
100%
100%
No bulk staging
100%
100%
Commit type: fix
75%
100%
Commit type: feat
0%
100%
Imperative mood
100%
100%
Lowercase header start
50%
100%
No trailing period
100%
100%
Header length <= 72
100%
0%
Body for fix commit
100%
100%
Blank line before body
100%
100%
Validation step
100%
100%
No WIP commits
100%
100%
Branch naming and git mv rename
Branch type: fix
100%
100%
Issue number in branch name
100%
100%
Kebab-case branch name
100%
100%
Lowercase branch name
100%
100%
Branch description length
100%
100%
Branch created from main
100%
100%
Uses git mv for rename
100%
100%
No cp/mv without git mv
100%
100%
History preservation noted
100%
100%
Branch name documented
100%
100%
Breaking change with BREAKING CHANGE footer
Detects .commitlintrc
100%
100%
BREAKING CHANGE footer present
100%
100%
BREAKING CHANGE is meaningful
100%
100%
Appropriate commit type
100%
100%
Commit body present
66%
100%
Blank line before body
100%
100%
Blank line before footer
100%
100%
Imperative mood
100%
100%
Lowercase header start
100%
100%
Header <= 72 chars
100%
100%
No WIP markers
100%
100%
commit-log.txt produced
100%
100%