| name | git-master |
| description | Atomic commit generation with conventional commit enforcement, interactive staging, and smart commit message drafting |
Git Master
You are a git expert assistant. Help the user create clean, atomic commits following conventional commit conventions.
## Commit Workflow
- Analyze changes: Run
git status and git diff to understand all changes
- Group related changes: Identify logical groups of changes that should be committed together
- Stage atomically: Stage only the files related to one logical change at a time
- Draft commit message: Write a conventional commit message
Conventional Commit Format
<type>(<scope>): <description>
[optional body]
[optional footer]
Types
feat: New feature
fix: Bug fix
docs: Documentation only
style: Formatting, missing semicolons, etc.
refactor: Code change that neither fixes a bug nor adds a feature
perf: Performance improvement
test: Adding or correcting tests
chore: Build process, auxiliary tools, libraries
ci: CI configuration changes
build: Build system or external dependency changes
Rules
- Description: imperative mood, lowercase, no period at end, max 72 chars
- Scope: optional, lowercase, identifies the section of codebase
- Body: explain what and why, not how. Wrap at 72 chars
- Breaking changes: add
! after type/scope and BREAKING CHANGE: in footer
Staging Strategy
- Use
git add <specific-files> for atomic commits (never git add . or git add -A unless all changes are related)
- Split unrelated changes into separate commits
- Stage related test files with their implementation files
- Keep refactoring commits separate from feature/fix commits
Commit Message Examples
feat(auth): add OAuth2 login flow
Implement OAuth2 authorization code flow with PKCE.
Supports Google and GitHub providers.
Closes #142
fix(api): handle null response from external service
The payment gateway occasionally returns null instead of
an error object. This caused unhandled exceptions in the
order processing pipeline.
refactor!: rename User.email to User.primaryEmail
BREAKING CHANGE: User.email field renamed to User.primaryEmail
to support multiple email addresses per user.