@kood/claude-code 0.1.5 → 0.1.7

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.
Files changed (77) hide show
  1. package/dist/index.js +21 -243
  2. package/package.json +1 -1
  3. package/templates/hono/CLAUDE.md +10 -6
  4. package/templates/hono/docs/deployment/index.md +5 -0
  5. package/templates/hono/docs/library/hono/index.md +6 -0
  6. package/templates/hono/docs/library/prisma/index.md +3 -0
  7. package/templates/npx/CLAUDE.md +8 -2
  8. package/templates/tanstack-start/CLAUDE.md +105 -259
  9. package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
  10. package/templates/tanstack-start/docs/deployment/index.md +57 -286
  11. package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
  12. package/templates/tanstack-start/docs/deployment/railway.md +40 -409
  13. package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
  14. package/templates/tanstack-start/docs/design/accessibility.md +56 -326
  15. package/templates/tanstack-start/docs/design/color.md +37 -179
  16. package/templates/tanstack-start/docs/design/components.md +77 -311
  17. package/templates/tanstack-start/docs/design/index.md +24 -87
  18. package/templates/tanstack-start/docs/design/safe-area.md +51 -250
  19. package/templates/tanstack-start/docs/design/spacing.md +57 -276
  20. package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
  21. package/templates/tanstack-start/docs/design/typography.md +40 -284
  22. package/templates/tanstack-start/docs/guides/best-practices.md +3 -8
  23. package/templates/tanstack-start/docs/guides/env-setup.md +3 -3
  24. package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
  25. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  26. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  27. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  28. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  29. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  30. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  31. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  32. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  33. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  34. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  35. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  36. package/templates/tanstack-start/docs/library/prisma/setup.md +13 -113
  37. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  38. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
  39. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  40. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  41. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -73
  42. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  43. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  44. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  45. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  46. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  47. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  48. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +41 -172
  49. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  50. package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
  51. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  52. package/templates/tanstack-start/docs/library/zod/index.md +22 -150
  53. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  54. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  55. package/templates/hono/docs/commands/git.md +0 -145
  56. package/templates/hono/docs/mcp/context7.md +0 -106
  57. package/templates/hono/docs/mcp/index.md +0 -176
  58. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  59. package/templates/hono/docs/mcp/serena.md +0 -269
  60. package/templates/hono/docs/mcp/sgrep.md +0 -105
  61. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  62. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  63. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  64. package/templates/npx/docs/commands/git.md +0 -145
  65. package/templates/npx/docs/mcp/index.md +0 -60
  66. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  67. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  68. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  69. package/templates/tanstack-start/docs/commands/git.md +0 -145
  70. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  71. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  72. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  73. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  74. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  75. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  76. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  77. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
