- 커스텀 에이전트 추가 (code-reviewer, development-planner, nextjs-app-developer, starter-cleaner, ui-markup-specialist, prd-generator, prd-validator) - 커스텀 명령어 추가 (git: commit/branch/merge/pr, docs: update-roadmap) - Slack 알림 훅 추가 (notification-hook.sh, stop-hook.sh) - Claude Code 권한 및 MCP 서버 설정 업데이트 - CLAUDE.md 프로젝트 가이드 문서 추가 - Husky pre-commit 훅 설정 (lint-staged 연동)
331 lines
7.7 KiB
Markdown
331 lines
7.7 KiB
Markdown
---
|
|
description: 'GitHub Pull Request를 생성하고 관리합니다'
|
|
allowed-tools:
|
|
[
|
|
'Bash(gh pr:*)',
|
|
'Bash(gh api:*)',
|
|
'Bash(gh repo:*)',
|
|
'Bash(git push:*)',
|
|
'Bash(git status:*)',
|
|
'Bash(git log:*)',
|
|
'Bash(git diff:*)',
|
|
'Bash(git branch:*)',
|
|
'Bash(git fetch:*)',
|
|
]
|
|
---
|
|
|
|
# Claude 명령어: Pull Request
|
|
|
|
GitHub Pull Request를 자동으로 생성하고 관리하는 통합 도구입니다.
|
|
|
|
## 사용법
|
|
|
|
```
|
|
/git:pr # 현재 브랜치로 PR 생성 (대화형)
|
|
/git:pr "PR 제목" # 제목 지정하여 PR 생성
|
|
/git:pr --draft # Draft PR 생성
|
|
/git:pr --ready # Draft PR을 Ready로 전환
|
|
```
|
|
|
|
## 주요 기능
|
|
|
|
### 1. 스마트 PR 생성
|
|
- 커밋 히스토리 기반 제목/설명 자동 생성
|
|
- 변경된 파일 분석으로 PR 유형 자동 분류
|
|
- 브랜치명에서 작업 유형 추출 (feature, fix, docs 등)
|
|
|
|
### 2. 자동 메타데이터 설정
|
|
- 라벨 자동 할당 (feat, fix, docs, breaking-change)
|
|
- 리뷰어 자동 할당 (팀 규칙 기반)
|
|
- 마일스톤 및 프로젝트 연결
|
|
|
|
### 3. 템플릿 기반 PR 설명
|
|
- 체크리스트 자동 생성
|
|
- 변경사항 요약
|
|
- 테스트 계획 포함
|
|
|
|
## 프로세스
|
|
|
|
### PR 생성 전 점검
|
|
1. **브랜치 상태 확인**
|
|
- 현재 브랜치가 최신 상태인지 확인
|
|
- 원격 브랜치 푸시 상태 점검
|
|
- Uncommitted 변경사항 확인
|
|
|
|
2. **변경사항 분석**
|
|
- 수정된 파일 목록 및 통계
|
|
- 추가/삭제된 줄 수 계산
|
|
- 변경 유형 분류 (feature/fix/docs/test)
|
|
|
|
3. **PR 요구사항 검증**
|
|
- 브랜치명 규칙 준수 확인
|
|
- 커밋 메시지 품질 검사
|
|
- 필수 파일 변경 여부 확인
|
|
|
|
### 자동 PR 내용 생성
|
|
1. **제목 생성 규칙**
|
|
```
|
|
브랜치 유형별 제목 패턴:
|
|
feature/user-auth → "✨ feat: 사용자 인증 기능 추가"
|
|
fix/login-bug → "🐛 fix: 로그인 버그 수정"
|
|
docs/readme → "📝 docs: README 문서 업데이트"
|
|
```
|
|
|
|
2. **설명 자동 생성**
|
|
- 커밋 메시지 요약
|
|
- 주요 변경사항 하이라이트
|
|
- 영향도 분석
|
|
|
|
3. **체크리스트 생성**
|
|
- 코드 리뷰 체크리스트
|
|
- 테스트 관련 항목
|
|
- 문서 업데이트 항목
|
|
|
|
### PR 메타데이터 설정
|
|
1. **라벨 자동 할당**
|
|
```
|
|
변경사항 기반 라벨:
|
|
- 새 파일 추가 → "feature"
|
|
- 버그 수정 패턴 → "bug", "fix"
|
|
- 문서 파일 변경 → "documentation"
|
|
- 테스트 파일 → "test"
|
|
- 설정/빌드 파일 → "chore"
|
|
- Breaking Change → "breaking-change"
|
|
```
|
|
|
|
2. **리뷰어 할당**
|
|
- CODEOWNERS 파일 기반 자동 할당
|
|
- 팀 구성원 라운드로빈 할당
|
|
- 파일별 전문가 할당
|
|
|
|
3. **연결 항목**
|
|
- 관련 Issue 자동 연결
|
|
- 마일스톤 할당
|
|
- 프로젝트 보드 추가
|
|
|
|
## PR 템플릿
|
|
|
|
### 기본 PR 템플릿
|
|
```markdown
|
|
## 📋 변경사항 요약
|
|
|
|
[자동 생성된 변경사항 요약]
|
|
|
|
## 🎯 목적 및 배경
|
|
|
|
[브랜치명과 커밋 메시지 기반 목적 설명]
|
|
|
|
## 🔧 주요 변경내용
|
|
|
|
- [ ] [변경사항 1]
|
|
- [ ] [변경사항 2]
|
|
- [ ] [변경사항 3]
|
|
|
|
## ✅ 체크리스트
|
|
|
|
### 코드 품질
|
|
- [ ] 코드가 프로젝트의 스타일 가이드를 따름
|
|
- [ ] Self-review 완료
|
|
- [ ] 적절한 주석 추가
|
|
- [ ] 불필요한 console.log/debug 코드 제거
|
|
|
|
### 테스트
|
|
- [ ] 기존 테스트 모두 통과
|
|
- [ ] 새로운 기능에 대한 테스트 추가
|
|
- [ ] 엣지 케이스 테스트 포함
|
|
|
|
### 문서화
|
|
- [ ] 코드 변경에 따른 문서 업데이트
|
|
- [ ] README.md 업데이트 (필요시)
|
|
- [ ] API 문서 업데이트 (필요시)
|
|
|
|
## 🧪 테스트 방법
|
|
|
|
[테스트 시나리오 및 확인 방법]
|
|
|
|
## 📸 스크린샷 (UI 변경 시)
|
|
|
|
[필요시 Before/After 스크린샷]
|
|
|
|
## 🔗 관련 이슈
|
|
|
|
Closes #[issue-number]
|
|
|
|
## 📝 추가 노트
|
|
|
|
[리뷰어가 알아야 할 추가 정보]
|
|
```
|
|
|
|
### 특화된 템플릿
|
|
|
|
#### Feature PR 템플릿
|
|
- 기능 명세 및 요구사항
|
|
- 사용자 시나리오
|
|
- 성능 영향도 분석
|
|
|
|
#### Bugfix PR 템플릿
|
|
- 버그 재현 방법
|
|
- 근본 원인 분석
|
|
- 수정 방법 설명
|
|
- 회귀 방지 계획
|
|
|
|
#### Documentation PR 템플릿
|
|
- 문서 변경 범위
|
|
- 독자 대상
|
|
- 검토 포인트
|
|
|
|
## 대화형 PR 생성
|
|
|
|
### PR 생성 마법사
|
|
```
|
|
🚀 Pull Request 생성 마법사
|
|
|
|
1. 📊 변경사항 분석 중...
|
|
✅ 파일 15개 변경됨 (+234, -67)
|
|
✅ 브랜치: feature/user-authentication
|
|
✅ 기반 브랜치: main
|
|
|
|
2. 🏷️ PR 유형 자동 감지
|
|
→ ✨ Feature: 새로운 기능 추가
|
|
|
|
3. 📝 PR 제목 제안
|
|
→ "✨ feat: 사용자 인증 시스템 구현"
|
|
|
|
4. 👥 리뷰어 추천
|
|
→ @frontend-team, @security-team
|
|
|
|
5. 🏷️ 라벨 제안
|
|
→ feature, authentication, breaking-change
|
|
|
|
PR을 생성하시겠습니까? (y/N)
|
|
```
|
|
|
|
### 고급 옵션 설정
|
|
```
|
|
⚙️ 고급 설정
|
|
|
|
📋 템플릿 선택:
|
|
1. 기본 템플릿
|
|
2. 기능 개발 템플릿
|
|
3. 버그 수정 템플릿
|
|
4. 문서 업데이트 템플릿
|
|
|
|
🎯 대상 브랜치: main ▼
|
|
👥 리뷰어: @team-frontend ▼
|
|
🏷️ 라벨: feature, ui ▼
|
|
📌 마일스톤: v2.1.0 ▼
|
|
|
|
⭐ 추가 옵션:
|
|
[ ] Draft PR로 생성
|
|
[ ] Auto-merge 활성화
|
|
[ ] 브랜치 자동 삭제 설정
|
|
```
|
|
|
|
## GitHub Actions 통합
|
|
|
|
### 자동 CI/CD 트리거
|
|
- PR 생성 시 자동 빌드 시작
|
|
- 테스트 실행 및 결과 표시
|
|
- 코드 커버리지 리포트
|
|
|
|
### 품질 검사
|
|
- ESLint/Prettier 검사
|
|
- TypeScript 타입 체크
|
|
- 보안 스캔 (Dependabot)
|
|
|
|
### 자동 업데이트
|
|
- 의존성 충돌 자동 해결
|
|
- 코드 포맷팅 자동 적용
|
|
- 라이센스 확인
|
|
|
|
## 고급 기능
|
|
|
|
### PR 상태 관리
|
|
```
|
|
/git:pr --status # PR 상태 확인
|
|
/git:pr --draft # Draft로 전환
|
|
/git:pr --ready # Ready for review로 전환
|
|
/git:pr --merge # 자동 병합 (조건 충족시)
|
|
/git:pr --close # PR 닫기
|
|
```
|
|
|
|
### 배치 작업
|
|
```
|
|
/git:pr --sync-all # 모든 PR 상태 동기화
|
|
/git:pr --cleanup # 병합된 PR의 브랜치 정리
|
|
/git:pr --update-all # 모든 PR을 최신 베이스로 업데이트
|
|
```
|
|
|
|
### 분석 및 리포트
|
|
```
|
|
/git:pr --analytics # PR 분석 리포트
|
|
/git:pr --conflicts # 충돌 발생 PR 목록
|
|
/git:pr --reviews # 리뷰 대기 중인 PR 목록
|
|
```
|
|
|
|
## 팀 협업 기능
|
|
|
|
### 코드 리뷰 지원
|
|
- 리뷰 요청 자동 알림
|
|
- 리뷰 완료 상태 추적
|
|
- 승인 조건 자동 체크
|
|
|
|
### 프로젝트 관리 연동
|
|
- Jira/Linear 이슈 연동
|
|
- 스프린트 보드 업데이트
|
|
- 작업 시간 추적
|
|
|
|
## 보안 및 권한
|
|
|
|
### 권한 관리
|
|
- PR 생성 권한 확인
|
|
- 브랜치 보호 규칙 준수
|
|
- 리뷰 승인 요구사항 체크
|
|
|
|
### 보안 검사
|
|
- 시크릿 정보 누출 검사
|
|
- 의존성 보안 스캔
|
|
- 라이센스 호환성 확인
|
|
|
|
## 사용 예시
|
|
|
|
### 기본 PR 생성
|
|
```
|
|
/git:pr
|
|
# 대화형으로 PR 생성
|
|
|
|
/git:pr "사용자 인증 기능 구현"
|
|
# 제목 지정하여 PR 생성
|
|
```
|
|
|
|
### 특수 옵션 사용
|
|
```
|
|
/git:pr --draft --reviewer="@team-lead"
|
|
# Draft PR로 생성하고 특정 리뷰어 지정
|
|
|
|
/git:pr --template=bugfix --label="urgent"
|
|
# 버그 수정 템플릿 사용하고 urgent 라벨 추가
|
|
```
|
|
|
|
## 문제 해결
|
|
|
|
### 자주 발생하는 문제
|
|
|
|
1. **GitHub CLI 인증 오류**
|
|
- `gh auth login` 실행 안내
|
|
- 토큰 권한 확인
|
|
|
|
2. **브랜치 푸시 오류**
|
|
- 원격 브랜치 생성
|
|
- 권한 문제 해결
|
|
|
|
3. **PR 생성 실패**
|
|
- 중복 PR 확인
|
|
- 베이스 브랜치 확인
|
|
|
|
### 복구 방법
|
|
- 실패한 PR 재생성
|
|
- 메타데이터 수동 수정
|
|
- 템플릿 재적용
|
|
|
|
이 커맨드는 GitHub Pull Request 생성의 모든 과정을 자동화하면서도 팀의 워크플로우에 맞게 커스터마이징할 수 있습니다. |