Back to glossary

Term

Conventional Commits

Conventional Commits is a convention for commit messages with a fixed format — type, optional scope and description — as the basis for automated changelogs and semantic versioning.

Conventional Commits — explained in more detail

The specification is delightfully simple: every commit message starts with a type (feat, fix, docs, style, refactor, test, chore), optionally followed by a scope in brackets, then a colon and the short description — for example feat(auth): add OAuth login.

Why it’s useful

The format lets you derive automatically what version number a release receives: feat triggers a minor bump, fix triggers a patch bump, a BREAKING CHANGE footer triggers a major bump. Tools like semantic-release, release-please or changesets use this to build changelog entries and version jumps without human intervention.

Practical relevance

Anyone who has ever worked in a codebase where commit messages consist of “fix stuff” or “update” knows the value: with Conventional Commits, every reviewer scans a pull request in seconds.

Tooling

  • commitlint rejects non-conforming commits via a Git hook.
  • commitizen walks through an interactive prompt to author the message.
  • husky triggers the above tools on every commit.

Distinction

Conventional Commits is purely a convention, not a technical dependency. Anyone not doing automated releases still gets the readability benefit — but the full payoff comes only together with Semantic Versioning.

Entdecke mehr