-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
214 lines (187 loc) · 9.36 KB
/
Copy path.coderabbit.yaml
File metadata and controls
214 lines (187 loc) · 9.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
# 한국어 설정 강화
language: 'ko-KR'
early_access: false
# 전체적인 리뷰 설정
reviews:
profile: 'chill'
request_changes_workflow: false
high_level_summary: true
high_level_summary_placeholder: "## 📋 변경사항 요약\n\n{summary}"
poem: false
review_status: false # 영어 상태 메시지 숨김
collapse_walkthrough: false
auto_review:
enabled: true
drafts: true
base_branches:
- '^OPS-.*'
# shadcn/ui 관련 파일 제외 설정
ignore_patterns:
- 'src/shared/ui/shadcn/**'
# 한국어 리뷰를 위한 글로벌 지시사항
instructions: |
이 리뷰는 반드시 PR에서 새로 **추가된 파일**만 검토해주세요.
기존 코드 수정(diff)은 리뷰하지 마세요.
기존 코드에 대한 언급은 허용되지 않습니다.
모든 리뷰 댓글은 반드시 한국어로 작성해주세요.
코드 리뷰 시 다음 사항들을 한국어로 설명해주세요:
- 발견된 이슈와 개선 사항
- 제안하는 해결 방법
- 코드 품질 개선 방향
- 베스트 프랙티스 가이드
리뷰 톤은 정중하고 건설적으로, 초급 개발자도 이해할 수 있도록 친절하게 설명해주세요.
# 경로별 세부 리뷰 지침 (한국어 강화)
path_instructions:
# Next.js App Router 페이지
- path: 'src/app/**/page.tsx'
instructions: |
**반드시 한국어로 리뷰해주세요.**
다음 사항들을 확인하고 한국어로 피드백해주세요:
- Next.js 15 App Router 규칙 준수 여부
- 서버 컴포넌트와 클라이언트 컴포넌트의 적절한 분리
- 메타데이터 API 사용 확인 (generateMetadata 함수)
- loading.tsx, error.tsx 파일 존재 여부
- SEO 최적화 상태 (제목, 설명, 구조화된 데이터)
- 성능 최적화 (이미지, 폰트, 번들 크기)
문제점 발견 시 구체적인 개선 방안을 한국어로 제시해주세요.
# Next.js 레이아웃 파일
- path: 'src/app/**/layout.tsx'
instructions: |
**모든 피드백을 한국어로 작성해주세요.**
다음 요소들을 검토하고 한국어로 설명해주세요:
- HTML 구조와 시맨틱 마크업의 적절성
- 메타데이터 설정의 완전성
- 폰트 최적화 (next/font 사용 여부)
- 전역 스타일 적용 방식의 적절성
- children prop 타입 안정성
# API Routes (App Router)
- path: 'src/app/api/**/*.ts'
instructions: |
**리뷰 댓글은 반드시 한국어로 작성해주세요.**
API 라우트 검토 시 다음 사항들을 한국어로 피드백해주세요:
- NextRequest, NextResponse의 적절한 사용
- HTTP 메서드별 핸들러 분리 상태
- 에러 핸들링과 상태 코드의 정확성
- 입력값 검증 로직 (zod 스키마 사용 권장)
- 인증/권한 확인 로직의 적절성
- 데이터베이스 쿼리 최적화 여부
- CORS 설정 필요성 검토
# FSD Architecture - App Layer
- path: 'src/app/**/*.{ts,tsx}'
instructions: |
**FSD 아키텍처 리뷰를 한국어로 진행해주세요.**
app 레이어 검토 사항:
- FSD 아키텍처 app 레이어 규칙 준수 여부
- 비즈니스 로직이 app 레이어에 포함되지 않았는지 확인
- 다른 레이어에 대한 의존성 규칙 준수 여부
- 글로벌 providers와 초기화 로직만 포함되었는지 확인
위반 사항 발견 시 올바른 구조를 한국어로 제안해주세요.
# FSD Architecture - Features Layer
- path: 'src/features/**/*.{ts,tsx}'
instructions: |
**기능(Features) 레이어 리뷰를 한국어로 작성해주세요.**
확인해야 할 사항들:
- 단일 기능에 대한 완전한 구현 여부
- entities와 shared에만 의존하는지 확인
- 비즈니스 로직의 응집성 검토
- 외부 API 호출 로직의 적절성
- 상태 관리 패턴의 일관성
개선 사항이 있다면 구체적인 해결책을 한국어로 제시해주세요.
# TypeScript 파일 전반
- path: '**/*.{ts,tsx}'
instructions: |
**TypeScript 코드 리뷰를 한국어로 진행해주세요.**
다음 사항들을 한국어로 검토하고 피드백해주세요:
- 엄격한 TypeScript 타입 체크 준수
- any 타입 사용 금지 (필요시 unknown 사용 권장)
- 제네릭과 타입 추론의 적절한 사용
- 인터페이스 vs 타입 별칭의 적절한 선택
- 유니온 타입과 리터럴 타입 활용
- 타입 가드 함수 구현 확인
- 옵셔널 체이닝과 nullish coalescing의 적절한 사용
타입 관련 문제 발견 시 올바른 타입 정의를 한국어로 설명해주세요.
# React 컴포넌트
- path: '**/*.tsx'
instructions: |
**React 컴포넌트 리뷰를 한국어로 작성해주세요.**
검토할 사항들:
- 함수형 컴포넌트 사용 (클래스 컴포넌트 금지)
- React 19 새로운 기능 활용 (use hook, Actions 등)
- Hook 사용의 적절성 (useState, useEffect, useCallback, useMemo)
- Props 인터페이스의 명확한 정의
- 컴포넌트 크기와 복잡도 관리
- 접근성 (a11y) 속성 포함 여부
- 성능 최적화 (memo, useMemo, useCallback의 적절한 사용)
개선점이 있다면 이유와 함께 한국어로 설명해주세요.
# TanStack Query 관련 파일
- path: '**/*query.{ts,tsx}'
instructions: |
**TanStack Query 코드를 한국어로 리뷰해주세요.**
확인할 사항들:
- 쿼리 키 팩토리 패턴 사용 여부 (예: userQueries.all())
- staleTime과 cacheTime의 적절한 설정
- 에러 핸들링 전략 (Error Boundary 연동)
- 낙관적 업데이트 시 롤백 로직 확인
- 쿼리 훅의 적절한 선택 (useQuery, useMutation, useInfiniteQuery)
- enabled 옵션을 통한 조건부 쿼리 실행
- 서버 상태와 클라이언트 상태의 명확한 분리
최적화 방안이 있다면 구체적인 예시와 함께 한국어로 제안해주세요.
- path: '**/*queries.{ts,tsx}'
instructions: |
**TanStack Query 코드를 한국어로 리뷰해주세요.**
확인할 사항들:
- 쿼리 키 팩토리 패턴 사용 여부 (예: userQueries.all())
- staleTime과 cacheTime의 적절한 설정
- 에러 핸들링 전략 (Error Boundary 연동)
- 낙관적 업데이트 시 롤백 로직 확인
- 쿼리 훅의 적절한 선택 (useQuery, useMutation, useInfiniteQuery)
- enabled 옵션을 통한 조건부 쿼리 실행
- 서버 상태와 클라이언트 상태의 명확한 분리
최적화 방안이 있다면 구체적인 예시와 함께 한국어로 제안해주세요.
- path: '**/*api.{ts,tsx}'
instructions: |
**TanStack Query 코드를 한국어로 리뷰해주세요.**
확인할 사항들:
- 쿼리 키 팩토리 패턴 사용 여부 (예: userQueries.all())
- staleTime과 cacheTime의 적절한 설정
- 에러 핸들링 전략 (Error Boundary 연동)
- 낙관적 업데이트 시 롤백 로직 확인
- 쿼리 훅의 적절한 선택 (useQuery, useMutation, useInfiniteQuery)
- enabled 옵션을 통한 조건부 쿼리 실행
- 서버 상태와 클라이언트 상태의 명확한 분리
최적화 방안이 있다면 구체적인 예시와 함께 한국어로 제안해주세요.
# Zustand Store 파일
- path: '**/store/**/*.{ts,tsx}'
instructions: |
**Zustand 스토어 코드를 한국어로 리뷰해주세요.**
검토 사항들:
- 스토어 슬라이스 패턴의 적절한 사용
- 불변성 유지 (immer 미들웨어 사용 권장)
- 액션과 상태의 명확한 분리
- 타입 안전성 확보 (StateCreator 타입 활용)
- persist 미들웨어 사용 시 버전 관리와 마이그레이션
- 스토어 구독 최적화 (선택적 구독)
- 비동기 액션 처리 방식
- 스토어 간 의존성 최소화
문제점 발견 시 개선된 코드 예시를 한국어 설명과 함께 제공해주세요.
- path: '**/stores/**/*.{ts,tsx}'
instructions: |
**Zustand 스토어 코드를 한국어로 리뷰해주세요.**
검토 사항들:
- 스토어 슬라이스 패턴의 적절한 사용
- 불변성 유지 (immer 미들웨어 사용 권장)
- 액션과 상태의 명확한 분리
- 타입 안전성 확보 (StateCreator 타입 활용)
- persist 미들웨어 사용 시 버전 관리와 마이그레이션
- 스토어 구독 최적화 (선택적 구독)
- 비동기 액션 처리 방식
- 스토어 간 의존성 최소화
문제점 발견 시 개선된 코드 예시를 한국어 설명과 함께 제공해주세요.
# 채팅 기능 활성화 (한국어)
chat:
auto_reply: true
# 통합 설정
integrations:
github:
enable_auto_merge: false