Conventional Commit Generator
Generate commit messages following the Conventional Commits specification.
Workflow
- •
Analyze Changes
- •Run
git statusto see staged files - •Run
git diff --cachedto see staged changes - •If nothing staged, show warning and suggest staging
- •Run
- •
Determine Commit Type
- •
feat: New feature - •
fix: Bug fix - •
docs: Documentation only - •
style: Code style (formatting, semicolons) - •
refactor: Code change that neither fixes a bug nor adds a feature - •
perf: Performance improvement - •
test: Adding or modifying tests - •
build: Build system or dependencies - •
ci: CI configuration - •
chore: Maintenance tasks
- •
- •
Identify Scope
- •From file paths (e.g.,
src/auth/→auth) - •From argument if provided
- •Optional - omit if changes span multiple areas
- •From file paths (e.g.,
- •
Generate Message
- •Keep subject line under 72 characters
- •Use imperative mood ("add" not "added")
- •Don't capitalize first letter after type
- •No period at end of subject
Format
code
<type>(<scope>): <subject> <body> <footer>
Examples
Simple feature:
code
feat(auth): add password reset functionality
Bug fix with body:
code
fix(api): handle null response from payment gateway The payment API can return null when the gateway times out. Added null check and retry logic. Fixes #123
Breaking change:
code
feat(api)!: change response format for user endpoint BREAKING CHANGE: user endpoint now returns nested profile object
Behavior
When invoked:
- •Check for staged changes
- •Analyze the diff content
- •Propose a commit message
- •Ask for confirmation or modifications
- •Execute
git commitwith the message
If argument provided (e.g., /commit auth):
- •Use it as the scope
- •Or as context for the commit message
Important
- •Never commit secrets or credentials
- •Review large diffs carefully before committing
- •Suggest splitting if changes are unrelated
- •Add Co-Authored-By for pair programming if mentioned