Conventional Commits
Details
Core Concepts:
-
A specification for adding human and machine readable meaning to commit messages
-
Determining a semantic version bump (based on the types of commits landed)
-
Communicating the nature of changes to teammates, the public, and other stakeholders
- Schema
-
<type>[!][(optional scope)]: <description> + optional body/footer
- Common Types
-
feat: - introduce new feature to the codebase (→ Semver Minor)
-
fix: - patches a bug in your codebase (→ SemVer Patch)
-
docs: - documentation improvements to the codebase
-
chore: - codebase/repository housekeeping changes
-
style: - formatting changes that do not affect the meaning of the code
-
refactor: - implementation changes that do not affect the meaning of the code
-
! - BREAKING CHANGE (→ SemVer Major)
-
BREAKING CHANGE: introduces a breaking API change
- Key Proponents
-
Benjamin E. Coe, James J. Womack, Steve Mao
When to Use:
-
everything-as-code paradigm targeted
-
team-/community-communication
-
repository quality improvements