| name | push-all |
| description | Stage, commit, and push all changes with a descriptive commit message, then summarize and show the diff |
| allowed-tools | Bash(git:*) |
Push all changes following this exact workflow:
-
Check current status and get the diff:
git status
git diff
git diff --cached
-
Stage all changes:
git add -A
-
Analyze the changes and create a descriptive commit message:
- Look at what files were changed
- Understand the nature of the changes (feat, fix, refactor, test, docs, style, chore)
- Write a clear, descriptive commit message following conventional commits format
- The first line should be a concise summary (50 chars or less)
- Include a body if the changes need more explanation
-
Commit the changes:
git commit -m "<descriptive message>"
-
Push to the remote:
git push
- If no upstream is set, use
git push -u origin <branch-name>
-
Report the result to the user:
- Show a summary of what changed (files added/modified/deleted)
- Show the diff of what was committed (use
git show --stat and git show for the full diff)
- Confirm the push succeeded
- Show the commit hash and message