๐Ÿ”งAutoSkills
All items
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.

Conventional 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 deps

Breaking 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.