Turn a plain-English description of your change into clean Conventional Commits messages. No signup. No cost.
Imperative mood. Write add login, not added login or adds login. The message completes the sentence "If applied, this commit will ___".
Subject line under 50 characters. Lowercase, no trailing period.
Body explains what and why, not how. The diff already shows how. Wrap the body at 72 characters and leave a blank line after the subject.
Conventional Commits format. type(scope): subject makes history greppable and enables automatic changelog and semantic-version bumps (feat: → minor, fix: → patch, feat! or BREAKING CHANGE: → major).
feat — new feature for the user
fix — patches a bug
docs — documentation only (README, comments)
style — formatting, whitespace, semicolons (no logic change)
refactor — restructure code without changing behavior
perf — improves performance
test — adds or fixes tests
build — build system or external dependencies
ci — CI pipeline configuration
chore — tooling, config, misc grunt work
revert — reverts a prior commit