@kood/claude-code 0.1.6 → 0.1.9

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 (107) hide show
  1. package/dist/index.js +109 -216
  2. package/package.json +8 -2
  3. package/templates/hono/CLAUDE.md +59 -328
  4. package/templates/hono/docs/architecture/architecture.md +93 -747
  5. package/templates/hono/docs/deployment/cloudflare.md +59 -513
  6. package/templates/hono/docs/deployment/docker.md +41 -356
  7. package/templates/hono/docs/deployment/index.md +54 -190
  8. package/templates/hono/docs/deployment/railway.md +36 -306
  9. package/templates/hono/docs/deployment/vercel.md +49 -434
  10. package/templates/hono/docs/library/ai-sdk/index.md +53 -290
  11. package/templates/hono/docs/library/ai-sdk/openrouter.md +19 -387
  12. package/templates/hono/docs/library/ai-sdk/providers.md +28 -394
  13. package/templates/hono/docs/library/ai-sdk/streaming.md +52 -353
  14. package/templates/hono/docs/library/ai-sdk/structured-output.md +63 -395
  15. package/templates/hono/docs/library/ai-sdk/tools.md +62 -431
  16. package/templates/hono/docs/library/hono/env-setup.md +24 -313
  17. package/templates/hono/docs/library/hono/error-handling.md +34 -295
  18. package/templates/hono/docs/library/hono/index.md +29 -121
  19. package/templates/hono/docs/library/hono/middleware.md +21 -188
  20. package/templates/hono/docs/library/hono/rpc.md +40 -341
  21. package/templates/hono/docs/library/hono/validation.md +35 -195
  22. package/templates/hono/docs/library/pino/index.md +42 -333
  23. package/templates/hono/docs/library/prisma/cloudflare-d1.md +64 -367
  24. package/templates/hono/docs/library/prisma/config.md +19 -260
  25. package/templates/hono/docs/library/prisma/index.md +67 -320
  26. package/templates/hono/docs/library/zod/index.md +53 -257
  27. package/templates/npx/CLAUDE.md +62 -274
  28. package/templates/npx/docs/references/patterns.md +160 -0
  29. package/templates/tanstack-start/CLAUDE.md +100 -256
  30. package/templates/tanstack-start/docs/architecture/architecture.md +44 -589
  31. package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
  32. package/templates/tanstack-start/docs/deployment/index.md +57 -286
  33. package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
  34. package/templates/tanstack-start/docs/deployment/railway.md +40 -409
  35. package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
  36. package/templates/tanstack-start/docs/design/components.md +77 -311
  37. package/templates/tanstack-start/docs/design/index.md +113 -69
  38. package/templates/tanstack-start/docs/design/safe-area.md +51 -250
  39. package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
  40. package/templates/tanstack-start/docs/guides/conventions.md +103 -0
  41. package/templates/tanstack-start/docs/guides/env-setup.md +34 -340
  42. package/templates/tanstack-start/docs/guides/getting-started.md +22 -209
  43. package/templates/tanstack-start/docs/guides/hooks.md +166 -0
  44. package/templates/tanstack-start/docs/guides/routes.md +166 -0
  45. package/templates/tanstack-start/docs/guides/services.md +143 -0
  46. package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
  47. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  48. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  49. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  50. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  51. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  52. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  53. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  54. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  55. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  56. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  57. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  58. package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
  59. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  60. package/templates/tanstack-start/docs/library/tanstack-query/index.md +26 -97
  61. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  62. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  63. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  64. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  65. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  66. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  67. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  68. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  69. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
  70. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  71. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  72. package/templates/tanstack-start/docs/library/zod/index.md +31 -144
  73. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  74. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  75. package/templates/hono/docs/commands/git.md +0 -145
  76. package/templates/hono/docs/mcp/context7.md +0 -106
  77. package/templates/hono/docs/mcp/index.md +0 -176
  78. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  79. package/templates/hono/docs/mcp/serena.md +0 -269
  80. package/templates/hono/docs/mcp/sgrep.md +0 -105
  81. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  82. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  83. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  84. package/templates/npx/docs/commands/git.md +0 -145
  85. package/templates/npx/docs/mcp/index.md +0 -60
  86. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  87. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  88. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  89. package/templates/tanstack-start/docs/commands/git.md +0 -145
  90. package/templates/tanstack-start/docs/design/accessibility.md +0 -433
  91. package/templates/tanstack-start/docs/design/color.md +0 -235
  92. package/templates/tanstack-start/docs/design/spacing.md +0 -341
  93. package/templates/tanstack-start/docs/design/typography.md +0 -324
  94. package/templates/tanstack-start/docs/guides/best-practices.md +0 -950
  95. package/templates/tanstack-start/docs/guides/husky-lint-staged.md +0 -303
  96. package/templates/tanstack-start/docs/guides/prettier.md +0 -189
  97. package/templates/tanstack-start/docs/guides/project-templates.md +0 -710
  98. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +0 -107
  99. package/templates/tanstack-start/docs/library/zod/basic-types.md +0 -186
  100. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  101. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  102. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  103. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  104. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  105. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  106. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  107. 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를 세컨드 오피니언으로 활용. NPX CLI 도구, Node.js 등 특화 체크리스트 지원. 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
