| name | commit-push-pr |
| description | Commit changes, push to remote, and create a pull request. Use for completing features or fixes ready for review. |
| disable-model-invocation | true |
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 status for 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 features
fix: for bug fixes
docs: for documentation
refactor: for refactoring
test: for tests
chore: 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.