Conventional Commits¶
Commit messages determine version bumps. Format them correctly.
Types¶
Version-bumping:
feat— New feature (bumps minor)fix— Bug fix (bumps patch)perf— Performance improvement (bumps patch)
Non-releasing:
refactor— Restructure code, no behavior changestyle— Formatting, whitespacetest— Add or fix testsdocs— Documentation onlybuild— Build system, dependenciesci— CI configurationchore— Miscellaneous
Version Bumps¶
| Commit Type | Version Bump |
|---|---|
feat |
Minor (0.X.0) |
fix |
Patch (0.0.X) |
perf |
Patch (0.0.X) |
Breaking change (!) |
Major (X.0.0) |
| Others | No release |
docs: commits don't trigger releases. fix(docs): commits do.
Scopes¶
Optional but encouraged. Use these for slurmq:
cli— CLI entry pointcheck— Check commandmonitor— Monitor commandreport— Report commandstats— Stats commandefficiency— Efficiency commandconfig— Configurationquota— Quota calculationmodels— Domain models
Don't use issue IDs as scopes.
Breaking Changes¶
Add ! before the colon:
Or use a footer:
Description Rules¶
- Imperative mood: "add" not "added"
- No capital first letter
- No period at end
Examples¶
Fixing Bad Commits¶
For squash-merge PRs, only the PR title matters.