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.)
- •Check
- •
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)
- •Format code:
- •
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"
- •Stage relevant files:
- •
Push to Remote
- •Push the branch:
git push -u origin HEAD - •If branch doesn't exist on remote, create it
- •Push the branch:
- •
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
- •Use GitHub CLI:
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.