Create Pull Request
You are helping the user create a pull request that follows ClaudeForge conventions.
Workflow
Detect Current Branch
CURRENT_BRANCH=$(git branch --show-current) echo "Current branch: $CURRENT_BRANCH"Determine Target Branch
- If current branch starts with
feature/,fix/,hotfix/,test/,refactor/,docs/:- Target:
dev
- Target:
- If current branch is
dev:- Target:
main(release PR)
- Target:
- Otherwise: Ask user
- If current branch starts with
Validate Branch Name
- Check if branch follows convention
- If not, suggest renaming:
git branch -m feature/new-name
Check for Uncommitted Changes
git status --short- If changes exist, suggest committing first
Push Branch (if needed)
git push -u origin $CURRENT_BRANCHGenerate PR Title
- Based on commits since target branch
- Must follow Conventional Commits format
- Examples:
feat(installer): add Windows PowerShell supportfix(skill): correct template selection logicdocs: update installation guide
Generate PR Description
Use PR template format:
## Description [Describe changes] ## Type of Change - [x] [Selected type] ## Related Issues Closes #[issue number] ## Changes Made - Change 1 - Change 2 ## Testing Performed - [x] Tested installation - [x] Tested slash command ...Create PR
gh pr create \ --base [target branch] \ --title "[PR title]" \ --body "[PR description]"Or for draft:
gh pr create --draft \ --base [target branch] \ --title "[PR title]" \ --body "[PR description]"Post-Creation
- Show PR URL
- Explain what workflows will run:
- For PR to dev:
pr-into-dev.yml - For PR to main:
dev-to-main.yml
- For PR to dev:
- Link to workflow documentation
Validation Checklist
Before creating PR, verify:
- ✅ Branch name follows convention
- ✅ PR title follows Conventional Commits
- ✅ At least one issue referenced
- ✅ All changes committed and pushed
- ✅ Target branch is correct
Examples
Feature PR to dev:
gh pr create \
--base dev \
--title "feat(skill): add Rust template support" \
--body "## Description
Adds Rust project template with Cargo.toml detection and
appropriate CLAUDE.md generation.
## Type of Change
- [x] New feature
## Related Issues
Closes #42
## Changes Made
- Add Rust template in skill/examples/
- Update template_selector.py with Rust detection
- Add Rust-specific validation rules
## Testing Performed
- [x] Tested on sample Rust project
- [x] Validated template output
- [x] Python syntax checks pass"
Release PR (dev to main):
gh pr create \
--base main \
--title "release: v1.1.0" \
--body "## Description
Release version 1.1.0 with new features and bug fixes.
## Changes in This Release
- feat(skill): Rust template support
- feat(installer): Windows improvements
- fix(skill): Template selection bugs
- docs: Updated installation guide
## Related Issues
Closes #42, #45, #48
## CHANGELOG
See CHANGELOG.md for full details.
## Testing
- [x] All quality gates pass
- [x] Tested installation on macOS, Linux, Windows
- [x] Tested all new features"
Workflow Triggers
PR to dev:
- Validates branch name (must be feature/, fix/, etc.)
- Validates PR title (Conventional Commits)
- Checks for linked issues
- Runs quality gates (Python, Markdown, Bash, secrets)
PR to main:
- Validates source branch (must be dev, release/, or dependabot/)
- Checks CHANGELOG.md updated
- Validates production build
- Runs full quality gates
Success Output
Show user:
- PR URL
- Workflow status link
- Next steps (wait for CI, request review)
- Link to relevant docs (GITHUB_WORKFLOWS.md, BRANCHING_STRATEGY.md)
Provide clear guidance and actual commands user can run.