Skip to content

MSG-297 feat: 검색 UI 구현 (apps/mobile) #68

MSG-297 feat: 검색 UI 구현 (apps/mobile)

MSG-297 feat: 검색 UI 구현 (apps/mobile) #68

Workflow file for this run

name: Claude PR Review
on:
pull_request:
types: [opened, reopened, ready_for_review, synchronize]
# 같은 PR에 연속 push 시 낡은 diff 기준 리뷰가 중복 완주하지 않도록 이전 실행을 취소
concurrency:
group: claude-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
claude-review:
# 드래프트 PR은 리뷰하지 않음
if: ${{ !github.event.pull_request.draft }}
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# git diff로 베이스 브랜치와 비교하려면 전체 히스토리 필요 (얕은 클론이면 실패)
fetch-depth: 0
- name: Run Claude Code Review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# 진행 상황 추적 코멘트를 액션이 직접 게시 — 도구 호출이 실패해도 결과가 PR에 남는 안전망
track_progress: true
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}
이 PR을 꼼꼼하게 코드 리뷰해줘. 모든 리뷰는 한국어로 작성해줘.
리뷰 관점:
1. **버그 및 로직 오류** - 잘못된 조건문, 엣지 케이스 누락, null/undefined 처리 누락
2. **React/TypeScript 베스트 프랙티스** - 불필요한 리렌더링, 잘못된 훅 사용, any 타입 남용, 타입 안정성
3. **성능** - 무거운 연산의 메모이제이션 누락, 불필요한 의존성, 번들 크기 영향
4. **가독성 및 유지보수성** - 네이밍, 중복 코드, 컴포넌트 분리
5. **보안** - XSS 가능성, 민감 정보 노출
리뷰 방법:
- 변경된 파일은 diff만 보지 말고 Read로 주변 코드까지 확인한 뒤 판단해줘
- 구체적인 문제가 있는 라인에는 mcp__github_inline_comment__create_inline_comment 도구로 인라인 코멘트를 남겨줘
- 심각도를 표시해줘 (🔴 반드시 수정 / 🟡 권장 / 🟢 사소한 제안)
- 문제 지적 시 가능하면 수정 예시 코드를 함께 제시해줘
- 마지막에 전체 요약 코멘트를 반드시 `gh pr comment` 명령으로 게시해줘 (잘한 점 + 주요 이슈 정리). 최종 응답 텍스트로만 쓰고 끝내면 아무도 못 본다
- 확실하지 않은 부분은 추측이라고 명시해줘
claude_args: |
--allowedTools "mcp__github_inline_comment__create_inline_comment,Read,Grep,Glob,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(git diff:*),Bash(git log:*)"