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.