rulev1.0.0
conventional-commits
Enforce Conventional Commits 1.0 for all commits
gitcommitsconventions
Install
$npx autoskills --items conventional-commits
Or scan + install everything matching your stack with npx autoskills.
Source
View on GitHubConventional commits
All commits must follow Conventional Commits 1.0.
Format
<type>(<optional scope>): <description>
<optional body>
<optional footer>Types
| Type | When |
|---|---|
feat |
new user-visible feature |
fix |
bug fix |
docs |
documentation only |
style |
formatting, missing semicolons (no logic change) |
refactor |
code change that neither fixes nor adds (e.g. rename, restructure) |
perf |
performance improvement |
test |
adding or refactoring tests |
build |
build system, package manager changes |
ci |
CI configuration changes |
chore |
other changes that don't modify src or test files |
revert |
reverts a previous commit |
Examples
feat(auth): add OAuth2 PKCE flow
fix(db): handle connection drops during transaction
docs(readme): document --dry-run flag
refactor(scan): extract framework detection into separate function
perf(registry): cache manifest fetches for 1 hour
test(scan): add fixtures for Laravel + Inertia stacks
ci: bump Node matrix to 18/20/22
chore: bump depsBreaking changes
Add ! after the type (or BREAKING CHANGE: in footer):
feat(api)!: drop /v1 endpoints
BREAKING CHANGE: clients must migrate to /v2 endpoints. See MIGRATION.md.Description rules
- Imperative mood โ "add foo", not "added foo" or "adds foo".
- Lowercase first letter of the description.
- No trailing period.
- โค72 characters for the subject line. Use the body for details.
Body
- Wrap at 72 characters.
- Explain why, not what โ the diff shows what.
- Reference issues:
Closes #123,Refs #456.
What this enforces
- Automated changelog generation (
conventional-changelog). - Automated semver bumps via tools like
semantic-release. - Searchable history (
git log --grep='^feat'). - Reviewable commits โ type + scope tell the reviewer what to focus on.