name: create-pull-request description: Create pull requests following project conventions. Use when: (1) creating a PR with gh pr create, (2) writing commit messages, (3) need branch naming guidance. Covers branch naming patterns, PR title/body format, and pre-commit checks.
PR Creation Quick Reference
Branch Naming
| Type | Pattern | Example |
|---|---|---|
| Feature | feature/{description} |
feature/impl-admin-example-api |
| Bugfix | fix/{description} |
fix/example-creation-error |
| Chore | chore/{description} |
chore/update-dependencies |
PR Title
Use English. Be concise and descriptive.
Implement AdminService.GetExample
Add validation for Example create API
Fix null pointer in tenant lookup
PR Body Template
## Proposed Changes
- Brief description of what was changed
## Implementation
{Verification details - curl commands, CLI output, or file changes}
Implementation Section Examples
API Endpoint
## Implementation
### POST /admin/v1/tenants/{tenant_id}/examples
curl -X POST "http://localhost:8080/admin/v1/tenants/xxx/examples" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name": "Test", "description": "Test desc"}'
Response:
{"example": {"id": "xxx", "name": "Test", "created_at": "2025-01-01T00:00:00Z"}}
Non-API Changes
## Implementation
- Updated `internal/domain/model/example.go` with new validation
- Added unit tests in `example_test.go`
- Regenerated mocks with `make generate.mock`
Pre-PR Checklist
make lint.go # Must pass
make test # Must pass
If applicable:
make migrate.up- after DB changesmake generate.buf- after proto changesmake generate.mock- after repository interface changes
Create PR Command
gh pr create --title "Implement feature" --body "$(cat <<'EOF'
## Proposed Changes
- Implemented new feature
## Implementation
{Details}
EOF
)"
Important Notes
- Do NOT add AI attribution (no "Generated with Claude Code" or "Co-Authored-By: Claude")
- Keep commit messages and PR descriptions clean
- Run
self-reviewskill before creating PR to catch issues early