| name | commit |
| description | Stage all changes and commit with appropriate message, showing changed files and edits. Use when you need to create a git commit. |
Automatically stage all changes and commit with an appropriate message based on the changes made. Shows a summary of what files were changed and how.
Steps
-
Show current status before staging:
git status --porcelain
-
Stage all changes:
git add .
-
Get changed files for analysis:
git diff --cached --name-only
-
Get detailed change summary:
git diff --cached --stat
-
Analyze changes to create commit message:
- Read the changed files to understand the scope of changes
- Look for spec files in
specs/ directory that might be related to these changes
- Focus on the main functional changes rather than minor refactoring
- Create a concise, descriptive commit message following conventional commit format
- Consider these patterns:
feat: add new feature
fix: resolve bug in component
refactor: reorganize utility functions
docs: update documentation
chore: update dependencies
-
Commit the changes:
git commit -m "Generated commit message"
-
Show commit summary:
git show --stat --oneline HEAD
Analysis Guidelines
Commit Message Format
- Use conventional commit format:
type: description
- Keep it concise and descriptive
- Focus on what the change accomplishes, not how it was done
- Use imperative mood: "add" not "added"
Change Analysis Priority
- Spec files: New/modified files in
specs/ indicate major features
- Core functionality: API endpoints, UI components, database schemas
- Configuration: Build, dependency, or environment changes
- Documentation: README, AGENT.md, or other doc updates
- Refactoring: Code reorganization without functional changes
Example Output
Files staged for commit:
M apps/web/src/components/TaskList.tsx
A specs/task-filters.md
M packages/ui/src/Button.tsx
D apps/web/src/old-component.tsx
Changes summary:
apps/web/src/components/TaskList.tsx | 15 ++++++++++++---
specs/task-filters.md | 42 +++++++++++++++++++++++++++++++++++++++
packages/ui/src/Button.tsx | 8 ++++----
apps/web/src/old-component.tsx | 23 -----------------------
4 files changed, 58 insertions(+), 26 deletions(-)
Committed: feat: add task filtering functionality
[main abc1234] feat: add task filtering functionality
4 files changed, 58 insertions(+), 26 deletions(-)
Error Handling
- If no changes to commit: "No changes to commit"
- If commit fails: Show the specific git error
- If unable to analyze changes: Use generic commit message with timestamp
File Status Symbols
When showing git status, these symbols indicate:
M = Modified
A = Added (new file)
D = Deleted
R = Renamed
C = Copied
?? = Untracked