| description | Use when local changes pass A-E quality checks, lessons-learned review, and are under 500 lines of production code, ready for gh pr create. |
| name | create-pr |
| trigger | PR ์์ฑ, ํ ๋ฆฌํ์คํธ ๋ง๋ค๊ธฐ, push and create PR, gh pr create, ๋ธ๋์น ๋ง๋ค๊ณ PR, PR ์ฌ๋ฆฌ๊ธฐ, create pull request, make PR, ship code, PR ์์ฑ ๋ฐ ํธ์, ๋ธ๋์น ๋ถ๊ธฐ ํ PR, PR quality check, submit PR, raise PR, ๋ธ๋์น๋ถํฐ PR ๊น์ง, ์ฝ๋ ํธ์ ํ PR, open pull request, submit pull request, ship to review, ์ด์ ์ฐ๋ PR, ์ปค๋ฐ ํ PR, PR ํ
ํ๋ฆฟ ์์ฑ, ์๊ฐ ์ ๊ฒ ํ PR, ํ์ง ๊ฒ์ดํธ ํต๊ณผ PR, HXSK ์ปจํ
์คํธ PR, PR ํฌ๊ธฐ ๋ถ๋ฆฌ ํ ์์ฑ, ๋ธ๋์น ์์ฑ ๋ฐ PR, git push and pr, create pr from branch, pr with quality check, submit code for review |
Quick Reference
- PR ํฌ๊ธฐ: ํ๋ก๋์
์ฝ๋ 500 ์ค ์ด๊ณผ ์ ๋ฐ๋์ ๋ถ๋ฆฌ (Large/XL ๋ฐฉ์ง)
- ์ด์ ์ฐ๋: ๋ธ๋์น๋ช
/์ ๋ชฉ์ ์ด์ ๋ฒํธ ํ์ ํฌํจ (์๋ฌธ ์๋ฌธ์ + ํ์ดํ)
- ํ์ ์น์
: PR Body ์ Summary, Changes, Test Plan, HXSK Context ๋ช
์
- ํ์ง ๊ฒ์ดํธ: A-E ํ์ง ์ ๊ฒ (์ฝ๋/๋ฌธ์ ์ ํฉ, ํ
์คํธ, ๋ฆฌ์์ค ๋ฑ) ์ ํต๊ณผ ํ์
- ์์ฑ ์ ์ :
lessons-learned ์กฐํ ๋ฐ ์๊ฐ ์ ๊ฒ ์๋ฃ ์ฌ๋ถ ํ์ธ
Iron Laws
NO PR CREATION WITHOUT BRANCH CREATION FROM MAIN FIRST
NO PR CREATION WITHOUT PASSING SELF-QUALITY CHECKS FIRST
NO PR CREATION WITHOUT SPLITTING CHANGES (>500 LINES) FIRST
NO PUSH WITHOUT RUNNING PRE-COMMIT CHECKS FIRST
NO MERGE WITHOUT PLAN-IMPLEMENTATION CONSISTENCY FIRST
NO PR CREATION WITHOUT ISSUE NUMBER IN TITLE FIRST
NO PR CREATION WITHOUT MANDATORY BODY SECTIONS (SUMMARY, CHANGES, TEST PLAN, HXSK CONTEXT) FIRST
NO PR CREATION WITHOUT LESSONS-LEARNED REVIEW FIRST
NO COMMIT WITHOUT CONVENTIONAL EMOJI STYLE FIRST
Workflow
Step 1: Analyze Current State
git status
git branch --show-current
git log --oneline -10
git diff --stat
git diff --cached --stat
Step 2: Create Branch (if on main/master)
If on main branch, create a feature branch:
git checkout -b feat/add-user-auth
Branch naming conventions:
feature/{issue-number}-{description} โ New features
bugfix/{issue-number}-{description} โ Bug fixes
refactor/{issue-number}-{description} โ Refactoring
docs/{issue-number}-{description} โ Documentation
release/v{version} โ Release preparation
For HXSK phases (์ด์ ์๋ ๊ฒฝ์ฐ):
feat/<description> or phase-1/implement-auth
๊ท์น: ์ด์ ๋ฒํธ ํฌํจ ํ์, ์๋ฌธ ์๋ฌธ์ + ํ์ดํ๋ง ์ฌ์ฉ
Step 3: Stage and Commit
Use the commit skill logic to:
- Run pre-commit checks (shellcheck for shell scripts)
- Analyze diff for logical splits
- Create conventional emoji commits
Step 4: Push to Remote
git push -u origin $(git branch --show-current)
Step 5: Create Pull Request
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
<1-3 bullet points describing the changes>
## Changes
<list of key changes with file references>
## Test Plan
- [ ] Quality checks pass (shellcheck for shell scripts)
- [ ] Manual verification completed
- [ ] <specific manual verification steps>
## HXSK Context
- Phase: <N>
- Plans: <list of completed plans>
- SPEC reference: `.hxsk/SPEC.md`
EOF
)"
PR Title Format
Follow conventional commit style:
feat(auth): add JWT-based authentication
fix(api): resolve race condition in connection pool
refactor(models): extract validation into shared module
Keep under 70 characters.
PR Body Guidelines
- Summary: What changed and why (not how โ the diff shows how)
- Changes: Key files/modules affected
- Test Plan: How to verify the changes work
- HXSK Context: Phase/plan reference for traceability
PR ํฌ๊ธฐ ๊ฐ์ด๋๋ผ์ธ
| ํฌ๊ธฐ | ํ๋ก๋์
์ฝ๋ | ๊ธฐ์ค |
|---|
| Small | ~200 lines | ๋ชฉํ |
| Medium | ~500 lines | ํ์ฉ |
| Large | ~1,000 lines | ๋ถ๋ฆฌ ๊ฒํ |
| XLarge | 1,000+ lines | ๋ฐ๋์ ๋ถ๋ฆฌ |
PR ์์ฑ ์ ์๊ฐ ์ ๊ฒ
๋ฒ์ / ํฌ๊ธฐ
A/B/C/D/E ํ์ง ์ ๊ฒ (REQUIRED)
๋จผ์ lessons-learned ์กฐํ:
bash .hxsk/hooks/md-recall-memory.sh "pr quality check lessons-learned" \
"." 10 compact
A. ์ฝ๋ โ ๋ฌธ์ ์ ํฉ
B. ํ
์คํธ ํ์ง
C. ์ํ ๋๊ธฐํ / ์๋ฏธ๋ก
D. Resource / Lifecycle
E. Forward-compat
์คํจ ํญ๋ชฉ ๋ฐ๊ฒฌ ์: ์์ โ ์ฌ๊ฒ์ฆ โ ์ ํญ๋ชฉ ํต๊ณผ ํ PR ์์ฑ.
Merge ์ ๋ต
| ์ํฉ | ๋ฐฉ์ |
|---|
| feature/bugfix โ develop | Squash and merge |
| develop โ main (๋ฆด๋ฆฌ์ฆ) | Merge commit |
| hotfix โ main | Merge commit |
์์ธ ์ปจ๋ฒค์
: .hxsk/docs/CONVENTIONS.md ์น์
5 ์ฐธ์กฐ
Multi-Phase PRs
When a PR spans multiple HXSK plans:
## HXSK Context
- Phase 1, Plans 1-3: User authentication
- Plan 1.1: Database schema + User model
- Plan 1.2: Login/register endpoints
- Plan 1.3: JWT middleware + route protection
Output
After PR creation, report:
PR_CREATED: #<number>
URL: <url>
BRANCH: <branch-name>
COMMITS: <count>
๋ค์ดํฐ๋ธ ๋๊ตฌ ํ์ฉ
PR ๋ณธ๋ฌธ ์์ฑ์ git ๋ช
๋ น๊ณผ ๋ค์ดํฐ๋ธ ๋๊ตฌ๋ก ์ํ:
git log --oneline origin/main..HEAD
git diff --stat origin/main..HEAD
gh pr create --title "{title}" --body "{body}"