Conventional Commits — screenshot of conventionalcommits.org

Conventional Commits

Conventional Commits is a specification for standardizing commit messages to add human and machine-readable meaning. It provides a simple rule set for explicit commit history, enabling automated tools and proper Semantic Versioning alignment.

Visit conventionalcommits.org →

Questions & Answers

What are Conventional Commits?
Conventional Commits is a lightweight specification for standardizing commit messages, providing a clear and structured way to communicate changes within a codebase. It defines a set of rules for structuring commit messages to make them both human and machine-readable.
Who benefits from using Conventional Commits?
Developers, teams, and project maintainers benefit from Conventional Commits. It helps improve collaboration, streamline code reviews, and automate release processes by providing a consistent and understandable commit history for all stakeholders.
How do Conventional Commits differ from unstructured commit messages?
Unlike unstructured commit messages, Conventional Commits enforce a specific format, including a type and optional scope, description, body, and footers. This structure allows for automated parsing, semantic versioning integration, and consistent changelog generation, which is difficult with arbitrary messages.
When should a team adopt Conventional Commits?
A team should adopt Conventional Commits when they want to automate version bumping, generate changelogs, or communicate the nature of changes more effectively. It is particularly useful for projects that follow Semantic Versioning or involve continuous integration/delivery pipelines.
What are the key structural elements of a Conventional Commit message?
A Conventional Commit message must begin with a type (e.g., feat, fix), optionally followed by a scope in parentheses, a colon, and a description. It can also include an optional longer body and footers, such as BREAKING CHANGE: to indicate major API changes.