Conventional Commits encourages focus on the wrong things
Perceived Benefits of Conventional Commits
- Many see CC as primarily useful for automation: semantic version bumps, continuous delivery, and basic changelog generation.
- Type prefixes (
feat,fix,chore,docs, etc.) help some reviewers and consumers quickly filter history (e.g., scan for bug fixes or new features). - Some like the explicit
!for breaking changes and tools that visually highlight those. - In teams with weak commit hygiene, CC is viewed as a lightweight enforcement mechanism that at least forces a structured one-liner.
- Some developers appreciate at-a-glance signals (sometimes via emojis) about change “blast radius” or who cares about a change.
Core Criticisms
- Many argue the type prefix is low‑value or redundant; good English verbs and concise titles already convey “fix” vs “feat”.
- Scope (component/module) is seen as more useful than type, and several large projects use scope-style conventions without CC.
- Auto-generated changelogs from commits are widely criticized as too granular and aimed at the wrong audience; curated changelogs or release notes are preferred.
- Semantic versioning inference is seen as brittle, especially with reverts, subtle breaking changes, and monorepos where one commit can mean different things for different packages.
- Some find CC ugly, wordy, and a distraction in the most important limited real estate: the subject line.
Alternatives and Variations
- Common alternatives: “scope: description” (Linux/Go-style), scoped commits, git trailers/footers, git-notes, or separate changelog systems (e.g., Keep a Changelog, Changesets).
- Several suggest moving machine-readable metadata (type, issue IDs, tags) to trailers or separate files, preserving the subject for humans.
- Issue/ticket IDs are contentious: some want them in the title for quick linking and context; others prefer them in the body or trailers.
Broader Themes
- Strong emphasis from many on commits explaining “why” rather than just “what” or “how”.
- Recognition that most teams don’t write good commit messages; some view any enforced convention as better than nothing, others say CC doesn’t solve the underlying quality problem.
- Multiple commenters see this as bikeshedding: useful to have some convention, but arguing type vs scope order is seen by some as low-value.