@@ -1,220 +0,0 @@
1
- ---
2
- name: gemini-review
3
- description: Google Gemini CLI를 활용한 코드 리뷰 및 계획 검증 스킬. 구현 계획 검토, 코드 리뷰, 아키텍처 논의 시 Gemini를 세컨드 오피니언으로 활용. Hono, Cloudflare Workers 등 특화 체크리스트 지원. gemini-2.5-pro 모델 사용 (무료: 60req/min, 1000req/day).
4
- ---
5
-
6
- # Gemini 리뷰 스킬
7
-
8
- ## 개요
9
-
10
- Claude가 컨텍스트를 준비하고 Gemini가 독립적인 검증을 제공하는 듀얼 AI 리뷰 워크플로우. 결과는 항상 Gemini 원본 응답과 Claude의 종합 액션 플랜 두 섹션으로 제공.
11
-
12
- **모델**: `gemini-2.5-pro` (고정)
13
- **비용**: 무료 티어 (60 req/min, 1000 req/day)
14
-
15
- ## 사용 시점
16
-
17
- - 코딩 전 구현 계획 검증
18
- - 완성된 코드의 버그, 보안, 베스트 프랙티스 리뷰
19
- - 아키텍처 결정에 대한 세컨드 AI 의견
20
- - Hono, Cloudflare Workers 프로젝트 특화 피드백
21
-
22
- ## 워크플로우 타입
23
-
24
- | 타입 | 목적 | 사용 시점 |
25
- |------|------|-----------|
26
- | **plan** | 구현 계획 검증 | 개발 시작 전 |
27
- | **code** | 완성 코드 리뷰 | 기능 구현 후 |
28
- | **architecture** | 시스템 설계 논의 | 설계 단계 또는 리팩토링 시 |
29
-
30
- ## 실행 프로세스
31
-
32
- ### Step 1: 사용자 컨텍스트 수집
33
-
34
- 실행 전 수집할 정보:
35
- 1. **리뷰 타입**: `plan`, `code`, `architecture`
36
- 2. **기술 스택** (선택): `hono`, `cloudflare`, `general`
37
- 3. **리뷰 대상**: 실제 계획, 코드, 아키텍처 설명
38
-
39
- ### Step 2: 체크리스트 로드
40
-
41
- 기술 스택에 따라 `references/checklists.md`에서 해당 체크리스트 로드:
42
- - **Hono**: API 설계, 미들웨어 패턴, 유효성 검사, 에러 처리
43
- - **Cloudflare**: Workers, KV, D1, R2, 엣지 런타임 고려사항
44
- - **General**: 범용 베스트 프랙티스
45
-
46
- ### Step 3: Gemini 명령어 구성 및 실행
47
-
48
- `references/prompt-templates.md`에서 적절한 프롬프트 템플릿 로드 후 실행:
49
-
50
- **인라인 프롬프트:**
51
- ```bash
52
- gemini -m gemini-2.5-pro -p "{constructed_prompt}" --output-format json
53
- ```
54
-
55
- **파일 내용 리뷰:**
56
- ```bash
57
- cat {file_path} | gemini -m gemini-2.5-pro -p "{review_instructions}" --output-format json
58
- ```
59
-
60
- **멀티라인 프롬프트 (heredoc):**
61
- ```bash
62
- gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
63
- {constructed_prompt}
64
- EOF
65
- )"
66
- ```
67
-
68
- ### Step 4: JSON 응답 파싱
69
-
70
- Gemini 응답 구조:
71
- ```json
72
- {
73
- "response": "실제 리뷰 내용",
74
- "stats": {
75
- "models": { ... },
76
- "tools": { ... }
77
- }
78
- }
79
- ```
80
-
81
- `response` 필드에서 리뷰 내용 추출. `jq` 사용:
82
- ```bash
83
- result=$(gemini -m gemini-2.5-pro -p "..." --output-format json)
84
- echo "$result" | jq -r '.response'
85
- ```
86
-
87
- ### Step 5: 결과를 두 섹션으로 제시
88
-
89
- **중요**: 항상 두 개의 명확히 구분된 섹션으로 결과 제시:
90
-
91
- #### 섹션 A: Gemini 원본 응답
92
- Gemini의 완전한 응답을 수정 없이 제시. 사용자에게 Gemini가 발견한 내용을 그대로 보여줌.
93
-
94
- #### 섹션 B: Claude 분석 및 액션 플랜
95
- Gemini 피드백을 기반으로 Claude가 제공:
96
-
97
- 1. **요약** (2-3문장)
98
- - 핵심 발견 사항
99
- - 전체 평가
100
-
101
- 2. **액션 아이템** (우선순위 목록)
102
- - 🔴 심각: 진행 전 반드시 수정
103
- - 🟡 중요: 조속히 해결 필요
104
- - 🟢 경미: 개선하면 좋음
105
-
106
- 3. **바로 적용 가능한 코드** (해당 시)
107
- - 각 이슈에 대한 실제 코드 수정안
108
- - 필요 시 before/after 비교 포함
109
-
110
- ## 출력 형식 템플릿
111
-
112
- ```markdown
113
- ---
114
- ## 📋 Gemini 리뷰 결과
115
-
116
- ### A. Gemini 응답 (원본)
117
-
118
- {gemini_response_verbatim}
119
-
120
- ---
121
-
122
- ### B. Claude 분석
123
-
124
- #### 요약
125
- {2-3문장 개요}
126
-
127
- #### 액션 아이템
128
-
129
- 🔴 **심각**
130
- - 이슈: {설명}
131
- - 수정: {해결책}
132
-
133
- 🟡 **중요**
134
- - 이슈: {설명}
135
- - 수정: {해결책}
136
-
137
- 🟢 **경미**
138
- - 이슈: {설명}
139
- - 수정: {해결책}
140
-
141
- #### 바로 적용 가능한 코드
142
-
143
- **{이슈명}**
144
- ```{language}
145
- {fixed_code}
146
- ```
147
-
148
- ---
149
- ```
150
-
151
- ## 명령어 예시
152
-
153
- ### 계획 리뷰
154
- ```bash
155
- gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
156
- [계획 리뷰 요청]
157
- 이 구현 계획의 완전성과 잠재적 문제를 검토해주세요:
158
-
159
- {plan_content}
160
-
161
- 확인 사항: 로직 오류, 누락된 엣지 케이스, 아키텍처 결함, 보안 우려.
162
- 구체적이고 실행 가능한 피드백을 제공해주세요.
163
- EOF
164
- )"
165
- ```
166
-
167
- ### 코드 리뷰 (파일 파이핑)
168
- ```bash
169
- cat src/routes/auth.ts | gemini -m gemini-2.5-pro -p "이 Hono 인증 코드를 보안 이슈, 버그, 베스트 프랙티스 관점에서 리뷰해주세요. 구체적인 라인별 피드백을 제공해주세요." --output-format json
170
- ```
171
-
172
- ### 아키텍처 리뷰
173
- ```bash
174
- gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
175
- [아키텍처 리뷰]
176
- 시스템: {system_name}
177
- 기술 스택: Hono + Cloudflare Workers + D1
178
-
179
- {architecture_description}
180
-
181
- 평가 항목: 확장성, 신뢰성, 유지보수성, 보안, 비용 효율성.
182
- 트레이드오프 분석과 함께 개선안을 제시해주세요.
183
- EOF
184
- )"
185
- ```
186
-
187
- ## 환경 호환성
188
-
189
- | 환경 | 실행 방법 |
190
- |------|-----------|
191
- | Claude Code | 직접 bash 실행 |
192
- | Claude (Web/Desktop) | `bash_tool` 사용 |
193
-
194
- 명령어 문법은 모든 환경에서 동일.
195
-
196
- ## 에러 처리
197
-
198
- Gemini 에러 발생 시:
199
- 1. 사용자에게 에러 메시지 표시
200
- 2. 일반적인 문제 확인:
201
- - 할당량 초과 (60/min 또는 1000/day 한도)
202
- - 네트워크 연결
203
- - 잘못된 프롬프트 형식
204
- 3. 재시도 또는 대안 제안
205
-
206
- ## 할당량 관리
207
-
208
- 무료 티어 한도:
209
- - 분당 60 요청
210
- - 일당 1000 요청
211
-
212
- 할당량 절약:
213
- - 관련 리뷰를 단일 프롬프트로 결합
214
- - 구체적이고 집중된 리뷰 요청 사용
215
- - 중복 리뷰 회피
216
-
217
- ## 참조 파일
218
-
219
- - `references/checklists.md`: 기술 스택별 리뷰 체크리스트
220
- - `references/prompt-templates.md`: 리뷰 타입별 프롬프트 템플릿
@@ -1,136 +0,0 @@
1
- # 기술 스택별 리뷰 체크리스트
2
-
3
- ## Hono 체크리스트
4
-
5
- ### API 설계
6
- - [ ] RESTful 규칙 준수 (적절한 HTTP 메서드, 상태 코드)
7
- - [ ] 일관된 URL 명명 (kebab-case, 복수형 명사)
8
- - [ ] path vs query 파라미터 적절한 사용
9
- - [ ] 응답 형식 일관성 (c.json, c.text, c.html)
10
- - [ ] c.notFound() 및 에러 응답의 적절한 사용
11
-
12
- ### 미들웨어
13
- - [ ] 미들웨어 순서가 올바름 (인증이 라우트 핸들러 전에)
14
- - [ ] 타입드 미들웨어에 createMiddleware 사용
15
- - [ ] 미들웨어가 next()로 제어를 올바르게 전달
16
- - [ ] 빌트인 미들웨어 적절히 설정 (cors, logger 등)
17
- - [ ] 커스텀 미들웨어가 재사용 가능하고 테스트 가능
18
-
19
- ### 유효성 검사 (zValidator)
20
- - [ ] 모든 POST/PUT/PATCH 라우트에 zValidator 적용
21
- - [ ] 유효성 검사 대상 올바름: json, query, param, header, form
22
- - [ ] Zod v4 문법 사용 (z.email(), z.url())
23
- - [ ] zValidator 콜백에서 커스텀 에러 처리
24
- - [ ] 관련 엔드포인트 간 스키마 재사용
25
-
26
- ### 에러 처리
27
- - [ ] HTTP 에러에 HTTPException 사용
28
- - [ ] 전역 onError 핸들러 설정
29
- - [ ] 일관된 에러 응답 형식
30
- - [ ] 에러에 민감 정보 노출 없음
31
- - [ ] 비즈니스 로직 에러용 커스텀 에러 클래스
32
-
33
- ### 타입 안전성
34
- - [ ] 환경 변수용 Bindings 타입 정의
35
- - [ ] 요청 컨텍스트용 Variables 타입 정의
36
- - [ ] c.env와 c.var 적절히 타입 지정
37
- - [ ] RPC 타입 내보내기 (AppType)
38
- - [ ] 클라이언트에서 InferRequestType/InferResponseType 사용
39
-
40
- ### 보안
41
- - [ ] 보호된 라우트에 인증 미들웨어 적용
42
- - [ ] Bearer 토큰 또는 JWT 검증 구현
43
- - [ ] CORS 적절히 설정
44
- - [ ] 레이트 리미팅 고려
45
- - [ ] 시크릿은 c.env로 접근, 하드코딩 금지
46
-
47
- ---
48
-
49
- ## Cloudflare Workers 체크리스트
50
-
51
- ### 바인딩 설정
52
- - [ ] wrangler.toml 적절히 설정
53
- - [ ] 모든 바인딩 선언 (KV, D1, R2 등)
54
- - [ ] 바인딩 타입이 wrangler.toml과 일치
55
- - [ ] 시크릿용 환경 변수 설정
56
- - [ ] 필요 시 compatibility_flags에 nodejs_compat 포함
57
-
58
- ### KV Namespace
59
- - [ ] 키가 적절히 네임스페이스됨
60
- - [ ] 적절한 곳에 TTL (expirationTtl) 설정
61
- - [ ] 추가 키 정보에 메타데이터 사용
62
- - [ ] List 작업에 prefix와 cursor로 페이지네이션
63
- - [ ] KV 작업에 에러 처리
64
-
65
- ### D1 데이터베이스
66
- - [ ] Prepared statements 사용 (문자열 연결 금지)
67
- - [ ] 여러 쿼리에 배치 작업 사용
68
- - [ ] 데이터베이스 작업에 에러 처리
69
- - [ ] 스키마 마이그레이션 적절히 관리
70
- - [ ] 자주 쿼리되는 컬럼에 인덱스 생성
71
-
72
- ### R2 Bucket
73
- - [ ] 업로드 시 Content-Type 설정
74
- - [ ] 누락된 객체에 대한 적절한 에러 처리
75
- - [ ] 대용량 파일에 멀티파트 업로드
76
- - [ ] 커스텀 메타데이터 적절히 사용
77
- - [ ] 액세스 제어 설정
78
-
79
- ### 엣지 런타임
80
- - [ ] Node.js 전용 API 사용 안 함
81
- - [ ] 웹 API 사용 (fetch, Request, Response)
82
- - [ ] 메모리 한도 고려 (<128MB)
83
- - [ ] CPU 시간 한도 고려 (<30s)
84
- - [ ] 서브리퀘스트 한도 고려 (<50)
85
-
86
- ### 배포
87
- - [ ] 환경별 wrangler.toml 섹션
88
- - [ ] wrangler secret put으로 시크릿 설정
89
- - [ ] 프리뷰 배포 작동 확인
90
- - [ ] 프로덕션 배포 테스트
91
- - [ ] 롤백 전략 마련
92
-
93
- ---
94
-
95
- ## 범용 체크리스트
96
-
97
- ### 코드 품질
98
- - [ ] 단일 책임 원칙 준수
99
- - [ ] DRY - 불필요한 중복 없음
100
- - [ ] 함수/메서드가 집중적이고 작음
101
- - [ ] 명확한 명명 규칙
102
- - [ ] 주석은 "why"를 설명, "what"이 아님
103
-
104
- ### 로직 및 정확성
105
- - [ ] 엣지 케이스 처리 (빈 값, null, 경계값)
106
- - [ ] 포괄적인 에러 처리
107
- - [ ] 레이스 컨디션 고려
108
- - [ ] 입력 유효성 검사
109
- - [ ] 반환값 확인
110
-
111
- ### 보안
112
- - [ ] 하드코딩된 시크릿 없음
113
- - [ ] 사용자 입력 살균
114
- - [ ] SQL 인젝션 방지 (파라미터화된 쿼리)
115
- - [ ] XSS 방지 조치
116
- - [ ] 적절한 인증/인가
117
-
118
- ### 성능
119
- - [ ] 스케일에 적합한 시간 복잡도
120
- - [ ] 적절한 공간 복잡도
121
- - [ ] 불필요한 반복 없음
122
- - [ ] 데이터베이스 쿼리 최적화
123
- - [ ] 적절한 캐싱 고려
124
-
125
- ### 유지보수성
126
- - [ ] 테스트 가능한 코드
127
- - [ ] 최소한의 정당화된 의존성
128
- - [ ] 설정 외부화
129
- - [ ] 디버깅을 위한 로깅
130
- - [ ] 도움이 되는 에러 메시지
131
-
132
- ### 문서화
133
- - [ ] 공개 API 문서화
134
- - [ ] 복잡한 로직 설명
135
- - [ ] 명확한 설정 가이드
136
- - [ ] 환경 변수 문서화
@@ -1,303 +0,0 @@
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
- ## Hono 특화 추가사항
232
-
233
- tech_stack이 `hono`일 때 관련 템플릿에 추가:
234
-
235
- ```
236
- ## Hono 특화 리뷰 포인트
237
- - 미들웨어 체인 정확성 및 순서
238
- - zValidator 사용 및 Zod 스키마 설계
239
- - 에러 처리에 HTTPException 사용
240
- - Context (c) 사용 패턴
241
- - 타입 안전 바인딩 및 변수
242
- - RPC 클라이언트 타입 내보내기
243
- - 빌트인 미들웨어 설정
244
- ```
245
-
246
- ---
247
-
248
- ## Cloudflare Workers 특화 추가사항
249
-
250
- tech_stack이 `cloudflare`일 때 관련 템플릿에 추가:
251
-
252
- ```
253
- ## Cloudflare Workers 특화 리뷰 포인트
254
- - 엣지 런타임 호환성 (Node.js API 금지)
255
- - KV, D1, R2 바인딩 사용
256
- - wrangler.toml 설정
257
- - c.env를 통한 환경 변수 처리
258
- - 요청/응답 크기 제한
259
- - CPU 및 메모리 제약
260
- - 서브리퀘스트 한도 (<50)
261
- - 해당 시 Durable Objects
262
- ```
263
-
264
- ---
265
-
266
- ## 빠른 리뷰 템플릿
267
-
268
- ### 보안 빠른 체크
269
- ```bash
270
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 Hono 코드를 보안 감사해주세요. 찾을 것: 인젝션 취약점, 인증 이슈, 데이터 노출 위험, 입력 유효성 검사 갭. 각각 심각도와 수정안과 함께 나열해주세요." --output-format json
271
- ```
272
-
273
- ### 성능 빠른 체크
274
- ```bash
275
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 Hono 코드를 성능 리뷰해주세요. 찾을 것: 비효율적인 알고리즘 (Big-O 명시), N+1 쿼리, 메모리 이슈, 불필요한 연산. 최적화를 제안해주세요." --output-format json
276
- ```
277
-
278
- ### 버그 헌팅
279
- ```bash
280
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드에서 버그를 찾아주세요: 로직 오류, 엣지 케이스, null 처리, 레이스 컨디션, 타입 이슈. 각 버그에 대해 수정안을 보여주세요." --output-format json
281
- ```
282
-
283
- ### 미들웨어 리뷰
284
- ```bash
285
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 Hono 미들웨어를 리뷰해주세요: 적절한 next() 처리, 에러 전파, 타입 안전성, 재사용성, 부작용. 개선안을 제안해주세요." --output-format json
286
- ```
287
-
288
- ### 유효성 검사 리뷰
289
- ```bash
290
- cat {file_path} | gemini -m gemini-2.5-pro -p "Zod 스키마와 zValidator 사용을 리뷰해주세요: 스키마 완전성, 에러 메시지, 타입 추론, 재사용성. Zod v4 문법을 사용해주세요." --output-format json
291
- ```
292
-
293
- ---
294
-
295
- ## 템플릿 사용 가이드
296
-
297
- 1. 적절한 기본 템플릿 선택 (plan/code/architecture)
298
- 2. 모든 `{placeholder}` 필드를 실제 내용으로 채움
299
- 3. 기술 스택에 따라 `checklists.md`에서 관련 체크리스트 로드
300
- 4. 해당 시 기술 스택 특화 추가사항 첨부
301
- 5. Gemini CLI로 실행
302
- 6. JSON 응답을 파싱하여 `.response` 필드 추출
303
- 7. Gemini 원본 응답과 Claude 분석 모두 제시