Conventional Commits
A lightweight specification for Git commit messages that conveys change semantics through structured prefixes such as feat, fix, and docs. It is closely aligned with Semantic Versioning (SemVer) and has become the prevailing practice for managing API compatibility in modern open-source ecosystems.
Core Facts
Timeline (last 90 days)
Conventional Commits is a commit message format convention of the form 'feat(api): add bulk import endpoint' or 'fix: stop dropping empty rows', where the prefix declares the type of change, an optional scope in parentheses labels the module, and the description follows the colon.
relnotes provides an offline fallback path: when no model is available (--offline), it generates the changelog based on Conventional Commits-driven grouping, with a structure consistent with the model output.
In Spec-Driven Development, the agent's use of Conventional Commits means that every commit carries semantic information, making it easier for humans to review and trace rule changes.
When the release process is fully automated, the assignment of version numbers is usually derived automatically from commit messages (such as the fix, feat, and BREAKING CHANGE prefixes in the Conventional Commits specification).
Under the Conventional Commits specification, breaking changes require an exclamation mark immediately after the type (e.g., feat!) or a BREAKING CHANGE: footer in the commit body.
AI tools appending non-standard content to the end of commit messages that conform to the Conventional Commits specification may cause automated tools to fail to parse or produce erroneous output.
Well-known open-source projects such as Angular and Vue.js enforce the use of the Conventional Commits specification.
The core structure of the Conventional Commits specification is type(scope): description, where type indicates the type of change such as feat, fix, or refactor.
The Conventional Commits format is type(scope): description, and the Angular framework itself is one of the early promoters of Conventional Commits.
All Facts (13)
The core format of Conventional Commits is <type>[optional scope]: <description>.
65%UnverifiedConventional Commits(约定式提交)规范最初由Angular团队提出,后经社区标准化
85%UnverifiedConventional Commits规范由Angular项目率先大规模推广
85%UnverifiedConventional Commits has become the de facto standard commit specification in the open-source community.
60%UnverifiedConventional Commits is a commit message format convention of the form 'feat(api): add bulk import endpoint' or 'fix: stop dropping empty rows', where the prefix declares the type of change, an optional scope in parentheses labels the module, and the description follows the colon.
50%Unverifiedrelnotes provides an offline fallback path: when no model is available (--offline), it generates the changelog based on Conventional Commits-driven grouping, with a structure consistent with the model output.
50%UnverifiedIn Spec-Driven Development, the agent's use of Conventional Commits means that every commit carries semantic information, making it easier for humans to review and trace rule changes.
50%UnverifiedWhen the release process is fully automated, the assignment of version numbers is usually derived automatically from commit messages (such as the fix, feat, and BREAKING CHANGE prefixes in the Conventional Commits specification).
50%UnverifiedUnder the Conventional Commits specification, breaking changes require an exclamation mark immediately after the type (e.g., feat!) or a BREAKING CHANGE: footer in the commit body.
50%UnverifiedWell-known open-source projects such as Angular and Vue.js enforce the use of the Conventional Commits specification.
50%UnverifiedAI tools appending non-standard content to the end of commit messages that conform to the Conventional Commits specification may cause automated tools to fail to parse or produce erroneous output.
50%UnverifiedThe core structure of the Conventional Commits specification is type(scope): description, where type indicates the type of change such as feat, fix, or refactor.
50%UnverifiedThe Conventional Commits format is type(scope): description, and the Angular framework itself is one of the early promoters of Conventional Commits.
50%