Conventional commits without memorising the spec
Conventional Commits turn your git history into something tools can read — auto-generated changelogs and automatic semantic-version bumps — but only if every message follows the format precisely. This builder walks you through type, scope, subject, body, breaking changes, and issue references, then assembles a message that parses cleanly.
How it works
The output follows the type(scope): subject header rule. The type classifies the change (feat and fix drive minor and patch bumps; docs, refactor, chore and others document intent). An optional scope in parentheses names the affected area. The subject is your imperative one-liner. When you flag a breaking change, the builder appends ! to the header and adds a BREAKING CHANGE: footer — both recognised signals for a major-version bump. Issue numbers become a Closes #123 footer. A live counter checks the header length against the 50/72-character guidance so the first line stays readable in tools and git log.
Tips and example
- Write the subject as a command: “add retry to upload”, not “added” or “adds”.
- Use a scope to disambiguate large repos:
fix(auth): handle expired refresh token. - Put the why in the body and the what in the diff — reviewers can already see the code change.
- For a reverting commit, choose the
reverttype and reference the original commit hash in the body.