Conventional Commits
A lightweight convention giving commit messages a machine-readable type and scope.
Conventional Commits is a specification for commit message format: a type, an optional scope, and a description — fix(parser): handle empty input — with a body and footers below. Types in common use include feat, fix, docs, refactor, test, chore, and perf.
The convention buys two things. Messages become scannable, since the type and scope tell you what kind of change it is before you read anything. And they become machine-readable, so changelogs and version bumps can be derived automatically — a feat implies a minor bump, a breaking-change marker a major one. See Semantic Versioning.
The scope is where most of the value lives in practice, and where it is most often wasted. A precise scope naming the module or feature area makes history navigable; a vague one repeated across every commit adds nothing. Scopes should match how the project is actually organized, and should be reused rather than reinvented per commit.
The convention is orthogonal to how much a commit should contain — see Atomic Commit — and it does not remove the need for a body. A one-line conventional message is fine for a genuinely self-explanatory change; anything with a motivation worth recording still needs prose.
See also3
Commit
A recorded snapshot of a project with a message explaining it.
Version Control & Delivery23 connections
Code Formatter
A tool that rewrites source code into one canonical layout automatically, ending style debates in code review and keeping diffs focused on what changed.
Version Control & Delivery14 connections
Naming
Choosing identifiers so the code states its own meaning without commentary.
Method59 connections
Related8
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from6
- Atomic CommitVersion Control & Delivery
A commit containing exactly one logical change, complete and independently sound.
- ChangelogVersion Control & Delivery
A curated, human-readable record of the notable changes in each version of a project, written for the people who use it rather than the people who built it.
- CommitVersion Control & Delivery
A recorded snapshot of a project with a message explaining it.
- Commit MessageVersion Control & Delivery
The note attached to each change in version control, conventionally a short summary line and a body explaining why, which becomes the main record of intent for anyone who later wonders why the code is the way it is.
- Git HookVersion Control & Delivery
Scripts Git runs automatically at points such as committing or pushing, used to check formatting and messages locally, and on servers to enforce policy or trigger deploys.
- Semantic VersioningVersion Control & Delivery
A version-numbering convention where the number communicates the kind of change.