-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
122 lines (107 loc) · 3.67 KB
/
.coderabbit.yaml
File metadata and controls
122 lines (107 loc) · 3.67 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
language: 'ko-KR'
early_access: true
tone_instructions: |
1. 피드백은 명확하고 구체적으로 작성하고, 문제 원인과 개선 방법을 함께 제시하세요.
2. 리뷰는 교육적인 방향을 지향하며, 관련 공식 문서 링크를 함께 추천하세요.
3. 비판보다는 개선 제안을 우선하세요.
4. 칭찬은 짧고 위트 있게 작성하세요.
reviews:
profile: chill
request_changes_workflow: false
high_level_summary: true
high_level_summary_placeholder: |
@coderabbitai summary
(졸업작품 평가 기준: 구조 / 타입 안정성 / 접근성 관점 요약)
poem: false
review_status: true
suggested_labels: true
commit_status: true
fail_commit_status: false
abort_on_close: true
high_level_summary_in_walkthrough: true
collapse_walkthrough: true
path_instructions:
- path: 'src/**/components/**/*.tsx'
instructions: |
React 컴포넌트 리뷰 시:
- 파일명은 PascalCase인지 확인
- Props 타입은 컴포넌트명Props 형식인지 확인
- 단일 export는 default export 권장 (팀 규칙 우선)
- 이벤트 핸들러는 handle 접두사 사용
- 접근성 고려 (label 연결, aria-* 속성)
- 접근성 관련 지적 시, 사용자 영향 예시 포함
- 불필요한 re-render 방지를 위한 memo/useCallback 검토
- premature optimization 지양
- path: 'src/**/hooks/**/*.ts'
instructions: |
커스텀 훅 리뷰 시:
- 파일명과 함수명은 use* 접두사 사용
- 반환 타입의 일관성 유지 (object 또는 tuple)
- 에러/로딩 상태 명확히 분리
- TanStack Query 훅 네이밍 규칙 준수
(use + Action + Target + Query/Mutation)
- path: 'src/**/*.ts'
instructions: |
TypeScript 코드 리뷰 시:
- 타입/인터페이스는 PascalCase 사용
- interface는 객체 타입, type은 union/alias에 사용
- API 응답 타입은 XXXResponse 네이밍
- var 사용 금지, const 우선
- type-only import 적극 사용
- any 사용 시 사유 명확히 작성
- path: 'src/**'
instructions: |
프로젝트 전반 리뷰 기준:
# 기본 기술 스택
- React + TypeScript 사용
- 스타일링은 Tailwind CSS v4 사용
- 절대 경로 임포트(@/...) 사용
- Client / Server 컴포넌트 구분 명확
# 네이밍 컨벤션
- 컴포넌트: PascalCase
- 폴더명: kebab-case
- 일반 파일명: kebab-case
- 변수/함수: camelCase
- 상수: BIG_SNAKE_CASE
- Props 타입: 컴포넌트명Props
# 환경 변수
- 환경 변수는 process.env.NEXT_PUBLIC_* 사용
- 민감 정보 하드코딩 금지
# 성능
- 불필요한 클라이언트 컴포넌트 사용 지양
- 리스트 렌더링 시 key 안정성 확인
# Git 규칙
- 커밋 메시지: #issue type: subject
(예: #12 feat: 로그인 기능 추가)
- 브랜치 패턴: type/issuenumber-issue-short-description
(예: feat/1-auth)
auto_review:
enabled: true
drafts: false
base_branches:
- 'main'
- 'develop'
labels:
- '!wip'
- '!draft'
ignore_usernames:
- 'dependabot'
- 'renovate'
tools:
eslint:
enabled: true
markdownlint:
enabled: true
gitleaks:
enabled: true
yamllint:
enabled: true
actionlint:
enabled: true
chat:
auto_reply: true
knowledge_base:
code_guidelines:
enabled: true
filePatterns:
- 'README.md'