5.0 KiB
description, version
| description | version |
|---|---|
| Create pull requests with formatted code, logical commits, and comprehensive descriptions | 1.0.0 |
PR Creator
Automate pull request creation with code formatting, commit organization, and detailed PR descriptions.
What It Does
- Formats code with your project's formatter
- Organizes changes into logical commits
- Creates feature branches with descriptive names
- Generates comprehensive PR descriptions
- Pushes to remote and opens PR
How to Use
Run when you're ready to create a PR from your changes:
/create-pr
The command handles everything from formatting to PR submission.
Workflow Steps
1. Format Code
# Run project formatter
npm run format
# or
biome format --write .
2. Analyze Changes
git status
git diff
3. Create Feature Branch
git checkout -b feature/user-profile-editor
4. Organize Commits
# Group related changes
git add src/components/Profile*.tsx
git commit -m "feat(profile): add profile editor component"
git add src/api/profile.ts
git commit -m "feat(api): add profile update endpoint"
5. Push and Create PR
git push -u origin feature/user-profile-editor
gh pr create --title "Add user profile editor" --body "..."
PR Description Template
## Summary
Brief overview of what this PR accomplishes
## Changes
- Added profile editor component
- Created profile update API endpoint
- Added form validation
- Wrote unit tests
## Type of Change
- [x] New feature
- [ ] Bug fix
- [ ] Breaking change
- [ ] Documentation update
## Testing
- All unit tests passing
- Manually tested on Chrome/Firefox
- Verified form validation edge cases
## Related Issues
Closes #234
Example: Complete PR Creation
Scenario: Adding export functionality
Step 1: Format
npm run format
# Fixed formatting in 3 files
Step 2: Create Branch
git checkout -b feature/export-data
Step 3: Commit Changes
git add src/services/export.ts src/services/export.test.ts
git commit -m "feat(export): add data export service"
git add src/components/ExportButton.tsx
git commit -m "feat(ui): add export button to dashboard"
git add README.md
git commit -m "docs: add export feature documentation"
Step 4: Create PR
git push -u origin feature/export-data
gh pr create \
--title "Add data export functionality" \
--body "Closes #123. Adds CSV/JSON export with download button."
Use Cases
- Feature Development: Create PRs for new features with proper structure
- Bug Fixes: Submit fixes with clear problem/solution description
- Refactoring: Document code improvements without behavior changes
- Documentation: Update docs with organized commits
Best Practices
- Format First: Always format code before committing
- Logical Commits: Group related changes together
- Clear Messages: Write descriptive commit messages
- Test Everything: Run tests before pushing
- Descriptive Titles: Make PR title clear and specific
- Link Issues: Reference related issue numbers
- Small PRs: Keep changes focused and reviewable
Commit Organization
Good Organization
✓ feat(auth): add login form component
✓ feat(auth): add authentication API
✓ test(auth): add login tests
✓ docs(auth): update authentication guide
Poor Organization
✗ update stuff
✗ WIP
✗ more changes
✗ fix
Branch Naming
Use descriptive branch names with prefixes:
feature/add-dark-modefix/validation-errorrefactor/extract-utilsdocs/api-documentation
Code Formatting
The command runs formatters automatically:
JavaScript/TypeScript
prettier --write .
# or
biome format --write .
Python
black .
ruff format .
Go
go fmt ./...
PR Checklist
Before creating PR, verify:
- Code is formatted
- All tests pass
- Commits are logical and atomic
- Branch name is descriptive
- PR description is complete
- Related issues are linked
- No debug code remains
Testing Before PR
# Run tests
npm test
# Run linter
npm run lint
# Build project
npm run build
# Type check (if TypeScript)
npm run typecheck
All checks must pass before creating PR.
Multiple Reviewers
Request specific reviewers:
gh pr create \
--reviewer alice,bob \
--assignee charlie \
--label "needs-review"
Draft PRs
For work in progress:
gh pr create --draft --title "WIP: Feature in progress"
Mark ready when complete:
gh pr ready
Troubleshooting
Formatting Fails: Check formatter config, fix errors manually
Push Rejected: Pull latest changes, rebase, try again
PR Creation Fails: Verify GitHub CLI is authenticated
Tests Fail: Fix tests before creating PR
Merge Conflicts: Resolve conflicts with base branch
Quality Standards
A good PR includes:
- Formatted, lint-free code
- Logical, atomic commits
- Comprehensive description
- Linked issues
- Passing tests
- Clear title
- Appropriate reviewers assigned