Skip to content
shellhacks.dev
Git

Conventional Commit Linter

Check a commit message against Conventional Commits: type, scope, breaking change marker, description style, header length, body wrapping and footers, with the version bump it implies.

Free · No sign-up · Your inputs stay in your browser

Input

Lint a commit message (Conventional Commits)

Output

Valid

Typefeat (A new feature (minor))
Scopeauth
Descriptionadd login throttling per IP and email
Breakingyes
Version bumpmajor
FootersBREAKING CHANGE: LOGIN_ATTEMPTS env var renamed to AUTH_MAX_ATTEMPTS; Refs: #412

Conventional Commits 1.0.0: a type, an optional scope, ! for a breaking change, a colon and a description, then an optional body and footers. The payoff is automation: semantic-release and release-please pick the next version from the types (feat is minor, fix is patch, a breaking change is major) and write the changelog from the descriptions.

Runs in this browser. Nothing you paste is sent to a server.

Why the format pays off

Release tools such as semantic-release and release-please read the types: feat produces a minor release, fix a patch, and a breaking change marker a major, and the descriptions become the changelog. That only works if every commit follows the Conventional Commits 1.0.0 specification.

Enforcing it

commitlint with the conventional config checks messages in a commit-msg hook (through Husky or lefthook) and in CI on pull request titles, which matters when pull requests are squash-merged and the title becomes the commit.

Share

Frequently asked questions

What does the exclamation mark in feat!: mean?
A breaking change. It triggers a major version bump, the same as a BREAKING CHANGE: footer.
What types does Conventional Commits allow?
The specification requires only feat and fix; build, chore, ci, docs, perf, refactor, revert, style and test are the widely used conventions from the Angular guidelines.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Go deeper

Suggested reading

Keep planning

Similar tools