Overview
This page is the atomic definition. The deep-dive lives at git.
Definition
Conventional Commits is a commit-message specification (current version 1.0.0) that enforces a structured prefix: type, optional scope in parentheses, optional ! for breaking changes, then a colon and short description. Types include feat, fix, docs, style, refactor, test, chore, perf, ci, and build. The ! suffix or a BREAKING CHANGE: footer marks a breaking change. The format pairs with tools like commitlint, semantic-release, and release-please to generate changelogs and pick the next SemVer bump automatically.
When it applies
Use Conventional Commits on any repository that publishes versioned releases or wants a machine-readable history. Skip it for one-off scripts and personal scratch repos.
Example
feat(auth): add OAuth2 PKCE flow
fix(api): return 422 instead of 500 on invalid JSON
refactor(db)!: rename users.email to users.email_address
BREAKING CHANGE: clients must update queries to use email_address.
Related concepts
- git - the deep-dive on commit hygiene and Conventional Commits.
- atomic-commit - one logical change per commit, the discipline Conventional Commits encodes.
- semantic-versioning - the version scheme driven by Conventional Commits.
- git-commands - the git commands that produce and inspect commits.
- github - PR titles often mirror the Conventional Commits format.
Citing this term
See Conventional Commits (llmbestpractices.com/glossary/conventional-commits).