PR Creator
Create or update pull requests with auto-generated conventional commits and descriptions. Supports both standard Git + GitHub CLI (default) and Graphite workflows.
What It Does
- Analyze Diff: Run
git diff origin/<target>...HEADto inspect all changed files - Detect Change Type: Classify as feat, fix, refactor, etc. based on the diff
- Generate Commit: Use
commit-message-generator-agentto draft a conventional commit message, then ask user to confirm before staging/committing - Create PR Title:
<type>(<scope>): <description> - Write Description: Comprehensive PR body (summary, modified files, testing notes, linked issues)
- Submit: Use
gt submit(Graphite) orgh pr create(default)
Error Handling
- No changes / no commits ahead of target: Stop and inform the user — there is nothing to submit
- PR already exists for this branch: Switch to update mode; run
git pushto publish the latest commits (usegt submitfor Graphite). If the PR title or body also need updating, read the live body first (gh pr view <n> --json body -q .body) and edit from it — never regenerate the body from scratch. The author may have hand-edited the description or pasted images/screenshots () that exist only in the live body, not in any file; overwriting silently destroys them. Splice your change into the current body and apply withgh pr edit <n> --body-file <tmp>. - User rejects commit message: Re-generate with user-provided guidance, then confirm again before proceeding
Conventional Commit Types
| Type | Use |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation |
style |
Formatting |
refactor |
Code restructure |
perf |
Performance |
test |
Tests |
build |
Build system |
ci |
CI config |
chore |
Maintenance |
PR Description Includes
- Summary of changes
- List of modified files with rationale
- Testing information
- Related issues
Commit Policy
Always asks user before committing. Never auto-commits.
Options
- Custom target branch (default: main)
- Breaking change detection
- Issue linking
- PR creation method: standard git + GitHub CLI (default) or Graphite (
--use-graphite) - Stack-aware creation (only with Graphite)
- Update existing vs create new
Examples
"Create a PR for these changes"
"Submit this for review"
"Create PR and link to issue #123"
"Mark as breaking change due to API updates"
Output
Provides PR URL after creation for review.