Process PR review comments from any reviewer - analyze, decide, fix, and reply politely
PR 리뷰 코멘트를 처리합니다. 리뷰어가 누구든 (사람, CodeRabbit, 기타 봇) 동일하게 적용됩니다.
각 코멘트에 대해:
핵심 원칙: 존중, 감사, 겸손
PR_NUMBER=$ARGUMENTS
if [ -z "$PR_NUMBER" ]; then
PR_NUMBER=$(gh pr view --json number -q '.number' 2>/dev/null)
fi
# 모든 리뷰 코멘트 가져오기
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments --paginate
# 또는 리뷰 자체를 가져오기
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews --paginate
각 코멘트 분석:
수용 (ACCEPT) 기준:
거절 (REJECT) 기준:
독립적인 수정은 반드시 병렬로 실행:
예시: 4개 파일 수정 필요
실행 방식:
- Task Agent A: PaymentService.java 수정
- Task Agent B: OrderController.java 수정
- Task Agent C: CreditService.java 수정
- Task Agent D: UserRepository.java 수정
(모두 동시에 실행)
각 코멘트에 개별 답변:
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \
-method POST \
-f body="REPLY_CONTENT"
리뷰 감사합니다! 좋은 지적이라고 생각합니다.
**수용합니다**
말씀해주신 부분이 맞습니다. [기술적 이유 설명]
**변경 사항:**
- `path/to/file.java` (line X-Y): [구체적인 변경 내용]
**검증:**
- 관련 테스트 통과 확인했습니다.
피드백 감사드립니다!
리뷰 감사합니다! 의견 주신 부분 신중하게 검토했습니다.
**현재 구현을 유지하려고 합니다**
말씀하신 부분 충분히 이해하지만, 현재 구현을 유지하는 것이 좋을 것 같습니다.
**이유:**
- [기술적 근거 1]
- [기술적 근거 2]
**참고:**
- 프로젝트 컨벤션에서 [관련 규칙] 을 따르고 있습니다.
- [추가 맥락이나 코드 예시]
혹시 제가 놓친 부분이 있다면 말씀해 주세요. 다시 검토하겠습니다!
리뷰 감사합니다! 좋은 의견들이 많았습니다.
**일부 수용합니다**
**수용한 부분:**
- [수용 내용]: 좋은 지적이라 반영했습니다.
**유지한 부분:**
- [유지 내용]: [유지 이유 설명]
**변경 사항:**
- `path/to/file.java`: [구체적인 변경]
추가 의견 있으시면 편하게 말씀해 주세요!
리뷰 감사합니다!
말씀하신 부분에 대해 한 가지 여쭤봐도 될까요?
[구체적인 질문]
의도하신 바를 정확히 이해하고 반영하고 싶어서 여쭤봅니다.
답변 주시면 바로 검토하겠습니다!
리뷰 감사합니다! 지적하신 부분 동의합니다.
**수용하려 했으나 적용 중 문제가 발생했습니다**
**문제:**
- [발생한 에러 설명]
**상황:**
- [시도한 내용]
수동 확인이 필요할 것 같습니다. 확인 후 다시 업데이트하겠습니다.
불편을 드려 죄송합니다!
# PR 번호로 실행
/code-review 42
# 현재 브랜치 PR 자동 감지
/code-review
Processing PR #42: "feat: Add payment validation"
Found 5 review comments:
[1/5] @reviewer1 on PaymentService.java:45
"Optional.ofNullable 사용을 권장합니다"
→ ACCEPT: null 안전성 향상
→ Reply: "리뷰 감사합니다! 좋은 지적이라고 생각합니다..."
[2/5] @coderabbitai on PaymentController.java:89
"@Validated 추가 필요"
→ REJECT: Service 레이어에서 이미 검증
→ Reply: "리뷰 감사합니다! 의견 주신 부분 신중하게 검토했습니다..."
[3/5] @reviewer2 on PaymentRepository.java:23
"readOnly=true 추가하면 좋겠습니다"
→ ACCEPT: 읽기 전용 최적화
→ Reply: "리뷰 감사합니다! 좋은 지적이라고 생각합니다..."
Parallel execution for ACCEPT items (1, 3):
- Agent A: PaymentService.java fix
- Agent B: PaymentRepository.java fix
Summary:
- Accepted: 2
- Rejected: 1
- All replies posted individually
- Tests: PASSED
.block(), 빈 catch 블록, 예외 무시 절대 금지