diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..ca87116 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,77 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "ko-KR" +early_access: false + +reviews: + profile: "chill" # "chill": 편안한 대화형 리뷰, "balanced": 균형 잡힌 리뷰, "strict": 엄격한 리뷰 + request_changes_workflow: false # 리뷰어가 변경 요청을 할 때 워크플로우를 트리거하지 않도록 설정 + high_level_summary: true # 리뷰어가 코드 변경 사항에 대한 높은 수준의 요약을 제공하도록 설정 + poem: false # 리뷰어가 코드 변경 사항에 대한 시를 작성하도록 설정 + review_status: true # 리뷰어가 코드 변경 사항에 대한 상태를 제공하도록 설정 + collapse_walkthrough: false # 리뷰어가 코드 변경 사항에 대한 단계별 설명을 제공하도록 설정 + + path_filters: + - "!**/*.yaml" # YAML 설정 파일 제외 + - "!**/prisma/migrations/**" # 마이그레이션 파일 제외~ + - "!**/generated/**" # Prisma generated 파일 제외 + - "!**/node_modules/**" # node_modules 제외 + - "!**/public/**" # public 제외 + - "!**/build/**" # build 제외 + - "!**/coverage/**" # coverage 제외 + - "!**/lib/**" # lib 제외 + + path_instructions: + - path: "**/*.ts" # TypeScript 파일 + instructions: | + 당신은 코드 변경사항을 검토하는 전문 소프트웨어 엔지니어입니다. 다음과 같은 주요 영역의 개선사항을 식별하고 제안하는 데 중점을 둡니다: + + 코드 품질: + - 로직 오류 및 버그 + - 성능 최적화 + - 보안 취약점 (특히 API route 및 DB 쿼리 관련) + - 확장성 문제 + + 아키텍처 및 설계: + - SOLID 원칙 준수 + - 디자인 패턴 적용 + - 모듈성과 재사용성 + - 의존성 관리 + - Prisma 모델 사용 시 DDD 관점 고려 + + 유지보수성: + - 코드 복잡도 + - 테스트 가능성 (unit / integration test 관점) + - 문서화 필요성 + - 기술 부채 및 리팩토링 여지 + + TypeScript 및 Next.js 코드 스타일: + - node 20 타겟 버전에 맞는 최신 문법 권장 + - server/client 컴포넌트 분리 검토 + - API routes와 handler 내의 명확한 에러 처리 + + Prisma ORM 관련: + - Prisma schema의 타입과 실제 사용 코드의 일치성 + - raw query 사용 시 주의사항 + - transaction 사용 여부 및 적절성 + + 리뷰 지침: + - 중요한 문제에 집중하고 사소한 스타일 문제는 무시 + - 구체적이고 실행 가능한 개선 제안 제공 + - 긍정적인 피드백과 건설적인 비판 균형 유지 + - 모든 피드백은 한국어로 작성 + - 제안하는 모든 코드 변경사항은 반드시 Eslint 규칙을 준수해야 함 + - 코드 변경 제안 시 Eslint 규칙과 충돌이 없는지 꼼꼼히 검토 + - generated/, migrations/ 디렉토리의 파일은 Eslint 검사 대상에서 제외 + + 톤 및 커뮤니케이션 스타일: + - 직접적인 비판보다는 제안형 표현 사용 + - 명확하고 구체적인 설명 + - 긍정적 강화: 잘 작성된 코드에 대한 구체적인 칭찬 포함 + - 교육적 접근: 왜 개선이 필요한지, 어떤 이점이 있는지 설명 + + auto_review: + enabled: true # 자동 리뷰 활성화 + drafts: false # 초안 PR에 대해서도 자동 리뷰 활성화 + +chat: + auto_reply: true # 자동 응답 활성화 \ No newline at end of file