3.2 KiB
3.2 KiB
description, model, allowed-tools
| description | model | allowed-tools |
|---|---|---|
| Create pull requests using GitHub CLI with Conventional Commits format | claude-sonnet-4-5-20250929 | Bash(git push:*), Bash(gh pr:*), mcp__plugin_git_git-intelligence__get_recent_commits, mcp__plugin_git_git-intelligence__get_diff_summary |
Create Pull Request
Create well-formatted pull requests using GitHub CLI with Conventional Commits specification.
Prerequisites
Check if gh is installed and authenticated:
gh auth status
If not installed:
brew install gh
gh auth login
Workflow
1. Gather Context
Use MCP tools for efficient data gathering:
- Status - Use
get_statusMCP tool - Recent commits - Use
get_recent_commitsMCP tool - Diff summary - Use
get_diff_summaryMCP tool
For branch info and comparison, use Bash:
# Check current branch
git branch --show-current
# Check if we need to push
git log --oneline @{u}..HEAD 2>/dev/null || echo "No upstream"
# All commits on this branch vs main
git log --oneline main..HEAD
2. Analyze Changes
Review all commits that will be in the PR (not just the latest):
git diff main...HEAD --stat
3. Determine PR Title
Use Conventional Commits format matching the primary change type:
| Type | Example |
|---|---|
| feat | feat(auth): add OAuth2 login support |
| fix | fix(api): handle null response |
| docs | docs(readme): update installation guide |
| style | style(ui): improve button styling |
| refactor | refactor(core): simplify data flow |
| perf | perf(queries): optimize database calls |
| test | test(auth): add login integration tests |
| build | build(deps): upgrade to Node 20 |
| ci | ci(actions): add deployment workflow |
| chore | chore(deps): update dependencies |
4. Create the PR
# Push branch if needed
git push -u origin HEAD
# Create PR with HEREDOC for body
gh pr create --title "<type>(<scope>): <subject>" --body "$(cat <<'EOF'
## Summary
<1-3 bullet points describing what this PR does>
## Changes
<Brief description of the changes made>
## Test Plan
- [ ] <Testing checklist item>
- [ ] <Another testing item>
---
Generated with [Claude Code](https://claude.ai/code)
EOF
)"
5. Draft vs Ready
- Use
--draftflag if work is in progress - Convert to ready:
gh pr ready
PR Body Template
## Summary
- <Primary change/feature>
- <Secondary change if applicable>
## Changes
<Describe what changed and why>
## Test Plan
- [ ] Unit tests pass
- [ ] Manual testing completed
- [ ] No regressions
---
Generated with [Claude Code](https://claude.ai/code)
Useful Commands
# List your open PRs
gh pr list --author "@me"
# Check PR status
gh pr status
# View specific PR
gh pr view <PR-NUMBER>
# Add reviewers
gh pr edit <PR-NUMBER> --add-reviewer username
# Merge PR (squash)
gh pr merge <PR-NUMBER> --squash
Important Notes
- NEVER force push to main/master
- Always analyze ALL commits in the branch, not just the latest
- If there's a PR template at
.github/pull_request_template.md, use it - Return the PR URL when done so user can access it
Now analyze the current branch and create an appropriate PR.