claude review 명령어, GitHub Actions PR 자동 리뷰, 커스텀 리뷰 규칙 설정. 코드 품질과 보안 이슈를 CI에서 자동으로 잡는 방법.
Claude Code 가이드 #15 — PR을 올릴 때마다 팀원에게 리뷰를 요청하는 대신, Claude Code가 자동으로 코드를 검토하게 할 수 있습니다. 이 편에서는 claude review 명령어부터 GitHub Actions를 통한 PR 자동 리뷰 파이프라인, 커스텀 리뷰 규칙 설정까지 실전 기준으로 정리합니다.
claude review는 현재 브랜치의 변경 사항을 Claude Code가 분석하고 코드 품질, 보안 취약점, 스타일 위반 사항을 보고하는 명령어입니다.
로컬에서 직접 실행하면 즉시 리뷰 결과를 확인할 수 있습니다.
리뷰 항목
설명
코드 품질
중복 로직, 불필요한 복잡도, 네이밍 컨벤션
보안
SQL 인젝션, XSS, 하드코딩된 시크릿 감지
성능
N+1 쿼리, 불필요한 루프, 메모리 누수 패턴
테스트
테스트 커버리지 갭, 엣지 케이스 누락
타입 안전성
TypeScript 타입 에러, any 사용 여부
Claude Code 가이드 #15 — Code Review 자동화 — CLI 실행 화면과 출력 결과 (출처: 공식 문서 및 벤치마크 데이터 기반)
로컬에서 claude review 실행
# 현재 브랜치의 변경 사항 리뷰
claude review
# 특정 파일만 리뷰
claude review src/auth/login.ts
# 특정 커밋 범위 리뷰
claude review HEAD~3..HEAD
# main 브랜치 대비 전체 diff 리뷰
claude review main..HEAD
Claude Code 가이드 #15 — Code Review 자동화 — claude review 명령어 실행 화면과 리뷰 결과 출력 (출처: 공식 문서 및 벤치마크 데이터 기반)
📌 참고:claude review는 git diff를 기반으로 동작합니다. 스테이징되지 않은 변경 사항(untracked files)은 리뷰 대상에 포함되지 않으므로, 전체 변경 사항을 보려면 먼저 git add로 스테이징하거나 범위를 명시적으로 지정하세요.
GitHub Actions PR 자동 리뷰 설정
GitHub Actions 워크플로우에 Claude Code를 통합하면 PR이 열릴 때마다 자동으로 리뷰 코멘트가 달립니다. 설정은 크게 두 단계입니다.
GitHub Secret 설정:ANTHROPIC_API_KEY를 레포 시크릿에 추가
워크플로우 파일 작성:.github/workflows/claude-review.yml 생성
⚠️ 막히는 케이스: PR을 업데이트할 때마다 리뷰 코멘트가 중복으로 달린다 — --output github-pr-comment 옵션은 기본적으로 새 코멘트를 추가합니다. 기존 코멘트를 업데이트하려면 --output github-pr-comment-update 옵션을 사용하세요. 이 옵션은 Claude Code가 이전에 남긴 코멘트를 찾아서 덮어씁니다.
보안 스캔과 CI 게이팅 통합
Claude Code 리뷰를 단순 코멘트가 아니라 CI 게이팅으로 활용할 수 있습니다. 보안 이슈가 발견되면 PR 머지를 막는 방식입니다.
이 패턴은 다음 시나리오에 적합합니다:
하드코딩된 API 키, 패스워드 감지 시 즉시 차단
특정 파일(예: 결제 모듈) 변경 시 강화 리뷰 필수
보안 취약점 등급(HIGH, CRITICAL)에 따라 머지 차단
보안 이슈 발견 시 CI 실패 처리
- name: Run security-focused review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
REVIEW_RESULT=$(claude review \
--focus security \
--severity-threshold high \
--output json)
echo "$REVIEW_RESULT" | jq '.issues[] | select(.severity == "critical" or .severity == "high")' > critical_issues.json
if [ -s critical_issues.json ]; then
echo "Critical security issues found:"
cat critical_issues.json
exit 1 # CI 실패 처리
fi
echo "No critical security issues found."
--severity-threshold high로 설정하면 HIGH 이상 심각도의 이슈만 보고합니다. --output json으로 결과를 JSON 형식으로 받아 jq로 파싱하면 자동화 처리가 용이합니다.
⚠️ 막히는 케이스:--output json으로 받은 결과가 비어 있다 — Claude Code 버전이 오래됐을 때 발생합니다. npm update -g @anthropic-ai/claude-code로 최신 버전으로 업데이트하세요. Actions 캐시에 구버전이 남아 있는 경우라면 actions/cache 키를 변경해서 캐시를 무효화하세요.
Claude Code 가이드 #15 — Code Review 자동화 — 보안 스캔과 CI 게이팅 통합 흐름도 (출처: 공식 문서 및 벤치마크 데이터 기반)
실전 코드 리뷰 자동화 팁
Claude Code 리뷰를 팀에 안착시키기 위한 실전 팁입니다.
초안 리뷰 vs 최종 리뷰 분리
PR 생성 시(opened)에는 전체 리뷰, 업데이트(synchronize) 시에는 변경된 파일만 리뷰하는 방식으로 비용과 속도를 최적화할 수 있습니다.
LGTM 자동 처리
Claude Code가 이슈를 전혀 발견하지 못한 경우 자동으로 "LGTM" 코멘트를 달도록 설정하면, 리뷰 없이 머지된 것처럼 보이는 문제를 방지할 수 있습니다.
리뷰 결과 요약 Slack 알림
Critical 이슈가 발견됐을 때 Slack으로 알림을 보내면 팀원이 빠르게 대응할 수 있습니다.
요약 및 관련 편
정리하면:
claude review로 로컬에서 즉시 코드 리뷰 가능 — git diff 기반으로 동작