| name | commit-conventional |
| description | Create a conventional commit with proper format |
| disable-model-invocation | true |
| allowed-tools | Bash, Read |
Conventional Commit Helper
Create a properly formatted conventional commit from staged changes.
Process
- Check for staged changes:
git diff --staged --stat
- If no staged changes, prompt to stage files first
- Analyze changes:
git diff --staged
- Determine commit type based on changes:
feat: new functionality
fix: bug fixes
docs: documentation changes only
style: formatting, whitespace
refactor: code restructuring without feat/fix
perf: performance improvements
test: adding/fixing tests
chore: maintenance, dependencies, config
- Identify scope from changed files/directories
- Write subject line:
- Imperative mood ("add" not "added")
- Lowercase
- No trailing period
- Max 72 characters
- Present commit message for approval
- Execute commit with GPG signing
Commit format
type(scope): subject
[optional body]
[optional footer]
Example flow
$ /commit-conventional
Staged changes:
src/auth/login.ts | 25 +++++++++
src/auth/types.ts | 8 +++
Proposed commit:
feat(auth): add OAuth2 login support
Proceed with commit? (y/n)
Notes
- GPG signing is enabled by default (from gitconfig)
- Do not commit if no changes are staged
- Ask for confirmation before executing commit