@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.
- package/dist/index.js +21 -243
- package/package.json +1 -1
- package/templates/hono/CLAUDE.md +10 -6
- package/templates/hono/docs/deployment/index.md +5 -0
- package/templates/hono/docs/library/hono/index.md +6 -0
- package/templates/hono/docs/library/prisma/index.md +3 -0
- package/templates/npx/CLAUDE.md +8 -2
- package/templates/tanstack-start/CLAUDE.md +105 -259
- package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
- package/templates/tanstack-start/docs/deployment/index.md +57 -286
- package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
- package/templates/tanstack-start/docs/deployment/railway.md +40 -409
- package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
- package/templates/tanstack-start/docs/design/accessibility.md +56 -326
- package/templates/tanstack-start/docs/design/color.md +37 -179
- package/templates/tanstack-start/docs/design/components.md +77 -311
- package/templates/tanstack-start/docs/design/index.md +24 -87
- package/templates/tanstack-start/docs/design/safe-area.md +51 -250
- package/templates/tanstack-start/docs/design/spacing.md +57 -276
- package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
- package/templates/tanstack-start/docs/design/typography.md +40 -284
- package/templates/tanstack-start/docs/guides/best-practices.md +3 -8
- package/templates/tanstack-start/docs/guides/env-setup.md +3 -3
- package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
- package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
- package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
- package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
- package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
- package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
- package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
- package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
- package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
- package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
- package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
- package/templates/tanstack-start/docs/library/prisma/setup.md +13 -113
- package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
- package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
- package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
- package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
- package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -73
- package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
- package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
- package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
- package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
- package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
- package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +41 -172
- package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
- package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
- package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
- package/templates/tanstack-start/docs/library/zod/index.md +22 -150
- package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
- package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
- package/templates/hono/docs/commands/git.md +0 -145
- package/templates/hono/docs/mcp/context7.md +0 -106
- package/templates/hono/docs/mcp/index.md +0 -176
- package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
- package/templates/hono/docs/mcp/serena.md +0 -269
- package/templates/hono/docs/mcp/sgrep.md +0 -105
- package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
- package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
- package/templates/npx/docs/commands/git.md +0 -145
- package/templates/npx/docs/mcp/index.md +0 -60
- package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
- package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
- package/templates/tanstack-start/docs/commands/git.md +0 -145
- package/templates/tanstack-start/docs/mcp/context7.md +0 -204
- package/templates/tanstack-start/docs/mcp/index.md +0 -177
- package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
- package/templates/tanstack-start/docs/mcp/serena.md +0 -269
- package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
- package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
- package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
|
@@ -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 분석 모두 제시
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
현재 git 상태를 확인하고, 아래 규칙에 따라 작업을 진행해주세요.
|
|
2
|
-
|
|
3
|
-
**추가 지시사항**: $ARGUMENTS
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 실행 절차
|
|
8
|
-
|
|
9
|
-
### 추가 지시사항이 없는 경우 (기본 동작)
|
|
10
|
-
1. `git status`로 현재 상태 확인
|
|
11
|
-
2. `git diff`로 변경 내용 분석
|
|
12
|
-
3. 스테이징 안 된 변경사항 → `git add`
|
|
13
|
-
4. 커밋 안 된 변경사항 → 논리적 단위로 분리하여 `git commit`
|
|
14
|
-
5. 최종 `git status`로 완료 확인
|
|
15
|
-
|
|
16
|
-
### 추가 지시사항이 있는 경우
|
|
17
|
-
- 사용자의 지시사항을 우선적으로 따름
|
|
18
|
-
- 예: `/git push` → push 진행, `/git 특정파일만 커밋` → 해당 파일만 처리
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## ⛔ NEVER (절대 금지)
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
❌ 커밋에 "Generated with Claude Code" 포함
|
|
26
|
-
❌ 커밋에 "🤖" 또는 AI 관련 이모지 포함
|
|
27
|
-
❌ 커밋에 "Co-Authored-By:" 헤더 포함
|
|
28
|
-
❌ 커밋에 AI/봇이 작성했다는 어떤 표시도 포함
|
|
29
|
-
❌ 커밋 메시지 여러 줄 작성
|
|
30
|
-
❌ 커밋 메시지에 이모지 사용
|
|
31
|
-
❌ 커밋 메시지에 마침표(.) 사용
|
|
32
|
-
❌ 여러 작업을 하나의 커밋으로 퉁치기
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## ✅ ALWAYS (필수)
|
|
38
|
-
|
|
39
|
-
### 커밋 형식
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
<prefix>: <설명>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**한 줄로 간결하게** 작성합니다. 본문이나 푸터는 작성하지 않습니다.
|
|
46
|
-
|
|
47
|
-
### ⭐ 커밋 분리 원칙
|
|
48
|
-
|
|
49
|
-
**하나의 커밋 = 하나의 논리적 변경 단위**
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# ❌ 잘못된 방식: 모든 작업을 하나로 퉁침
|
|
53
|
-
git add .
|
|
54
|
-
git commit -m "feat: 여러 기능 추가"
|
|
55
|
-
|
|
56
|
-
# ✅ 올바른 방식: 논리적 단위로 분리
|
|
57
|
-
git add src/auth/
|
|
58
|
-
git commit -m "feat: 사용자 인증 기능 추가"
|
|
59
|
-
|
|
60
|
-
git add src/users/
|
|
61
|
-
git commit -m "feat: 사용자 관리 기능 추가"
|
|
62
|
-
|
|
63
|
-
git add docs/
|
|
64
|
-
git commit -m "docs: API 문서 업데이트"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## 🏷 Prefix 목록
|
|
70
|
-
|
|
71
|
-
| Prefix | 용도 | 예시 |
|
|
72
|
-
|--------|------|------|
|
|
73
|
-
| `feat` | 새로운 기능 | `feat: 사용자 인증 기능 추가` |
|
|
74
|
-
| `fix` | 버그 수정 | `fix: 토큰 검증 오류 수정` |
|
|
75
|
-
| `refactor` | 리팩토링 | `refactor: 인증 로직 분리` |
|
|
76
|
-
| `style` | 코드 스타일 | `style: prettier 적용` |
|
|
77
|
-
| `docs` | 문서 수정 | `docs: API 문서 업데이트` |
|
|
78
|
-
| `test` | 테스트 | `test: 인증 테스트 추가` |
|
|
79
|
-
| `chore` | 빌드/설정 | `chore: 의존성 업데이트` |
|
|
80
|
-
| `perf` | 성능 개선 | `perf: 쿼리 최적화` |
|
|
81
|
-
| `ci` | CI/CD | `ci: GitHub Actions 추가` |
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## ✅ 올바른 예시
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
feat: 사용자 로그인 기능 추가
|
|
89
|
-
fix: 세션 만료 오류 수정
|
|
90
|
-
refactor: 서비스 클래스 구조 개선
|
|
91
|
-
docs: README 설치 가이드 추가
|
|
92
|
-
chore: 의존성 버전 업그레이드
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## ❌ 잘못된 예시
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
# prefix 없음
|
|
101
|
-
사용자 인증 기능 추가함
|
|
102
|
-
|
|
103
|
-
# 마침표 불필요
|
|
104
|
-
feat: 사용자 인증 추가.
|
|
105
|
-
|
|
106
|
-
# 대문자 사용
|
|
107
|
-
FEAT: 사용자 인증 추가
|
|
108
|
-
|
|
109
|
-
# scope 불필요
|
|
110
|
-
feat(auth): 인증 추가
|
|
111
|
-
|
|
112
|
-
# AI 작성 표시 (절대 금지!)
|
|
113
|
-
feat: 로그인 기능 추가
|
|
114
|
-
|
|
115
|
-
🤖 Generated with Claude Code
|
|
116
|
-
|
|
117
|
-
# Co-Author 표시 (절대 금지!)
|
|
118
|
-
feat: 로그인 기능 추가
|
|
119
|
-
|
|
120
|
-
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
121
|
-
|
|
122
|
-
# 여러 줄 본문 (금지)
|
|
123
|
-
feat: 로그인 기능 추가
|
|
124
|
-
|
|
125
|
-
- 이메일 인증 추가
|
|
126
|
-
- 세션 관리 구현
|
|
127
|
-
|
|
128
|
-
# 여러 작업을 하나로 퉁침 (금지)
|
|
129
|
-
feat: 로그인, 회원가입, 프로필 기능 추가
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 📦 커밋 분리 가이드
|
|
135
|
-
|
|
136
|
-
### 언제 커밋을 분리해야 하나요?
|
|
137
|
-
|
|
138
|
-
| 상황 | 커밋 분리 |
|
|
139
|
-
|------|----------|
|
|
140
|
-
| 서로 다른 기능 구현 | ✅ 분리 |
|
|
141
|
-
| 버그 수정 + 새 기능 | ✅ 분리 |
|
|
142
|
-
| 코드 변경 + 문서 변경 | ✅ 분리 |
|
|
143
|
-
| 리팩토링 + 기능 추가 | ✅ 분리 |
|
|
144
|
-
| 동일 기능의 관련 파일들 | 🔄 묶어도 됨 |
|
|
145
|
-
| 동일 기능의 타입 + 구현 | 🔄 묶어도 됨 |
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
# Context7 MCP
|
|
2
|
-
|
|
3
|
-
> 라이브러리 공식 문서를 실시간으로 조회하는 도구
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 🚀 Quick Reference
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
✅ 사용 필수 상황:
|
|
11
|
-
- 라이브러리 API 사용법 확인
|
|
12
|
-
- 최신 버전 문법 확인
|
|
13
|
-
- 공식 문서 기반 구현
|
|
14
|
-
- 버전 마이그레이션
|
|
15
|
-
|
|
16
|
-
❌ 불필요한 상황:
|
|
17
|
-
- 이미 알고 있는 기본 문법
|
|
18
|
-
- 프로젝트 내부 코드 분석
|
|
19
|
-
- 비즈니스 로직 구현
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 사용 방법
|
|
25
|
-
|
|
26
|
-
### Step 1: 라이브러리 ID 조회
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
resolve-library-id 사용
|
|
30
|
-
→ 라이브러리 이름으로 Context7 ID 획득
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Step 2: 문서 조회
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
get-library-docs 사용
|
|
37
|
-
→ 특정 토픽의 문서 가져오기
|
|
38
|
-
|
|
39
|
-
파라미터:
|
|
40
|
-
- context7CompatibleLibraryID: 라이브러리 ID
|
|
41
|
-
- topic: 조회할 주제 (예: "hooks", "routing")
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 프로젝트 라이브러리별 사용 예시
|
|
47
|
-
|
|
48
|
-
### TanStack Start
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
토픽 예시:
|
|
52
|
-
- "server functions" - createServerFn 사용법
|
|
53
|
-
- "routing" - 파일 기반 라우팅
|
|
54
|
-
- "loader" - 데이터 로딩
|
|
55
|
-
- "middleware" - 미들웨어 설정
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### TanStack Query
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
토픽 예시:
|
|
62
|
-
- "useQuery" - 쿼리 훅
|
|
63
|
-
- "useMutation" - 뮤테이션 훅
|
|
64
|
-
- "invalidation" - 캐시 무효화
|
|
65
|
-
- "optimistic updates" - 낙관적 업데이트
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Prisma
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
토픽 예시:
|
|
72
|
-
- "findMany" - 다중 조회
|
|
73
|
-
- "create" - 생성
|
|
74
|
-
- "relations" - 관계 쿼리
|
|
75
|
-
- "transactions" - 트랜잭션
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Zod
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
토픽 예시:
|
|
82
|
-
- "object" - 객체 스키마
|
|
83
|
-
- "email" - 이메일 검증 (v4)
|
|
84
|
-
- "transform" - 변환
|
|
85
|
-
- "refinement" - 커스텀 검증
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Tailwind CSS
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
토픽 예시:
|
|
92
|
-
- "configuration" - 설정
|
|
93
|
-
- "theme" - 테마 커스터마이징
|
|
94
|
-
- "responsive" - 반응형
|
|
95
|
-
- "dark mode" - 다크 모드
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Better Auth
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
토픽 예시:
|
|
102
|
-
- "setup" - 초기 설정
|
|
103
|
-
- "session" - 세션 관리
|
|
104
|
-
- "providers" - OAuth 설정
|
|
105
|
-
- "2fa" - 이중 인증
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 사용 시점
|
|
111
|
-
|
|
112
|
-
### ✅ 반드시 사용
|
|
113
|
-
|
|
114
|
-
| 상황 | 이유 |
|
|
115
|
-
|------|------|
|
|
116
|
-
| 새 API 사용 | 정확한 시그니처 확인 |
|
|
117
|
-
| 버전 업그레이드 | 변경사항 확인 |
|
|
118
|
-
| 에러 해결 | 올바른 사용법 확인 |
|
|
119
|
-
| 고급 기능 | 옵션/설정 확인 |
|
|
120
|
-
|
|
121
|
-
### ❌ 사용 불필요
|
|
122
|
-
|
|
123
|
-
| 상황 | 이유 |
|
|
124
|
-
|------|------|
|
|
125
|
-
| 기본 문법 | 이미 문서화됨 |
|
|
126
|
-
| 내부 코드 | Context7 범위 외 |
|
|
127
|
-
| 비즈니스 로직 | 라이브러리 무관 |
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## 실전 예시
|
|
132
|
-
|
|
133
|
-
### 예시 1: TanStack Query 캐시 무효화
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
상황: mutation 후 목록 갱신이 안됨
|
|
137
|
-
|
|
138
|
-
1. Context7로 "invalidation" 토픽 조회
|
|
139
|
-
2. queryClient.invalidateQueries 사용법 확인
|
|
140
|
-
3. 올바른 queryKey 패턴 적용
|
|
141
|
-
|
|
142
|
-
결과:
|
|
143
|
-
queryClient.invalidateQueries({ queryKey: ['users'] })
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### 예시 2: Prisma 관계 쿼리
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
상황: User와 Post를 함께 조회하고 싶음
|
|
150
|
-
|
|
151
|
-
1. Context7로 "relations" 토픽 조회
|
|
152
|
-
2. include 옵션 사용법 확인
|
|
153
|
-
|
|
154
|
-
결과:
|
|
155
|
-
prisma.user.findUnique({
|
|
156
|
-
where: { id },
|
|
157
|
-
include: { posts: true }
|
|
158
|
-
})
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### 예시 3: Zod v4 마이그레이션
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
상황: Zod v3 → v4 업그레이드
|
|
165
|
-
|
|
166
|
-
1. Context7로 "migration" 또는 "email" 토픽 조회
|
|
167
|
-
2. v4 새 API 확인
|
|
168
|
-
|
|
169
|
-
결과:
|
|
170
|
-
// v3: z.string().email()
|
|
171
|
-
// v4: z.email()
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Sequential Thinking과 함께 사용
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
복잡한 구현 시:
|
|
180
|
-
|
|
181
|
-
1. Sequential Thinking으로 구현 계획
|
|
182
|
-
↓
|
|
183
|
-
2. 필요한 라이브러리 기능 파악
|
|
184
|
-
↓
|
|
185
|
-
3. Context7로 각 기능 문서 조회
|
|
186
|
-
↓
|
|
187
|
-
4. 문서 기반 구현
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## 주의사항
|
|
193
|
-
|
|
194
|
-
- **최신 문서**: Context7은 최신 공식 문서 제공
|
|
195
|
-
- **버전 확인**: 프로젝트 버전과 문서 버전 일치 확인
|
|
196
|
-
- **토픽 선택**: 구체적인 토픽으로 조회 시 더 정확한 결과
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## 참고
|
|
201
|
-
|
|
202
|
-
- 문서가 충분하지 않으면 다른 토픽으로 재조회
|
|
203
|
-
- 여러 라이브러리 문서를 연속으로 조회 가능
|
|
204
|
-
- Sequential Thinking과 조합하여 체계적 구현
|