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.
  • 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).