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
code
type(scope): subject [optional body] [optional footer]
Example flow
code
$ /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