- - NPX CLI 도구, Node.js 프로젝트 특화 피드백
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. **기술 스택** (선택): `npx-cli`, `nodejs`, `general`
37
- 3. **리뷰 대상**: 실제 계획, 코드, 아키텍처 설명
38
-
39
- ### Step 2: 체크리스트 로드
40
-
41
- 기술 스택에 따라 `references/checklists.md`에서 해당 체크리스트 로드:
42
- - **NPX CLI**: Commander.js, prompts, fs-extra, 파일 시스템 작업
43
- - **Node.js**: 비동기 패턴, 에러 처리, 스트림
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/cli.ts | gemini -m gemini-2.5-pro -p "이 NPX CLI 코드를 보안 이슈, 버그, 베스트 프랙티스 관점에서 리뷰해주세요. 구체적인 라인별 피드백을 제공해주세요." --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
- 기술 스택: NPX CLI + Commander.js + fs-extra
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,134 +0,0 @@
1
- # 기술 스택별 리뷰 체크리스트
2
-
3
- ## NPX CLI 체크리스트
4
-
5
- ### Commander.js 사용
6
- - [ ] program.name(), description(), version() 설정
7
- - [ ] 명령어와 옵션이 명확히 정의됨
8
- - [ ] 필수 옵션과 선택 옵션이 구분됨
9
- - [ ] 도움말 텍스트가 명확하고 유용함
10
- - [ ] 기본값이 적절히 설정됨
11
- - [ ] 인수 유효성 검사 구현
12
-
13
- ### 인터랙티브 프롬프트 (prompts)
14
- - [ ] 사용자 입력에 적절한 프롬프트 타입 사용
15
- - [ ] 유효성 검사 함수 구현
16
- - [ ] 기본값 제공
17
- - [ ] 취소 처리 (Ctrl+C)
18
- - [ ] 초기값과 힌트 텍스트 제공
19
- - [ ] 조건부 프롬프트 적절히 처리
20
-
21
- ### 파일 시스템 작업 (fs-extra)
22
- - [ ] fs-extra 메서드 올바르게 사용 (copy, ensureDir, remove 등)
23
- - [ ] 파일/디렉토리 존재 여부 확인
24
- - [ ] 에러 처리 구현 (ENOENT, EACCES 등)
25
- - [ ] 비동기 작업에 async/await 사용
26
- - [ ] 경로 조합에 path.join() 사용
27
- - [ ] 상대 경로와 절대 경로 적절히 처리
28
-
29
- ### 출력 및 로깅
30
- - [ ] 콘솔 출력이 명확하고 포맷팅됨
31
- - [ ] 색상 출력 적절히 사용 (chalk 등)
32
- - [ ] 진행 상황 표시 (스피너, 프로그레스 바)
33
- - [ ] 에러 메시지가 도움이 됨
34
- - [ ] 디버그 모드 지원
35
- - [ ] 조용한 모드 옵션 제공
36
-
37
- ### 에러 처리
38
- - [ ] try-catch로 비동기 에러 처리
39
- - [ ] 사용자 친화적 에러 메시지
40
- - [ ] 적절한 exit 코드 사용 (0: 성공, 1: 에러)
41
- - [ ] 스택 트레이스는 디버그 모드에서만 표시
42
- - [ ] 복구 가능한 에러와 치명적 에러 구분
43
-
44
- ### 타입 안전성 (TypeScript)
45
- - [ ] CLI 옵션 타입 정의
46
- - [ ] 설정 객체 인터페이스 정의
47
- - [ ] 함수 반환 타입 명시
48
- - [ ] `any` 타입 사용 최소화
49
- - [ ] 타입 가드 적절히 사용
50
-
51
- ---
52
-
53
- ## Node.js 체크리스트
54
-
55
- ### 비동기 패턴
56
- - [ ] async/await 일관되게 사용
57
- - [ ] Promise 체인 적절히 처리
58
- - [ ] 병렬 작업에 Promise.all() 사용
59
- - [ ] 에러 전파 올바르게 처리
60
- - [ ] 콜백 지옥 회피
61
-
62
- ### 파일 시스템
63
- - [ ] 비동기 fs 메서드 사용 (fs.promises)
64
- - [ ] 스트림으로 대용량 파일 처리
65
- - [ ] 파일 핸들 적절히 닫기
66
- - [ ] 임시 파일 정리
67
- - [ ] 심볼릭 링크 적절히 처리
68
-
69
- ### 프로세스 관리
70
- - [ ] 자식 프로세스 적절히 생성 (spawn vs exec)
71
- - [ ] 프로세스 종료 시그널 처리 (SIGTERM, SIGINT)
72
- - [ ] stdin/stdout/stderr 스트림 처리
73
- - [ ] exit 코드 올바르게 설정
74
- - [ ] 환경 변수 적절히 사용
75
-
76
- ### 의존성 관리
77
- - [ ] package.json 메타데이터 완전함
78
- - [ ] dependencies vs devDependencies 구분
79
- - [ ] peerDependencies 필요 시 명시
80
- - [ ] bin 필드로 실행 파일 지정
81
- - [ ] engines 필드로 Node.js 버전 명시
82
-
83
- ### 보안
84
- - [ ] 사용자 입력 검증
85
- - [ ] 경로 순회 공격 방지
86
- - [ ] 환경 변수로 민감 정보 관리
87
- - [ ] 의존성 취약점 확인
88
- - [ ] 파일 권한 적절히 설정
89
-
90
- ---
91
-
92
- ## 범용 체크리스트
93
-
94
- ### 코드 품질
95
- - [ ] 단일 책임 원칙 준수
96
- - [ ] DRY - 불필요한 중복 없음
97
- - [ ] 함수/메서드가 집중적이고 작음
98
- - [ ] 명확한 명명 규칙
99
- - [ ] 주석은 "why"를 설명, "what"이 아님
100
-
101
- ### 로직 및 정확성
102
- - [ ] 엣지 케이스 처리 (빈 값, null, 경계값)
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
- - [ ] README.md 완비
131
- - [ ] 설치 및 사용법 안내
132
- - [ ] CLI 도움말 텍스트 명확
133
- - [ ] 예제 제공
134
- - [ ] 환경 변수 문서화
@@ -1,301 +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
- - 명령어 인젝션 위험
117
- - 경로 순회 공격
118
- - 데이터 노출 위험
119
- - 입력 유효성 검사 이슈
120
-
121
- 3. **성능 이슈**
122
- - 비효율적인 알고리즘 (문제 시 Big-O 명시)
123
- - 메모리 누수
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
- - 모듈화와 플러그인 시스템 고려?
192
- - 확인된 병목 지점은?
193
-
194
- 2. **신뢰성**
195
- - 단일 장애 지점이 있는가?
196
- - 에러 복구 메커니즘은?
197
- - 그레이스풀 종료 처리는?
198
-
199
- 3. **유지보수성**
200
- - 컴포넌트 결합도는?
201
- - 코드 구조가 명확한가?
202
- - 테스트 용이성은?
203
-
204
- 4. **보안**
205
- - 공격 표면은?
206
- - 입력 검증 전략은?
207
- - 권한 관리는?
208
-
209
- 5. **사용자 경험**
210
- - CLI 인터페이스가 직관적인가?
211
- - 에러 메시지가 도움이 되는가?
212
- - 문서화가 충분한가?
213
-
214
- 6. **트레이드오프**
215
- - 무엇을 희생하고 있는가?
216
- - 대안적 아키텍처는?
217
- - 마이그레이션 경로 고려사항은?
218
-
219
- 응답 형식:
220
- - 📊 전체 평가
221
- - ✅ 아키텍처 강점
222
- - ⚠️ 우려사항 및 위험
223
- - 💡 권장사항
224
- - 🔄 고려할 가치가 있는 대안적 접근방식
225
- EOF
226
- )"
227
- ```
228
-
229
- ---
230
-
231
- ## NPX CLI 특화 추가사항
232
-
233
- tech_stack이 `npx-cli`일 때 관련 템플릿에 추가:
234
-
235
- ```
236
- ## NPX CLI 특화 리뷰 포인트
237
- - Commander.js 명령어/옵션 설계
238
- - 인터랙티브 프롬프트 UX
239
- - fs-extra 파일 작업 패턴
240
- - 에러 메시지와 exit 코드
241
- - 콘솔 출력 포맷팅
242
- - 진행 상황 표시
243
- - package.json bin 필드 설정
244
- ```
245
-
246
- ---
247
-
248
- ## Node.js 특화 추가사항
249
-
250
- tech_stack이 `nodejs`일 때 관련 템플릿에 추가:
251
-
252
- ```
253
- ## Node.js 특화 리뷰 포인트
254
- - async/await 패턴 정확성
255
- - 스트림 처리
256
- - 프로세스 시그널 처리
257
- - 환경 변수 관리
258
- - 의존성 관리 및 버전 명시
259
- - 크로스 플랫폼 호환성
260
- ```
261
-
262
- ---
263
-
264
- ## 빠른 리뷰 템플릿
265
-
266
- ### 보안 빠른 체크
267
- ```bash
268
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 CLI 코드를 보안 감사해주세요. 찾을 것: 명령어 인젝션, 경로 순회, 입력 유효성 검사 갭, 민감 정보 노출. 각각 심각도와 수정안과 함께 나열해주세요." --output-format json
269
- ```
270
-
271
- ### 성능 빠른 체크
272
- ```bash
273
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 Node.js 코드를 성능 리뷰해주세요. 찾을 것: 비효율적인 알고리즘 (Big-O 명시), 블로킹 작업, 메모리 이슈, 불필요한 연산. 최적화를 제안해주세요." --output-format json
274
- ```
275
-
276
- ### 버그 헌팅
277
- ```bash
278
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드에서 버그를 찾아주세요: 로직 오류, 엣지 케이스, null 처리, 레이스 컨디션, 타입 이슈. 각 버그에 대해 수정안을 보여주세요." --output-format json
279
- ```
280
-
281
- ### CLI UX 리뷰
282
- ```bash
283
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 CLI 코드의 사용자 경험을 리뷰해주세요: 도움말 텍스트, 에러 메시지, 진행 상황 표시, 입력 유효성 검사. 개선안을 제안해주세요." --output-format json
284
- ```
285
-
286
- ### 파일 작업 리뷰
287
- ```bash
288
- cat {file_path} | gemini -m gemini-2.5-pro -p "이 파일 시스템 작업 코드를 리뷰해주세요: 에러 처리, 경로 검증, 임시 파일 정리, 권한 처리. 개선안을 제안해주세요." --output-format json
289
- ```
290
-
291
- ---
292
-
293
- ## 템플릿 사용 가이드
294
-
295
- 1. 적절한 기본 템플릿 선택 (plan/code/architecture)
296
- 2. 모든 `{placeholder}` 필드를 실제 내용으로 채움
297
- 3. 기술 스택에 따라 `checklists.md`에서 관련 체크리스트 로드
298
- 4. 해당 시 기술 스택 특화 추가사항 첨부
299
- 5. Gemini CLI로 실행
300
- 6. JSON 응답을 파싱하여 `.response` 필드 추출
301
- 7. Gemini 원본 응답과 Claude 분석 모두 제시