commit-push-pr¶
Manages git workflows: commits, pushes, and pull request creation.
infraOther (see repo)Commit, Push, and Create PR¶
Automate the git workflow for completing a feature or fix.
Pre-computed Context¶
Before proceeding, gather this information:
- Current branch: !git branch --show-current
- Git status: !git status --short
- Recent commits on this branch: !git log --oneline -5
- Diff summary: !git diff --stat
Workflow¶
- Review Changes
- Check
git statusfor all modified/added files - Review the diff to understand what's being committed
-
Ensure no sensitive files are staged (.env, credentials, etc.)
-
Run Pre-commit Checks
- Format code:
ruff format .(if Python files changed) - Lint code:
ruff check .(if Python files changed) -
Run tests:
pytest(if tests exist) -
Stage and Commit
- Stage relevant files:
git add <files> - Create a commit with Conventional Commits format:
feat:for new featuresfix:for bug fixesdocs:for documentationrefactor:for refactoringtest:for testschore:for maintenance
-
Write a clear, concise commit message focusing on "why"
-
Push to Remote
- Push the branch:
git push -u origin HEAD -
If branch doesn't exist on remote, create it
-
Create Pull Request
- Use GitHub CLI:
gh pr create - Include:
- Clear title summarizing the change
- Description with summary and context
- Reference any related issues
- Add appropriate labels if applicable
Arguments¶
Pass a commit message or leave empty for auto-generated message based on changes.
Usage: /commit-push-pr [optional commit message]
Example: /commit-push-pr feat: add user authentication
Output¶
Return the PR URL when complete.