---
title: "Conventional Commits"
slug: "conventional-commits"
category: "glossary"
tags: ["glossary", "coding", "git", "commits", "conventional-commits"]
status: "stable"
last_updated: 2026-05-14
summary: "Conventional Commits is a commit-message spec using a structured prefix (type, scope, breaking marker) to drive automated changelogs and version bumps."
related:
  [
    "[[coding/git]]",
    "[[glossary/atomic-commit]]",
    "[[glossary/semantic-versioning]]",
    "[[cheatsheets/git-commands]]",
    "[[tooling/github]]",
    "[[tooling/claude-code-workflow]]",
  ]
---

## Overview

This page is the atomic definition. The deep-dive lives at [[coding/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

- [[coding/git]] - the deep-dive on commit hygiene and Conventional Commits.
- [[glossary/atomic-commit]] - one logical change per commit, the discipline Conventional Commits encodes.
- [[glossary/semantic-versioning]] - the version scheme driven by Conventional Commits.
- [[cheatsheets/git-commands]] - the git commands that produce and inspect commits.
- [[tooling/github]] - PR titles often mirror the Conventional Commits format.

## Citing this term

> See [[glossary/conventional-commits|Conventional Commits]] (llmbestpractices.com/glossary/conventional-commits).

## Related

- [[coding/git]]
- [[cheatsheets/git-commands]]
- [[tooling/github]]
- [[glossary/atomic-commit]]
- [[glossary/semantic-versioning]]
