Why it matters
Conventional Commits ('feat(auth): add passkeys') make history readable and let tools such as semantic-release work out versions and changelogs automatically. One badly formed message can break that release.
This linter checks messages against the spec and the rules most teams use with commitlint, explains each problem, and shows the version bump a set of commits implies. Paste git log output and you get a changelog draft too.
How it works
- InputOne or more commit messages
- In your browserChecked against Conventional Commits 1.0
- OutputErrors, the version bump and a changelog
Where it fits in a designer's workflow
- Plan
- Design
- Build
- Test
- Launch
By the numbers
Show the numbers as a table
| Header | Type | Result |
|---|---|---|
| feat(api)!: drop the v1 order endpoints | feat | Valid |
| Fixed the basket total rounding. | none | Fails |
| fix(basket): round totals to the nearest penny | fix | Valid |
| feat(Search): Add fuzzy matching for product names. | feat | Fails |
| perf: cache the category tree for 5 minutes | perf | Valid |
How to use it
- Paste a commit message, or the output of git log.
- Read the problems for each message.
- Check the version bump.
- Copy or download the changelog draft.
FAQ
What makes a commit breaking?
A ! before the colon (feat!: …) or a footer starting BREAKING CHANGE:. Either one means a major version bump.
Which types are allowed?
feat and fix are in the spec; build, chore, ci, docs, perf, refactor, revert, style and test are the common conventional set. You can add your own.
How should I paste a git log?
Use git log --format=%B%n---- so each message is separated by a line of dashes.
Does it use my repository?
No. It only reads what you paste.