@kood/claude-code 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -361,7 +361,7 @@ var init = async (options) => {
361
361
 
362
362
  // src/index.ts
363
363
  var program = new Command();
364
- program.name("claude-code").description("Claude Code documentation installer for projects").version("0.1.14");
364
+ program.name("claude-code").description("Claude Code documentation installer for projects").version("0.1.16");
365
365
  program.option(
366
366
  "-t, --template <names>",
367
367
  "template names (comma-separated: tanstack-start,hono)"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kood/claude-code",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "Claude Code documentation installer for projects",
5
5
  "type": "module",
6
6
  "bin": "./dist/index.js",
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 피드백 기반 코드 위치 탐색 및 수정. ultrathink + sequential thinking 10+ + subagent 필수.
2
+ description: 피드백 기반 코드 위치 탐색 및 수정. ultrathink + sequential thinking 5+ + subagent 필수.
3
3
  allowed-tools: Read, Edit, Glob, Grep, Bash(git:*, ast-grep:*), Task, mcp__sequential-thinking__sequentialthinking
4
4
  argument-hint: <피드백 내용>
5
5
  ---
@@ -14,7 +14,7 @@ argument-hint: <피드백 내용>
14
14
  |----------|------|
15
15
  | **ARGUMENT 필수** | 피드백 내용 없이 실행 시 되물음 |
16
16
  | **Ultrathink** | 깊은 사고로 피드백 분석 |
17
- | **Sequential Thinking 10+** | 최소 10단계 사고 과정 필수 |
17
+ | **Sequential Thinking 5+** | 최소 5단계, 복잡도에 따라 충분히 |
18
18
  | **Subagent (Task)** | 코드 탐색에 Task 도구 활용 |
19
19
 
20
20
  ## ARGUMENT 확인
@@ -32,7 +32,7 @@ $ARGUMENTS 있음 → 다음 단계 진행
32
32
 
33
33
  ```
34
34
  1. ARGUMENT 확인 (없으면 되물음)
35
- 2. Sequential Thinking 10+로 피드백 분석
35
+ 2. Sequential Thinking 5+로 피드백 분석 (복잡도에 따라 조정)
36
36
  - 피드백 의도 파악
37
37
  - 키워드 추출
38
38
  - 수정 대상 추론
@@ -48,18 +48,28 @@ $ARGUMENTS 있음 → 다음 단계 진행
48
48
 
49
49
  ## Sequential Thinking 가이드
50
50
 
51
- **피드백 분석 시 최소 10단계:**
51
+ **복잡도별 사고 횟수:**
52
+
53
+ | 복잡도 | 횟수 | 예시 |
54
+ |--------|------|------|
55
+ | 간단 | 5 | 오타 수정, 단순 UI 조정, 명확한 버그 |
56
+ | 보통 | 7-8 | 로직 수정, 컴포넌트 변경 |
57
+ | 복잡 | 10+ | 다중 파일 영향, 아키텍처 관련 |
58
+
59
+ **기본 사고 흐름 (최소 5단계):**
52
60
 
53
61
  ```
54
62
  thought 1: 피드백 원문 분석 - 무엇을 수정하라는 것인가?
55
63
  thought 2: 핵심 키워드 추출 (기능명, 변수명, 컴포넌트명 등)
56
64
  thought 3: 피드백 유형 분류 (버그, UI, 로직, 성능 등)
57
- thought 4: 예상 파일 위치 추론 (디렉토리, 파일 패턴)
58
- thought 5: 검색 전략 수립 (ast-grep vs grep vs glob)
65
+ thought 4: 예상 파일 위치 추론 검색 전략 수립
66
+ thought 5: 후보 위치 정리 수정 방안
67
+
68
+ (복잡한 경우 추가)
59
69
  thought 6: 첫 번째 탐색 결과 분석
60
70
  thought 7: 추가 탐색 필요 여부 판단
61
- thought 8: 후보 위치 정리 및 우선순위
62
- thought 9: 수정 방안 초안 작성
71
+ thought 8: 후보 위치 우선순위 재정리
72
+ thought 9: 수정 방안 상세화
63
73
  thought 10: 수정 영향 범위 분석
64
74
  thought 11+: 필요시 추가 분석
65
75
  ```
@@ -179,7 +189,7 @@ git commit -m "fix: 여러 파일 수정" # 구체적이지 않음
179
189
  | 금지 항목 |
180
190
  |----------|
181
191
  | ARGUMENT 없이 수정 시작 |
182
- | Sequential Thinking 10단계 미만 |
192
+ | Sequential Thinking 5단계 미만 |
183
193
  | 코드 탐색 없이 추측으로 수정 |
184
194
  | 사용자 컨펌 없이 수정 |
185
195
  | "Generated with Claude Code" 포함 |
@@ -0,0 +1,299 @@
1
+ ---
2
+ description: 개발 진행 방법 검토 및 옵션 제시. ultrathink + sequential thinking 3-7 필수. 코드 수정 없이 계획만.
3
+ allowed-tools: Read, Glob, Grep, Bash(git:*, ast-grep:*), Task, Write, mcp__sequential-thinking__sequentialthinking
4
+ argument-hint: <개발할 기능 또는 해결할 문제>
5
+ ---
6
+
7
+ # Plan Command
8
+
9
+ 개발 진행 방법을 검토하고 2-3개 옵션과 장단점을 제시하는 커맨드.
10
+
11
+ ## CRITICAL: 필수 요구사항
12
+
13
+ | 요구사항 | 설명 |
14
+ |----------|------|
15
+ | **ARGUMENT 필수** | 계획 대상 없이 실행 시 되물음 |
16
+ | **Ultrathink** | 깊은 사고로 옵션 분석 |
17
+ | **Sequential Thinking 3-7** | 복잡도에 따라 조정 |
18
+ | **코드 수정 금지** | 분석과 계획만. Edit 사용 불가 |
19
+ | **옵션 2-3개** | 최소 2개, 권장 3개 |
20
+
21
+ ## ARGUMENT 확인
22
+
23
+ ```
24
+ $ARGUMENTS 없음 → 즉시 질문:
25
+ "무엇을 계획해야 하나요? 구체적으로 알려주세요.
26
+ - 새 기능 추가
27
+ - 버그 수정
28
+ - 리팩토링
29
+ - 아키텍처 변경"
30
+
31
+ $ARGUMENTS 있음 → 다음 단계 진행
32
+ ```
33
+
34
+ **계획 대상**: $ARGUMENTS
35
+
36
+ ## 실행 흐름
37
+
38
+ ```
39
+ 1. ARGUMENT 확인 (없으면 되물음)
40
+ 2. Sequential Thinking으로 복잡도 판단 (1단계)
41
+ 3. 복잡도에 따른 분석 (2-6단계)
42
+ - 현재 상태 파악
43
+ - 가능한 접근 방식 탐색
44
+ - 옵션별 장단점 분석
45
+ 4. Task subagent로 코드베이스 탐색
46
+ 5. 옵션 2-3개 정리 및 제시
47
+ 6. 사용자 선택 대기
48
+ 7. 문서 작성 필요 여부 질문
49
+ - Y → 계획 문서 작성
50
+ - N → 종료
51
+ ```
52
+
53
+ ## 복잡도 판단
54
+
55
+ | 복잡도 | 사고 횟수 | 예시 |
56
+ |--------|----------|------|
57
+ | 간단 | 3 | 단일 파일 수정, 명확한 변경 |
58
+ | 보통 | 5 | 다중 파일, 로직 변경 |
59
+ | 복잡 | 7+ | 아키텍처 변경, 새 시스템 설계 |
60
+
61
+ **복잡도 판단 기준:**
62
+
63
+ ```
64
+ thought 1: 복잡도 판단
65
+ - 영향 범위: 파일 수, 모듈 수
66
+ - 의존성: 외부 라이브러리, 다른 시스템
67
+ - 리스크: 기존 기능 영향, 롤백 가능성
68
+ - 기술적 난이도: 새로운 패턴, 미지의 영역
69
+ ```
70
+
71
+ ## Sequential Thinking 가이드
72
+
73
+ **기본 흐름 (5단계):**
74
+
75
+ ```
76
+ thought 1: 복잡도 판단 및 분석 범위 결정
77
+ thought 2: 현재 상태 분석 (코드, 아키텍처, 제약)
78
+ thought 3: 가능한 접근 방식 열거 (4-5개)
79
+ thought 4: 주요 옵션 3개 선정 및 장단점 분석
80
+ thought 5: 최종 옵션 정리 및 추천안 도출
81
+ ```
82
+
83
+ **복잡한 경우 (7단계):**
84
+
85
+ ```
86
+ thought 1: 복잡도 판단
87
+ thought 2: 현재 상태 심층 분석
88
+ thought 3: 기술적 제약 및 요구사항 정리
89
+ thought 4: 가능한 접근 방식 탐색
90
+ thought 5: 각 접근 방식 비교 분석
91
+ thought 6: 옵션 3개 선정 및 상세 장단점
92
+ thought 7: 추천안 및 근거
93
+ ```
94
+
95
+ ## Task Subagent 활용
96
+
97
+ | subagent_type | 용도 |
98
+ |---------------|------|
99
+ | `Explore` | 코드베이스 구조 파악, 관련 파일 탐색 |
100
+ | `Plan` | 구현 전략 수립, 단계별 계획 |
101
+ | `general-purpose` | 복잡한 분석, 다중 시스템 연관 |
102
+
103
+ **Task 호출 예시:**
104
+
105
+ ```
106
+ Task: "새 인증 시스템 구현을 위한 코드베이스 분석"
107
+ subagent_type: Explore
108
+ prompt: "현재 인증 관련 코드 구조 파악.
109
+ 사용 중인 라이브러리, 세션 관리 방식,
110
+ 수정이 필요한 파일 목록 제시."
111
+ ```
112
+
113
+ **병렬 탐색:**
114
+
115
+ ```
116
+ 여러 측면 분석 필요 시:
117
+ Task 1: "프론트엔드 구조 분석" (Explore)
118
+ Task 2: "백엔드 API 분석" (Explore)
119
+ Task 3: "데이터베이스 스키마 분석" (Explore)
120
+
121
+ → 단일 메시지에 다중 Task 호출
122
+ → 결과 취합 후 옵션 정리
123
+ ```
124
+
125
+ ## 옵션 제시 형식
126
+
127
+ **옵션 3개 제시:**
128
+
129
+ ```
130
+ ## 분석 결과
131
+
132
+ ### 옵션 1: [옵션 이름] (추천)
133
+
134
+ **접근 방식:**
135
+ - 설명 1
136
+ - 설명 2
137
+
138
+ | 장점 | 단점 |
139
+ |------|------|
140
+ | 장점 1 | 단점 1 |
141
+ | 장점 2 | 단점 2 |
142
+
143
+ **영향 범위:**
144
+ - 파일: `src/auth/`, `src/api/`
145
+ - 예상 변경 규모: 중간
146
+
147
+ ---
148
+
149
+ ### 옵션 2: [옵션 이름]
150
+
151
+ **접근 방식:**
152
+ ...
153
+
154
+ ---
155
+
156
+ ### 옵션 3: [옵션 이름]
157
+
158
+ **접근 방식:**
159
+ ...
160
+
161
+ ---
162
+
163
+ ## 추천 및 근거
164
+
165
+ 옵션 1을 추천합니다.
166
+ - 근거 1
167
+ - 근거 2
168
+
169
+ 어떤 옵션을 선택하시겠습니까? (1/2/3)
170
+ ```
171
+
172
+ **옵션 2개 제시 (선택지가 명확한 경우):**
173
+
174
+ ```
175
+ ## 분석 결과
176
+
177
+ 두 가지 접근 방식이 있습니다:
178
+
179
+ ### 옵션 A: [옵션 이름]
180
+ ...
181
+
182
+ ### 옵션 B: [옵션 이름]
183
+ ...
184
+
185
+ 어떤 옵션을 선택하시겠습니까? (A/B)
186
+ ```
187
+
188
+ ## 문서 작성 질문
189
+
190
+ **옵션 선택 후 질문:**
191
+
192
+ ```
193
+ 옵션 [N]을 선택하셨습니다.
194
+
195
+ 계획 문서를 작성할까요?
196
+ - Y: .claude/plans/[기능명].md 생성
197
+ - N: 바로 구현 시작
198
+
199
+ 선택해주세요. (Y/N)
200
+ ```
201
+
202
+ ## 계획 문서 템플릿
203
+
204
+ **파일 위치:** `.claude/plans/[기능명].md`
205
+
206
+ ```markdown
207
+ # [기능명] 구현 계획
208
+
209
+ ## 개요
210
+
211
+ **목표:** [무엇을 달성할 것인가]
212
+ **선택된 접근 방식:** [옵션 N]
213
+ **예상 영향 범위:** [파일/모듈 목록]
214
+
215
+ ## 현재 상태
216
+
217
+ - 현재 구조 설명
218
+ - 관련 코드 위치
219
+ - 기존 제약사항
220
+
221
+ ## 구현 단계
222
+
223
+ ### 1단계: [단계 이름]
224
+
225
+ **작업:**
226
+ - [ ] 작업 1
227
+ - [ ] 작업 2
228
+
229
+ **변경 파일:**
230
+ - `src/file1.ts`
231
+ - `src/file2.ts`
232
+
233
+ ### 2단계: [단계 이름]
234
+ ...
235
+
236
+ ## 고려사항
237
+
238
+ ### 리스크
239
+
240
+ | 리스크 | 완화 방안 |
241
+ |--------|----------|
242
+ | 리스크 1 | 방안 1 |
243
+
244
+ ### 의존성
245
+
246
+ - 외부 라이브러리: [목록]
247
+ - 다른 시스템: [목록]
248
+
249
+ ### 롤백 계획
250
+
251
+ 문제 발생 시 롤백 방법.
252
+
253
+ ## 검증 방법
254
+
255
+ - 테스트 항목 1
256
+ - 테스트 항목 2
257
+
258
+ ## 참조
259
+
260
+ - 관련 문서 링크
261
+ - 참고 자료
262
+ ```
263
+
264
+ ## 예시 워크플로우
265
+
266
+ ```
267
+ 1. 사용자: /plan 사용자 인증을 JWT에서 세션 기반으로 변경
268
+
269
+ 2. Sequential Thinking:
270
+ thought 1: "인증 시스템 변경 - 복잡도 높음, 7단계 분석"
271
+ thought 2: "현재 JWT 구현 분석 필요..."
272
+ ...
273
+
274
+ 3. Task 탐색:
275
+ Task: "현재 인증 구현 분석" (Explore)
276
+
277
+ 4. 옵션 제시:
278
+ 옵션 1: 점진적 마이그레이션 (추천)
279
+ 옵션 2: 완전 대체
280
+ 옵션 3: 하이브리드 방식
281
+
282
+ 5. 사용자 선택: 1
283
+
284
+ 6. 문서 작성 질문: Y
285
+
286
+ 7. .claude/plans/session-auth.md 생성
287
+ ```
288
+
289
+ ## CRITICAL: 절대 금지
290
+
291
+ | 금지 항목 |
292
+ |----------|
293
+ | ARGUMENT 없이 분석 시작 |
294
+ | Edit 도구 사용 (코드 수정) |
295
+ | Sequential Thinking 3단계 미만 |
296
+ | 옵션 1개만 제시 |
297
+ | 코드 탐색 없이 추측으로 옵션 제시 |
298
+ | 사용자 선택 없이 구현 시작 |
299
+ | 장단점 없이 옵션만 나열 |
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: gemini-review
3
+ description: Google Gemini CLI를 활용한 코드 리뷰 및 계획 검증 스킬. 구현 계획 검토, 코드 리뷰, 아키텍처 논의 시 Gemini를 세컨드 오피니언으로 활용. gemini-2.5-pro 모델 사용 (무료: 60req/min, 1000req/day).
4
+ license: Complete terms in LICENSE.txt
5
+ ---
6
+
7
+ # Gemini 리뷰 스킬
8
+
9
+ Claude가 컨텍스트를 준비하고 Gemini가 독립적인 검증을 제공하는 듀얼 AI 리뷰 워크플로우.
10
+
11
+ **모델**: `gemini-2.5-pro` (고정) | **비용**: 무료 (60 req/min, 1000 req/day)
12
+
13
+ ## 사용 시점
14
+
15
+ - 코딩 전 구현 계획 검증
16
+ - 완성된 코드의 버그, 보안, 베스트 프랙티스 리뷰
17
+ - 아키텍처 결정에 대한 세컨드 AI 의견
18
+
19
+ ## 워크플로우 타입
20
+
21
+ | 타입 | 목적 | 사용 시점 |
22
+ |------|------|-----------|
23
+ | **plan** | 구현 계획 검증 | 개발 시작 전 |
24
+ | **code** | 완성 코드 리뷰 | 기능 구현 후 |
25
+ | **architecture** | 시스템 설계 논의 | 설계 단계 또는 리팩토링 시 |
26
+
27
+ ## 실행 프로세스
28
+
29
+ ### Step 1: 사용자 컨텍스트 수집
30
+
31
+ 1. **리뷰 타입**: `plan`, `code`, `architecture`
32
+ 2. **리뷰 대상**: 실제 계획, 코드, 아키텍처 설명
33
+ 3. **기술 스택** (선택): 프로젝트의 기술 스택 (자유 입력)
34
+
35
+ ### Step 2: 체크리스트 로드
36
+
37
+ `references/checklists.md`에서 리뷰 대상에 맞는 체크리스트 로드 (범용, 프론트엔드, 백엔드).
38
+
39
+ ### Step 3: Gemini 실행
40
+
41
+ `references/prompt-templates.md`에서 적절한 템플릿 선택 후 실행.
42
+
43
+ **기본 패턴:**
44
+ ```bash
45
+ gemini -m gemini-2.5-pro -p "{prompt}" --output-format json
46
+ ```
47
+
48
+ **파일 리뷰:**
49
+ ```bash
50
+ cat {file_path} | gemini -m gemini-2.5-pro -p "{instructions}" --output-format json
51
+ ```
52
+
53
+ **응답 파싱:**
54
+ ```bash
55
+ result=$(gemini -m gemini-2.5-pro -p "..." --output-format json)
56
+ echo "$result" | jq -r '.response'
57
+ ```
58
+
59
+ ### Step 4: 결과를 두 섹션으로 제시
60
+
61
+ **항상 두 개의 명확히 구분된 섹션으로 결과 제시:**
62
+
63
+ #### A. Gemini 응답 (원본)
64
+ Gemini의 완전한 응답을 수정 없이 제시.
65
+
66
+ #### B. Claude 분석 및 액션 플랜
67
+
68
+ 1. **요약** (2-3문장): 핵심 발견 사항, 전체 평가
69
+
70
+ 2. **액션 아이템** (우선순위 목록)
71
+ - 🔴 심각: 진행 전 반드시 수정
72
+ - 🟡 중요: 조속히 해결 필요
73
+ - 🟢 경미: 개선하면 좋음
74
+
75
+ 3. **바로 적용 가능한 코드** (해당 시)
76
+
77
+ **출력 형식:**
78
+ ```markdown
79
+ ## 📋 Gemini 리뷰 결과
80
+
81
+ ### A. Gemini 응답 (원본)
82
+ {gemini_response_verbatim}
83
+
84
+ ---
85
+
86
+ ### B. Claude 분석
87
+
88
+ #### 요약
89
+ {2-3문장 개요}
90
+
91
+ #### 액션 아이템
92
+ 🔴 **심각**: {이슈} → {수정}
93
+ 🟡 **중요**: {이슈} → {수정}
94
+ 🟢 **경미**: {이슈} → {수정}
95
+
96
+ #### 바로 적용 가능한 코드
97
+ {fixed_code}
98
+ ```
99
+
100
+ ## 에러 처리
101
+
102
+ Gemini 에러 발생 시:
103
+ 1. 사용자에게 에러 메시지 표시
104
+ 2. 일반적인 문제 확인: 할당량 초과, 네트워크 연결, 프롬프트 형식
105
+ 3. 재시도 또는 대안 제안
106
+
107
+ ## 할당량 관리
108
+
109
+ 무료 티어 한도: 분당 60 요청, 일당 1000 요청
110
+
111
+ 절약 팁:
112
+ - 관련 리뷰를 단일 프롬프트로 결합
113
+ - 구체적이고 집중된 리뷰 요청 사용
114
+
115
+ ## 참조
116
+
117
+ - [체크리스트](references/checklists.md): 범용/프론트엔드/백엔드 리뷰 체크리스트
118
+ - [프롬프트 템플릿](references/prompt-templates.md): 리뷰 타입별 프롬프트 템플릿
@@ -0,0 +1,129 @@
1
+ # 리뷰 체크리스트
2
+
3
+ ## 범용 체크리스트
4
+
5
+ ### 코드 품질
6
+ - [ ] 단일 책임 원칙 준수
7
+ - [ ] DRY - 불필요한 중복 없음
8
+ - [ ] 함수/메서드가 집중적이고 작음
9
+ - [ ] 명확한 명명 규칙
10
+ - [ ] 주석은 "why"를 설명, "what"이 아님
11
+
12
+ ### 로직 및 정확성
13
+ - [ ] 엣지 케이스 처리 (빈 값, null, 경계값)
14
+ - [ ] 포괄적인 에러 처리
15
+ - [ ] 레이스 컨디션 고려
16
+ - [ ] 입력 유효성 검사
17
+ - [ ] 반환값 확인
18
+
19
+ ### 보안
20
+ - [ ] 하드코딩된 시크릿 없음
21
+ - [ ] 사용자 입력 살균
22
+ - [ ] SQL 인젝션 방지 (파라미터화된 쿼리)
23
+ - [ ] XSS 방지 조치
24
+ - [ ] 적절한 인증/인가
25
+
26
+ ### 성능
27
+ - [ ] 스케일에 적합한 시간 복잡도
28
+ - [ ] 적절한 공간 복잡도
29
+ - [ ] 불필요한 반복 없음
30
+ - [ ] 데이터베이스 쿼리 최적화
31
+ - [ ] 적절한 캐싱 고려
32
+
33
+ ### 유지보수성
34
+ - [ ] 테스트 가능한 코드
35
+ - [ ] 최소한의 정당화된 의존성
36
+ - [ ] 설정 외부화
37
+ - [ ] 디버깅을 위한 로깅
38
+ - [ ] 도움이 되는 에러 메시지
39
+
40
+ ### 문서화
41
+ - [ ] 공개 API 문서화
42
+ - [ ] 복잡한 로직 설명
43
+ - [ ] 명확한 설정 가이드
44
+ - [ ] 환경 변수 문서화
45
+
46
+ ---
47
+
48
+ ## 프론트엔드 체크리스트
49
+
50
+ ### 라우팅 및 네비게이션
51
+ - [ ] 라우트 구조가 논리적으로 구성됨
52
+ - [ ] 동적 라우트 파라미터 처리
53
+ - [ ] 레이아웃 중첩 올바르게 구성
54
+ - [ ] 404 및 에러 경계 적절히 처리
55
+ - [ ] 네비게이션 상태 관리
56
+
57
+ ### 상태 관리
58
+ - [ ] 서버 상태와 클라이언트 상태 분리
59
+ - [ ] 불필요한 전역 상태 최소화
60
+ - [ ] 상태 업데이트 로직 명확
61
+ - [ ] 파생 상태 적절히 활용
62
+
63
+ ### 데이터 페칭
64
+ - [ ] 효율적인 데이터 페칭 전략
65
+ - [ ] 로딩/에러 상태 처리 완비
66
+ - [ ] 적절한 캐싱 전략
67
+ - [ ] 불필요한 재요청 방지
68
+ - [ ] 옵티미스틱 업데이트 고려
69
+
70
+ ### 렌더링
71
+ - [ ] SSR/CSR 적절한 선택
72
+ - [ ] 하이드레이션 미스매치 방지
73
+ - [ ] SEO 필수 페이지에 SSR 적용
74
+ - [ ] 클라이언트 전용 코드 올바르게 분리
75
+
76
+ ### 성능 최적화
77
+ - [ ] 코드 스플리팅 적용
78
+ - [ ] 이미지 최적화
79
+ - [ ] 번들 사이즈 모니터링
80
+ - [ ] 불필요한 리렌더링 방지
81
+ - [ ] 메모이제이션 적절히 사용
82
+
83
+ ### 타입 안전성
84
+ - [ ] Props 타입 정의
85
+ - [ ] API 응답 타입 정의
86
+ - [ ] `any` 타입 사용 최소화
87
+ - [ ] 제네릭 적절히 활용
88
+
89
+ ---
90
+
91
+ ## 백엔드 체크리스트
92
+
93
+ ### API 설계
94
+ - [ ] RESTful/GraphQL 규칙 준수
95
+ - [ ] 일관된 URL/엔드포인트 명명
96
+ - [ ] 적절한 HTTP 메서드/상태 코드
97
+ - [ ] API 버저닝 전략 (해당 시)
98
+ - [ ] 일관된 응답 형식
99
+
100
+ ### 데이터 검증
101
+ - [ ] 입력 유효성 검사
102
+ - [ ] 적절한 제약조건 (min, max, regex)
103
+ - [ ] Optional vs required 필드 정의
104
+ - [ ] 커스텀 밸리데이터 (필요 시)
105
+
106
+ ### 비동기 패턴
107
+ - [ ] async/await 일관되게 사용
108
+ - [ ] 블로킹 I/O 방지
109
+ - [ ] 동시 작업 적절히 처리
110
+ - [ ] 장시간 작업에 백그라운드 처리
111
+ - [ ] 데이터베이스 연결 풀링
112
+
113
+ ### 인증/인가
114
+ - [ ] 인증 구현 (OAuth2, JWT, API 키 등)
115
+ - [ ] 보호된 엔드포인트에 인가 검사
116
+ - [ ] 적절한 CORS 설정
117
+ - [ ] 레이트 리미팅 고려
118
+
119
+ ### 에러 처리
120
+ - [ ] 일관된 에러 응답 형식
121
+ - [ ] 적절한 HTTP 상태 코드
122
+ - [ ] 에러에 민감 정보 노출 없음
123
+ - [ ] 예외 핸들러 정의
124
+
125
+ ### 테스팅
126
+ - [ ] 테스트 클라이언트 설정
127
+ - [ ] 모킹/스터빙 적절히 사용
128
+ - [ ] 정상 경로 및 엣지 케이스 커버리지
129
+ - [ ] 통합 테스트 포함
@@ -0,0 +1,274 @@
1
+ # Gemini 리뷰 프롬프트 템플릿
2
+
3
+ ## 명령어 패턴
4
+
5
+ 모든 명령어는 고정 모델 `gemini-2.5-pro`와 JSON 출력 사용.
6
+
7
+ ### 기본 패턴
8
+ ```bash
9
+ gemini -m gemini-2.5-pro -p "{prompt}" --output-format json
10
+ ```
11
+
12
+ ### 파일 파이핑 패턴
13
+ ```bash
14
+ cat {file_path} | gemini -m gemini-2.5-pro -p "{instructions}" --output-format json
15
+ ```
16
+
17
+ ### 멀티라인 Heredoc 패턴
18
+ ```bash
19
+ gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
20
+ {multi_line_prompt}
21
+ EOF
22
+ )"
23
+ ```
24
+
25
+ ### 응답 파싱
26
+ ```bash
27
+ result=$(gemini -m gemini-2.5-pro -p "..." --output-format json)
28
+ review_content=$(echo "$result" | jq -r '.response')
29
+ echo "$review_content"
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 계획 리뷰 템플릿
35
+
36
+ ```bash
37
+ gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
38
+ [계획 리뷰 요청]
39
+
40
+ ## 컨텍스트
41
+ 프로젝트: {project_name}
42
+ 기술 스택: {tech_stack}
43
+ 현재 상태: {current_state_description}
44
+
45
+ ## 구현 계획
46
+ {plan_content}
47
+
48
+ ## 리뷰 체크리스트
49
+ {checklist_items}
50
+
51
+ ## 리뷰 지침
52
+ 이 구현 계획을 분석하여 다음에 대한 피드백을 제공해주세요:
53
+
54
+ 1. **완전성**
55
+ - 모든 요구사항이 다뤄졌는가?
56
+ - 누락된 단계나 고려사항이 있는가?
57
+
58
+ 2. **로직 및 실현 가능성**
59
+ - 이 접근방식이 의도대로 작동할 것인가?
60
+ - 논리적 결함이나 모순이 있는가?
61
+
62
+ 3. **엣지 케이스**
63
+ - 놓칠 수 있는 엣지 케이스는?
64
+ - 어떻게 처리해야 하는가?
65
+
66
+ 4. **위험 및 이슈**
67
+ - 구현 중 발생할 수 있는 문제는?
68
+ - 의존성이나 블로커가 있는가?
69
+
70
+ 5. **대안**
71
+ - 더 나은 접근방식이 있는가?
72
+ - 고려해야 할 트레이드오프는?
73
+
74
+ 응답 형식:
75
+ - ✅ 계획의 강점
76
+ - ⚠️ 발견된 우려사항 또는 이슈
77
+ - 💡 개선 제안
78
+ - 🔄 대안적 접근방식 (있다면)
79
+ EOF
80
+ )"
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 코드 리뷰 템플릿
86
+
87
+ ### 옵션 A: 인라인 코드
88
+ ```bash
89
+ gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
90
+ [코드 리뷰 요청]
91
+
92
+ ## 컨텍스트
93
+ 파일: {file_path}
94
+ 언어: {language}
95
+ 기술 스택: {tech_stack}
96
+ 목적: {purpose_description}
97
+
98
+ ## 리뷰할 코드
99
+ ```{language}
100
+ {code_content}
101
+ ```
102
+
103
+ ## 리뷰 체크리스트
104
+ {checklist_items}
105
+
106
+ ## 리뷰 지침
107
+ 다음에 초점을 맞춰 철저한 코드 리뷰를 수행해주세요:
108
+
109
+ 1. **버그 및 로직 오류**
110
+ - 잘못된 로직 또는 알고리즘
111
+ - Off-by-one 에러
112
+ - Null/undefined 처리
113
+ - 타입 불일치
114
+
115
+ 2. **보안 취약점**
116
+ - 인젝션 위험 (SQL, XSS 등)
117
+ - 인증/인가 갭
118
+ - 데이터 노출 위험
119
+ - 입력 유효성 검사 이슈
120
+
121
+ 3. **성능 이슈**
122
+ - 비효율적인 알고리즘 (문제 시 Big-O 명시)
123
+ - N+1 쿼리
124
+ - 메모리 누수
125
+ - 불필요한 연산
126
+
127
+ 4. **베스트 프랙티스**
128
+ - 코드 구성
129
+ - 명명 규칙
130
+ - 에러 처리 패턴
131
+ - 테스트 고려사항
132
+
133
+ 5. **유지보수성**
134
+ - 코드 명확성
135
+ - 문서화 필요성
136
+ - 결합도와 응집도
137
+ - 향후 확장성
138
+
139
+ 발견된 각 이슈에 대해 다음을 제공:
140
+ - 🔴 심각 / 🟡 중요 / 🟢 경미
141
+ - 위치 (라인 번호 또는 함수명)
142
+ - 이슈 설명
143
+ - 코드 예시와 함께 수정 제안
144
+ EOF
145
+ )"
146
+ ```
147
+
148
+ ### 옵션 B: 파일 내용 파이핑
149
+ ```bash
150
+ cat {file_path} | gemini -m gemini-2.5-pro --output-format json -p "이 {language} 코드 ({tech_stack} 프로젝트)를 다음 관점에서 리뷰해주세요:
151
+ 1. 버그 및 로직 오류
152
+ 2. 보안 취약점
153
+ 3. 성능 이슈
154
+ 4. 베스트 프랙티스 위반
155
+ 5. 유지보수성 우려
156
+
157
+ 각 이슈에 대해: 심각도 (🔴 심각/🟡 중요/🟢 경미), 위치, 설명, 코드와 함께 수정 제안을 명시해주세요."
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 아키텍처 리뷰 템플릿
163
+
164
+ ```bash
165
+ gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
166
+ [아키텍처 리뷰 요청]
167
+
168
+ ## 시스템 개요
169
+ 이름: {system_name}
170
+ 목적: {system_purpose}
171
+ 기술 스택: {tech_stack}
172
+ 규모: {expected_scale}
173
+
174
+ ## 현재/제안 아키텍처
175
+ {architecture_description}
176
+
177
+ ## 컴포넌트
178
+ {components_list}
179
+
180
+ ## 데이터 흐름
181
+ {data_flow_description}
182
+
183
+ ## 구체적인 질문
184
+ {specific_questions}
185
+
186
+ ## 리뷰 지침
187
+ 다음을 고려하여 이 아키텍처를 평가해주세요:
188
+
189
+ 1. **확장성**
190
+ - 예상 로드를 처리할 수 있는가?
191
+ - 수평 vs 수직 스케일링 옵션은?
192
+ - 확인된 병목 지점은?
193
+
194
+ 2. **신뢰성**
195
+ - 단일 장애 지점이 있는가?
196
+ - 내결함성 메커니즘은?
197
+ - 복구 전략은?
198
+
199
+ 3. **유지보수성**
200
+ - 컴포넌트 결합도는?
201
+ - 배포 복잡성은?
202
+ - 운영 오버헤드는?
203
+
204
+ 4. **보안**
205
+ - 공격 표면은?
206
+ - 데이터 보호는?
207
+ - 접근 제어 경계는?
208
+
209
+ 5. **비용 효율성**
210
+ - 리소스 활용도는?
211
+ - 스케일링 비용은?
212
+ - 운영 비용은?
213
+
214
+ 6. **트레이드오프**
215
+ - 무엇을 희생하고 있는가?
216
+ - 대안적 아키텍처는?
217
+ - 마이그레이션 경로 고려사항은?
218
+
219
+ 응답 형식:
220
+ - 📊 전체 평가
221
+ - ✅ 아키텍처 강점
222
+ - ⚠️ 우려사항 및 위험
223
+ - 💡 권장사항
224
+ - 🔄 고려할 가치가 있는 대안적 접근방식
225
+ EOF
226
+ )"
227
+ ```
228
+
229
+ ---
230
+
231
+ ## 기술 스택 컨텍스트 추가
232
+
233
+ 특정 기술 스택에 대한 리뷰 시 다음 형식으로 컨텍스트 추가:
234
+
235
+ ```
236
+ ## 기술 스택 특화 리뷰 포인트
237
+ - {해당 스택의 핵심 패턴}
238
+ - {프레임워크 규칙 준수 여부}
239
+ - {보안 고려사항}
240
+ - {성능 최적화 포인트}
241
+ - {타입 안전성}
242
+ ```
243
+
244
+ **예시** (프론트엔드 - React/Next.js/Vue 등):
245
+ - 컴포넌트 구조 및 재사용성
246
+ - 훅/컴포저블 사용 패턴
247
+ - 상태 관리 방식
248
+ - 렌더링 최적화
249
+
250
+ **예시** (백엔드 - Express/FastAPI/NestJS 등):
251
+ - 미들웨어/의존성 주입
252
+ - 라우터/컨트롤러 구성
253
+ - 에러 핸들링 패턴
254
+ - 데이터베이스 세션 관리
255
+
256
+ ---
257
+
258
+ ## 빠른 리뷰 템플릿
259
+
260
+ ### 보안 빠른 체크
261
+ ```bash
262
+ cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드를 보안 감사해주세요. 찾을 것: 인젝션 취약점, 인증 이슈, 데이터 노출 위험, 입력 유효성 검사 갭. 각각 심각도와 수정안과 함께 나열해주세요." --output-format json
263
+ ```
264
+
265
+ ### 성능 빠른 체크
266
+ ```bash
267
+ cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드를 성능 리뷰해주세요. 찾을 것: 비효율적인 알고리즘 (Big-O 명시), N+1 쿼리, 메모리 이슈, 불필요한 연산. 최적화를 제안해주세요." --output-format json
268
+ ```
269
+
270
+ ### 버그 헌팅
271
+ ```bash
272
+ cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드에서 버그를 찾아주세요: 로직 오류, 엣지 케이스, null 처리, 레이스 컨디션, 타입 이슈. 각 버그에 대해 수정안을 보여주세요." --output-format json
273
+ ```
274
+