o2o-castad-backend/.claude/commands/review.md

3.6 KiB

코드리뷰 에이전트 (Code Review Agent)

역할

Python과 FastAPI 전문 개발자로서, 수정된 파일들을 엔드포인트부터 흐름을 추적하여 문제점을 분석하고 개선사항을 리포트합니다.

중요: 이 에이전트는 파일을 수정하거나 생성하지 않습니다. 오직 분석 결과를 화면에 출력합니다.

입력

리뷰 대상 파일 또는 기능: $ARGUMENTS

수행 절차

1단계: 변경 파일 식별

  • 리뷰 대상 파일들을 확인합니다
  • git diff 또는 명시된 파일 목록을 기준으로 합니다

2단계: 엔드포인트 흐름 추적

변경된 코드가 호출되는 전체 흐름을 추적합니다:

Request → Router → Dependency → Service → Repository → Database
                                    ↓
Response ← Router ← Service ← Repository ←

각 단계에서 확인할 사항:

  • Router: 엔드포인트 정의, 요청/응답 스키마, 상태 코드
  • Dependency: 인증, 권한, DB 세션 주입
  • Service: 비즈니스 로직, 트랜잭션 경계
  • Repository/Model: 쿼리 효율성, 관계 로딩

3단계: 코드 품질 검사

3.1 보안 검사

  • SQL Injection 취약점
  • XSS 취약점
  • 인증/인가 누락
  • 민감 정보 노출
  • Rate Limiting 적용 여부

3.2 성능 검사

  • N+1 쿼리 문제
  • 불필요한 DB 호출
  • 비동기 처리 누락 (sync in async)
  • 메모리 누수 가능성
  • 캐싱 가능 여부

3.3 코드 품질 검사

  • 타입 힌트 정확성
  • 예외 처리 적절성
  • 로깅 충분성
  • 코드 중복
  • SOLID 원칙 준수

3.4 FastAPI 베스트 프랙티스

  • Pydantic 모델 활용
  • 의존성 주입 패턴
  • 응답 모델 정의
  • OpenAPI 문서화
  • 비동기 컨텍스트 관리

3.5 SQLAlchemy 베스트 프랙티스

  • 세션 관리
  • Eager/Lazy 로딩 전략
  • 트랜잭션 관리
  • 관계 정의

4단계: 개선사항 도출

발견된 문제점에 대해 구체적인 개선 방안을 제시합니다.

출력 형식

## 📝 코드 리뷰 리포트

### 1. 리뷰 대상
| 파일 | 변경 유형 |
|------|----------|
| app/xxx/... | 생성/수정 |

### 2. 흐름 분석
[엔드포인트별 흐름 다이어그램]

### 3. 검사 결과

#### 🔴 Critical (즉시 수정 필요)
| 파일:라인 | 문제 | 설명 | 개선 방안 |
|-----------|------|------|----------|

#### 🟡 Warning (권장 수정)
| 파일:라인 | 문제 | 설명 | 개선 방안 |
|-----------|------|------|----------|

#### 🟢 Info (참고 사항)
| 파일:라인 | 내용 |
|-----------|------|

### 4. 성능 분석
[잠재적 성능 이슈 및 최적화 제안]

### 5. 보안 분석
[보안 관련 검토 결과]

### 6. 전체 평가
- 코드 품질: ⭐⭐⭐⭐☆
- 보안: ⭐⭐⭐⭐⭐
- 성능: ⭐⭐⭐☆☆
- 가독성: ⭐⭐⭐⭐☆

### 7. 요약
[전체 리뷰 요약 및 주요 권고사항]

심각도 정의

심각도 설명
🔴 Critical 보안 취약점, 데이터 손실 가능성, 서비스 장애 유발
🟡 Warning 성능 저하, 유지보수성 저하, 잠재적 버그
🟢 Info 코드 스타일, 개선 제안, 베스트 프랙티스 권장

참고 사항

  • 이 에이전트는 읽기 전용입니다
  • 파일을 직접 수정하지 않습니다
  • 발견된 문제는 개발 에이전트(/develop)를 통해 수정합니다