@kood/claude-code 0.1.0

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 (78) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +297 -0
  3. package/package.json +47 -0
  4. package/templates/hono/CLAUDE.md +376 -0
  5. package/templates/hono/docs/deployment/cloudflare.md +328 -0
  6. package/templates/hono/docs/deployment/index.md +291 -0
  7. package/templates/hono/docs/git/index.md +180 -0
  8. package/templates/hono/docs/library/hono/error-handling.md +400 -0
  9. package/templates/hono/docs/library/hono/index.md +241 -0
  10. package/templates/hono/docs/library/hono/middleware.md +334 -0
  11. package/templates/hono/docs/library/hono/rpc.md +454 -0
  12. package/templates/hono/docs/library/hono/validation.md +328 -0
  13. package/templates/hono/docs/library/prisma/index.md +427 -0
  14. package/templates/hono/docs/library/zod/index.md +413 -0
  15. package/templates/hono/docs/mcp/context7.md +106 -0
  16. package/templates/hono/docs/mcp/index.md +94 -0
  17. package/templates/hono/docs/mcp/sequential-thinking.md +101 -0
  18. package/templates/hono/docs/mcp/sgrep.md +105 -0
  19. package/templates/hono/docs/skills/gemini-review/SKILL.md +220 -0
  20. package/templates/hono/docs/skills/gemini-review/references/checklists.md +136 -0
  21. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +303 -0
  22. package/templates/tanstack-start/CLAUDE.md +279 -0
  23. package/templates/tanstack-start/docs/architecture/architecture.md +547 -0
  24. package/templates/tanstack-start/docs/deployment/cloudflare.md +346 -0
  25. package/templates/tanstack-start/docs/deployment/index.md +102 -0
  26. package/templates/tanstack-start/docs/deployment/nitro.md +211 -0
  27. package/templates/tanstack-start/docs/deployment/railway.md +364 -0
  28. package/templates/tanstack-start/docs/deployment/vercel.md +287 -0
  29. package/templates/tanstack-start/docs/design/accessibility.md +433 -0
  30. package/templates/tanstack-start/docs/design/color.md +235 -0
  31. package/templates/tanstack-start/docs/design/components.md +409 -0
  32. package/templates/tanstack-start/docs/design/index.md +107 -0
  33. package/templates/tanstack-start/docs/design/safe-area.md +317 -0
  34. package/templates/tanstack-start/docs/design/spacing.md +341 -0
  35. package/templates/tanstack-start/docs/design/tailwind-setup.md +470 -0
  36. package/templates/tanstack-start/docs/design/typography.md +324 -0
  37. package/templates/tanstack-start/docs/git/index.md +203 -0
  38. package/templates/tanstack-start/docs/guides/best-practices.md +753 -0
  39. package/templates/tanstack-start/docs/guides/getting-started.md +304 -0
  40. package/templates/tanstack-start/docs/guides/husky-lint-staged.md +303 -0
  41. package/templates/tanstack-start/docs/guides/prettier.md +189 -0
  42. package/templates/tanstack-start/docs/guides/project-templates.md +710 -0
  43. package/templates/tanstack-start/docs/library/better-auth/2fa.md +136 -0
  44. package/templates/tanstack-start/docs/library/better-auth/advanced.md +138 -0
  45. package/templates/tanstack-start/docs/library/better-auth/index.md +83 -0
  46. package/templates/tanstack-start/docs/library/better-auth/plugins.md +111 -0
  47. package/templates/tanstack-start/docs/library/better-auth/session.md +127 -0
  48. package/templates/tanstack-start/docs/library/better-auth/setup.md +123 -0
  49. package/templates/tanstack-start/docs/library/prisma/crud.md +218 -0
  50. package/templates/tanstack-start/docs/library/prisma/index.md +165 -0
  51. package/templates/tanstack-start/docs/library/prisma/relations.md +191 -0
  52. package/templates/tanstack-start/docs/library/prisma/schema.md +177 -0
  53. package/templates/tanstack-start/docs/library/prisma/setup.md +156 -0
  54. package/templates/tanstack-start/docs/library/prisma/transactions.md +140 -0
  55. package/templates/tanstack-start/docs/library/tanstack-query/index.md +146 -0
  56. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +146 -0
  57. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +196 -0
  58. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +110 -0
  59. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +170 -0
  60. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +173 -0
  61. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +171 -0
  62. package/templates/tanstack-start/docs/library/tanstack-start/index.md +114 -0
  63. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +142 -0
  64. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +163 -0
  65. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +128 -0
  66. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +85 -0
  67. package/templates/tanstack-start/docs/library/zod/basic-types.md +186 -0
  68. package/templates/tanstack-start/docs/library/zod/complex-types.md +204 -0
  69. package/templates/tanstack-start/docs/library/zod/index.md +186 -0
  70. package/templates/tanstack-start/docs/library/zod/transforms.md +174 -0
  71. package/templates/tanstack-start/docs/library/zod/validation.md +208 -0
  72. package/templates/tanstack-start/docs/mcp/context7.md +204 -0
  73. package/templates/tanstack-start/docs/mcp/index.md +116 -0
  74. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +180 -0
  75. package/templates/tanstack-start/docs/mcp/sgrep.md +174 -0
  76. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +220 -0
  77. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +150 -0
  78. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +293 -0
@@ -0,0 +1,303 @@
1
+ # Prompt Templates for Gemini Review
2
+
3
+ ## Command Patterns
4
+
5
+ All commands use the fixed model `gemini-3-pro-preview` with JSON output for parsing.
6
+
7
+ ### Basic Pattern
8
+ ```bash
9
+ gemini -m gemini-3-pro-preview -p "{prompt}" --output-format json
10
+ ```
11
+
12
+ ### File Piping Pattern
13
+ ```bash
14
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "{instructions}" --output-format json
15
+ ```
16
+
17
+ ### Multi-line Heredoc Pattern
18
+ ```bash
19
+ gemini -m gemini-3-pro-preview --output-format json -p "$(cat << 'EOF'
20
+ {multi_line_prompt}
21
+ EOF
22
+ )"
23
+ ```
24
+
25
+ ### Response Parsing
26
+ ```bash
27
+ result=$(gemini -m gemini-3-pro-preview -p "..." --output-format json)
28
+ review_content=$(echo "$result" | jq -r '.response')
29
+ echo "$review_content"
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Plan Review Template
35
+
36
+ ```bash
37
+ gemini -m gemini-3-pro-preview --output-format json -p "$(cat << 'EOF'
38
+ [PLAN REVIEW REQUEST]
39
+
40
+ ## Context
41
+ Project: {project_name}
42
+ Tech Stack: {tech_stack}
43
+ Current State: {current_state_description}
44
+
45
+ ## Implementation Plan
46
+ {plan_content}
47
+
48
+ ## Review Checklist
49
+ {checklist_items}
50
+
51
+ ## Review Instructions
52
+ Analyze this implementation plan and provide feedback on:
53
+
54
+ 1. **Completeness**
55
+ - Are all requirements addressed?
56
+ - Any missing steps or considerations?
57
+
58
+ 2. **Logic & Feasibility**
59
+ - Will this approach work as intended?
60
+ - Any logical flaws or contradictions?
61
+
62
+ 3. **Edge Cases**
63
+ - What edge cases might be missed?
64
+ - How should they be handled?
65
+
66
+ 4. **Risks & Issues**
67
+ - Potential problems during implementation?
68
+ - Dependencies or blockers?
69
+
70
+ 5. **Alternatives**
71
+ - Better approaches available?
72
+ - Trade-offs to consider?
73
+
74
+ Respond with:
75
+ - βœ… Strengths of the plan
76
+ - ⚠️ Concerns or issues found
77
+ - πŸ’‘ Suggestions for improvement
78
+ - πŸ”„ Alternative approaches (if any)
79
+ EOF
80
+ )"
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Code Review Template
86
+
87
+ ### Option A: Inline Code
88
+ ```bash
89
+ gemini -m gemini-3-pro-preview --output-format json -p "$(cat << 'EOF'
90
+ [CODE REVIEW REQUEST]
91
+
92
+ ## Context
93
+ File: {file_path}
94
+ Language: {language}
95
+ Tech Stack: {tech_stack}
96
+ Purpose: {purpose_description}
97
+
98
+ ## Code to Review
99
+ ```{language}
100
+ {code_content}
101
+ ```
102
+
103
+ ## Review Checklist
104
+ {checklist_items}
105
+
106
+ ## Review Instructions
107
+ Perform a thorough code review focusing on:
108
+
109
+ 1. **Bugs & Logic Errors**
110
+ - Incorrect logic or algorithms
111
+ - Off-by-one errors
112
+ - Null/undefined handling
113
+ - Type mismatches
114
+
115
+ 2. **Security Vulnerabilities**
116
+ - Injection risks (SQL, XSS, etc.)
117
+ - Authentication/authorization gaps
118
+ - Data exposure risks
119
+ - Input validation issues
120
+
121
+ 3. **Performance Issues**
122
+ - Inefficient algorithms (specify Big-O if problematic)
123
+ - N+1 queries
124
+ - Memory leaks
125
+ - Unnecessary operations
126
+
127
+ 4. **Best Practices**
128
+ - Code organization
129
+ - Naming conventions
130
+ - Error handling patterns
131
+ - Testing considerations
132
+
133
+ 5. **Maintainability**
134
+ - Code clarity
135
+ - Documentation needs
136
+ - Coupling and cohesion
137
+ - Future extensibility
138
+
139
+ For each issue found, provide:
140
+ - πŸ”΄ CRITICAL / 🟑 IMPORTANT / 🟒 MINOR
141
+ - Location (line number or function name)
142
+ - Description of the issue
143
+ - Suggested fix with code example
144
+ EOF
145
+ )"
146
+ ```
147
+
148
+ ### Option B: Piping File Content
149
+ ```bash
150
+ cat {file_path} | gemini -m gemini-3-pro-preview --output-format json -p "Review this {language} code ({tech_stack} project) for:
151
+ 1. Bugs and logic errors
152
+ 2. Security vulnerabilities
153
+ 3. Performance issues
154
+ 4. Best practices violations
155
+ 5. Maintainability concerns
156
+
157
+ For each issue: specify severity (πŸ”΄ CRITICAL/🟑 IMPORTANT/🟒 MINOR), location, description, and suggested fix with code."
158
+ ```
159
+
160
+ ---
161
+
162
+ ## Architecture Review Template
163
+
164
+ ```bash
165
+ gemini -m gemini-3-pro-preview --output-format json -p "$(cat << 'EOF'
166
+ [ARCHITECTURE REVIEW REQUEST]
167
+
168
+ ## System Overview
169
+ Name: {system_name}
170
+ Purpose: {system_purpose}
171
+ Tech Stack: {tech_stack}
172
+ Scale: {expected_scale}
173
+
174
+ ## Current/Proposed Architecture
175
+ {architecture_description}
176
+
177
+ ## Components
178
+ {components_list}
179
+
180
+ ## Data Flow
181
+ {data_flow_description}
182
+
183
+ ## Specific Questions
184
+ {specific_questions}
185
+
186
+ ## Review Instructions
187
+ Evaluate this architecture considering:
188
+
189
+ 1. **Scalability**
190
+ - Can it handle expected load?
191
+ - Horizontal vs vertical scaling options?
192
+ - Bottlenecks identified?
193
+
194
+ 2. **Reliability**
195
+ - Single points of failure?
196
+ - Fault tolerance mechanisms?
197
+ - Recovery strategies?
198
+
199
+ 3. **Maintainability**
200
+ - Component coupling?
201
+ - Deployment complexity?
202
+ - Operational overhead?
203
+
204
+ 4. **Security**
205
+ - Attack surface?
206
+ - Data protection?
207
+ - Access control boundaries?
208
+
209
+ 5. **Cost Efficiency**
210
+ - Resource utilization?
211
+ - Scaling costs?
212
+ - Operational costs?
213
+
214
+ 6. **Trade-offs**
215
+ - What are we sacrificing?
216
+ - Alternative architectures?
217
+ - Migration path considerations?
218
+
219
+ Respond with:
220
+ - πŸ“Š Overall assessment
221
+ - βœ… Architectural strengths
222
+ - ⚠️ Concerns and risks
223
+ - πŸ’‘ Recommendations
224
+ - πŸ”„ Alternative approaches worth considering
225
+ EOF
226
+ )"
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Hono-Specific Additions
232
+
233
+ When tech_stack is `hono`, append to the relevant template:
234
+
235
+ ```
236
+ ## Hono-Specific Review Points
237
+ - Middleware chain correctness and order
238
+ - zValidator usage and Zod schema design
239
+ - HTTPException usage for error handling
240
+ - Context (c) usage patterns
241
+ - Type-safe bindings and variables
242
+ - RPC client type exports
243
+ - Built-in middleware configuration
244
+ ```
245
+
246
+ ---
247
+
248
+ ## Cloudflare Workers-Specific Additions
249
+
250
+ When tech_stack is `cloudflare`, append to the relevant template:
251
+
252
+ ```
253
+ ## Cloudflare Workers-Specific Review Points
254
+ - Edge runtime compatibility (no Node.js APIs)
255
+ - KV, D1, R2 binding usage
256
+ - wrangler.toml configuration
257
+ - Environment variable handling via c.env
258
+ - Request/response size limits
259
+ - CPU and memory constraints
260
+ - Subrequest limits (<50)
261
+ - Durable Objects if applicable
262
+ ```
263
+
264
+ ---
265
+
266
+ ## Quick Review Templates
267
+
268
+ ### Security Quick Check
269
+ ```bash
270
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "Security audit this Hono code. Find: injection vulnerabilities, auth issues, data exposure risks, input validation gaps. List each with severity and fix." --output-format json
271
+ ```
272
+
273
+ ### Performance Quick Check
274
+ ```bash
275
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "Performance review this Hono code. Find: inefficient algorithms (note Big-O), N+1 queries, memory issues, unnecessary operations. Suggest optimizations." --output-format json
276
+ ```
277
+
278
+ ### Bug Hunt
279
+ ```bash
280
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "Find bugs in this code: logic errors, edge cases, null handling, race conditions, type issues. For each bug, show the fix." --output-format json
281
+ ```
282
+
283
+ ### Middleware Review
284
+ ```bash
285
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "Review this Hono middleware for: proper next() handling, error propagation, type safety, reusability, and side effects. Suggest improvements." --output-format json
286
+ ```
287
+
288
+ ### Validation Review
289
+ ```bash
290
+ cat {file_path} | gemini -m gemini-3-pro-preview -p "Review Zod schemas and zValidator usage: schema completeness, error messages, type inference, reusability. Use Zod v4 syntax." --output-format json
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Template Usage Instructions
296
+
297
+ 1. Select the appropriate base template (plan/code/architecture)
298
+ 2. Fill in all `{placeholder}` fields with actual content
299
+ 3. Load the relevant checklist from `checklists.md` based on tech stack
300
+ 4. Append tech-stack-specific additions if applicable
301
+ 5. Execute via Gemini CLI
302
+ 6. Parse JSON response to extract `.response` field
303
+ 7. Present both raw Gemini response and Claude's analysis
@@ -0,0 +1,279 @@
1
+ # CLAUDE.md - Claude Code Instructions
2
+
3
+ > TanStack Start + React ν”„λ‘œμ νŠΈ μž‘μ—… μ§€μΉ¨
4
+
5
+ ---
6
+
7
+ ## 🚨 STOP - μž‘μ—… μ „ ν•„μˆ˜ 확인
8
+
9
+ ```
10
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
11
+ β”‚ 이 ν”„λ‘œμ νŠΈμ—μ„œ μž‘μ—…ν•˜κΈ° 전에 이 λ¬Έμ„œλ₯Ό λκΉŒμ§€ μ½μœΌμ„Έμš”. β”‚
12
+ β”‚ 특히 β›” NEVER DO μ„Ήμ…˜μ˜ κ·œμΉ™μ€ μ ˆλŒ€ μœ„λ°˜ν•˜μ§€ λ§ˆμ„Έμš”. β”‚
13
+ β”‚ β”‚
14
+ β”‚ πŸ“– μž‘μ—… μœ ν˜•λ³„ 상세 λ¬Έμ„œ: docs/ 폴더 μ°Έμ‘° β”‚
15
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
16
+ ```
17
+
18
+ ---
19
+
20
+ ## β›” NEVER DO (μ ˆλŒ€ κΈˆμ§€ - μ˜ˆμ™Έ μ—†μŒ)
21
+
22
+ ### Git 컀밋 κΈˆμ§€ 사항
23
+ ```
24
+ ❌ "Generated with Claude Code" 포함 κΈˆμ§€
25
+ ❌ "πŸ€–" λ˜λŠ” AI κ΄€λ ¨ 이λͺ¨μ§€ 포함 κΈˆμ§€
26
+ ❌ "Co-Authored-By:" 헀더 포함 κΈˆμ§€
27
+ ❌ AI/봇이 μž‘μ„±ν–ˆλ‹€λŠ” μ–΄λ–€ ν‘œμ‹œλ„ κΈˆμ§€
28
+ ❌ 컀밋 λ©”μ‹œμ§€ μ—¬λŸ¬ 쀄 μž‘μ„± κΈˆμ§€
29
+ ❌ 컀밋 λ©”μ‹œμ§€μ— 이λͺ¨μ§€ μ‚¬μš© κΈˆμ§€
30
+ ```
31
+
32
+ ### Prisma κΈˆμ§€ 사항
33
+ ```
34
+ ❌ prisma db push μžλ™ μ‹€ν–‰ κΈˆμ§€
35
+ ❌ prisma migrate μžλ™ μ‹€ν–‰ κΈˆμ§€
36
+ ❌ prisma generate μžλ™ μ‹€ν–‰ κΈˆμ§€
37
+ ❌ schema.prisma μž„μ˜ λ³€κ²½ κΈˆμ§€ (μš”μ²­λœ κ²ƒλ§Œ)
38
+ ```
39
+
40
+ ### API κ΅¬ν˜„ κΈˆμ§€ 사항
41
+ ```
42
+ ❌ /api λΌμš°ν„°μ— ν•¨μˆ˜ 생성 κΈˆμ§€ (μ‚¬μš©μž λͺ…μ‹œ μš”μ²­ μ œμ™Έ)
43
+ ❌ Server Function에 inputValidator λˆ„λ½ κΈˆμ§€ (POST/PUT/PATCH)
44
+ ❌ Server Function에 middleware λˆ„λ½ κΈˆμ§€ (인증 ν•„μš” μ‹œ)
45
+ ❌ handler λ‚΄λΆ€μ—μ„œ μˆ˜λ™ 검증 κΈˆμ§€ (inputValidator μ‚¬μš©)
46
+ ❌ handler λ‚΄λΆ€μ—μ„œ μˆ˜λ™ 인증 체크 κΈˆμ§€ (middleware μ‚¬μš©)
47
+ ```
48
+
49
+ ### μ½”λ“œ 검색 κΈˆμ§€ 사항
50
+ ```
51
+ ❌ grep, rg λ“± κΈ°λ³Έ 검색 도ꡬ μ‚¬μš© κΈˆμ§€
52
+ ❌ find λͺ…λ Ήμ–΄λ‘œ μ½”λ“œ 검색 κΈˆμ§€
53
+ βœ… μ½”λ“œλ² μ΄μŠ€ 검색 μ‹œ sgrep μ‚¬μš© ν•„μˆ˜
54
+ ```
55
+
56
+ ---
57
+
58
+ ## βœ… ALWAYS DO (ν•„μˆ˜ μ‹€ν–‰)
59
+
60
+ ### 1. μž‘μ—… μ „: κ΄€λ ¨ λ¬Έμ„œ 읽기
61
+ ```
62
+ UI μž‘μ—… β†’ docs/design/ 읽기
63
+ API μž‘μ—… β†’ docs/library/tanstack-start/ 읽기
64
+ DB μž‘μ—… β†’ docs/library/prisma/ 읽기
65
+ 인증 μž‘μ—… β†’ docs/library/better-auth/ 읽기
66
+ ```
67
+
68
+ ### 2. MCP 도ꡬ 적극 ν™œμš©
69
+ ```
70
+ μ½”λ“œλ² μ΄μŠ€ 검색 β†’ sgrep μ‚¬μš© (grep/rg κΈˆμ§€)
71
+ λ³΅μž‘ν•œ 뢄석/디버깅 β†’ Sequential Thinking μ‚¬μš©
72
+ 라이브러리 λ¬Έμ„œ β†’ Context7 μ‚¬μš©
73
+ ```
74
+ **상세**: `docs/mcp/` μ°Έκ³ 
75
+
76
+ ### 3. λ³΅μž‘ν•œ μž‘μ—… μ‹œ: Gemini Review μ‹€ν–‰
77
+ ```
78
+ μ•„ν‚€ν…μ²˜ 섀계/λ³€κ²½ β†’ gemini-review (architecture)
79
+ κ΅¬ν˜„ κ³„νš 검증 β†’ gemini-review (plan)
80
+ λ³΅μž‘ν•œ μ½”λ“œ 리뷰 β†’ gemini-review (code)
81
+ ```
82
+
83
+ **μ‹€ν–‰ 쑰건**:
84
+ - 3개 이상 파일 μˆ˜μ •ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„
85
+ - μƒˆλ‘œμš΄ μ•„ν‚€ν…μ²˜ νŒ¨ν„΄ λ„μž…
86
+ - λ³΄μ•ˆ κ΄€λ ¨ μ½”λ“œ (인증, κΆŒν•œ, μ•”ν˜Έν™”)
87
+ - μ„±λŠ₯ 크리티컬 μ½”λ“œ
88
+
89
+ **상세**: `docs/skills/gemini-review/SKILL.md` μ°Έκ³ 
90
+
91
+ ### 4. μž‘μ—… μ™„λ£Œ ν›„: Git 컀밋
92
+ ```bash
93
+ git add .
94
+ git commit -m "<prefix>: <μ„€λͺ…>"
95
+ ```
96
+
97
+ **컀밋 ν˜•μ‹**: `<prefix>: <μ„€λͺ…>` (ν•œ 쀄, λ³Έλ¬Έ μ—†μŒ)
98
+
99
+ **Prefix**: `feat` | `fix` | `refactor` | `style` | `docs` | `test` | `chore` | `perf` | `ci`
100
+
101
+ **μ˜ˆμ‹œ**:
102
+ ```bash
103
+ feat: μ‚¬μš©μž 둜그인 κΈ°λŠ₯ μΆ”κ°€
104
+ fix: μ„Έμ…˜ 만료 였λ₯˜ μˆ˜μ •
105
+ docs: API λ¬Έμ„œ μ—…λ°μ΄νŠΈ
106
+ ```
107
+
108
+ ---
109
+
110
+ ## πŸ“š λ¬Έμ„œ μ°Έμ‘° ν…Œμ΄λΈ”
111
+
112
+ | μž‘μ—… | λ¬Έμ„œ 경둜 | 필독 μ—¬λΆ€ |
113
+ |------|----------|----------|
114
+ | **전체 κ°€μ΄λ“œ** | `docs/README.md` | πŸ”΄ ν•„μˆ˜ |
115
+ | **Git κ·œμΉ™** | `docs/git/index.md` | πŸ”΄ ν•„μˆ˜ |
116
+ | **MCP 도ꡬ** | `docs/mcp/` | πŸ”΄ ν•„μˆ˜ |
117
+ | **Gemini Review** | `docs/skills/gemini-review/` | 🟑 λ³΅μž‘ν•œ μž‘μ—… μ‹œ |
118
+ | **UI 개발** | `docs/design/` | 🟑 ν•΄λ‹Ή μ‹œ |
119
+ | **API 개발** | `docs/library/tanstack-start/` | 🟑 ν•΄λ‹Ή μ‹œ |
120
+ | **인증** | `docs/library/better-auth/` | 🟑 ν•΄λ‹Ή μ‹œ |
121
+ | **DB** | `docs/library/prisma/` | 🟑 ν•΄λ‹Ή μ‹œ |
122
+ | **데이터 페칭** | `docs/library/tanstack-query/` | 🟑 ν•΄λ‹Ή μ‹œ |
123
+ | **검증** | `docs/library/zod/` | 🟑 ν•΄λ‹Ή μ‹œ |
124
+ | **배포** | `docs/deployment/` | 🟑 ν•΄λ‹Ή μ‹œ |
125
+
126
+ ---
127
+
128
+ ## πŸ›  Tech Stack (버전 주의)
129
+
130
+ | 기술 | 버전 | μ£Όμ˜μ‚¬ν•­ |
131
+ |------|------|----------|
132
+ | TanStack Start | μ΅œμ‹  | Framework |
133
+ | TypeScript | 5.x | strict mode |
134
+ | Tailwind CSS | 4.x | `@theme` μ‚¬μš© |
135
+ | Prisma | **7.x** | `prisma-client` (js μ•„λ‹˜), output ν•„μˆ˜ |
136
+ | Zod | **4.x** | `z.email()`, `z.url()` (string().email() μ•„λ‹˜) |
137
+ | Better Auth | μ΅œμ‹  | 인증 |
138
+ | TanStack Query | 5.x | 데이터 페칭 |
139
+
140
+ ---
141
+
142
+ ## πŸ“ Directory Structure
143
+
144
+ ```
145
+ src/
146
+ β”œβ”€β”€ routes/ # File-based routes
147
+ β”‚ β”œβ”€β”€ __root.tsx # Root layout
148
+ β”‚ β”œβ”€β”€ index.tsx # / (Home)
149
+ β”‚ β”œβ”€β”€ $slug.tsx # Dynamic route
150
+ β”‚ └── users/
151
+ β”‚ β”œβ”€β”€ index.tsx # /users
152
+ β”‚ β”œβ”€β”€ -components/ # νŽ˜μ΄μ§€ μ „μš© μ»΄ν¬λ„ŒνŠΈ
153
+ β”‚ β”œβ”€β”€ -hooks/ # νŽ˜μ΄μ§€ μ „μš© ν›…
154
+ β”‚ └── -functions/ # νŽ˜μ΄μ§€ μ „μš© Server Functions ⭐
155
+ β”œβ”€β”€ functions/ # 곡톡 Server Functions ⭐
156
+ β”‚ β”œβ”€β”€ auth.ts # 인증 κ΄€λ ¨
157
+ β”‚ └── user.ts # μ‚¬μš©μž κ΄€λ ¨
158
+ β”œβ”€β”€ components/ui/ # 곡톡 UI μ»΄ν¬λ„ŒνŠΈ
159
+ β”œβ”€β”€ middleware/ # 곡톡 미듀웨어
160
+ β”‚ └── auth.ts # Better Auth 미듀웨어
161
+ β”œβ”€β”€ database/prisma.ts # Prisma Client
162
+ └── lib/ # μœ ν‹Έλ¦¬ν‹°
163
+ ```
164
+
165
+ ### Server Functions μœ„μΉ˜ κ·œμΉ™ ⭐
166
+ ```
167
+ 곡톡 ν•¨μˆ˜ (μ—¬λŸ¬ λΌμš°νŠΈμ—μ„œ μ‚¬μš©) β†’ @/functions/
168
+ 라우트 μ „μš© ν•¨μˆ˜ (ν•΄λ‹Ή 라우트만) β†’ routes/[경둜]/-functions/
169
+ ```
170
+
171
+ **`-` prefix**: λΌμš°νŠΈμ—μ„œ μ œμ™Έλ˜λŠ” 폴더
172
+
173
+ ---
174
+
175
+ ## πŸ”§ Code Conventions
176
+
177
+ ### File Naming
178
+ - **kebab-case**: `user-profile.tsx`, `auth-service.ts`
179
+ - **Routes**: `__root.tsx`, `$param.tsx`
180
+
181
+ ### TypeScript
182
+ - `const` μ„ μ–Έ μ‚¬μš© (function λŒ€μ‹ )
183
+ - λͺ…μ‹œμ  return type
184
+ - `interface` (객체) / `type` (μœ λ‹ˆμ˜¨)
185
+ - `any` κΈˆμ§€ β†’ `unknown` μ‚¬μš©
186
+
187
+ ### Import
188
+ ```typescript
189
+ // @/* β†’ ./src/*
190
+ import { prisma } from '@/database/prisma'
191
+ import { getUsers } from '@/services/user'
192
+ ```
193
+
194
+ **μˆœμ„œ**: μ™ΈλΆ€ β†’ λ‚΄λΆ€(@/) β†’ μƒλŒ€κ²½λ‘œ β†’ type imports
195
+
196
+ ---
197
+
198
+ ## πŸ“ Quick Patterns (λ³΅μ‚¬μš©)
199
+
200
+ ### Server Function (GET + 인증)
201
+ ```typescript
202
+ // βœ… μ˜¬λ°”λ₯Έ νŒ¨ν„΄: middleware μ‚¬μš©
203
+ export const getUsers = createServerFn({ method: 'GET' })
204
+ .middleware([authMiddleware]) // ⭐ 인증 미듀웨어 ν•„μˆ˜
205
+ .handler(async () => prisma.user.findMany())
206
+ ```
207
+
208
+ ### Server Function (POST + Validation + 인증)
209
+ ```typescript
210
+ // βœ… μ˜¬λ°”λ₯Έ νŒ¨ν„΄: inputValidator + middleware λͺ¨λ‘ μ‚¬μš©
211
+ export const createUser = createServerFn({ method: 'POST' })
212
+ .middleware([authMiddleware]) // ⭐ 인증 미듀웨어 ν•„μˆ˜
213
+ .inputValidator(createUserSchema) // ⭐ Zod μŠ€ν‚€λ§ˆ ν•„μˆ˜
214
+ .handler(async ({ data }) => prisma.user.create({ data }))
215
+ ```
216
+
217
+ ### ❌ 잘λͺ»λœ νŒ¨ν„΄ (κΈˆμ§€)
218
+ ```typescript
219
+ // ❌ handler λ‚΄λΆ€μ—μ„œ μˆ˜λ™ 검증 κΈˆμ§€
220
+ export const createUser = createServerFn({ method: 'POST' })
221
+ .handler(async ({ data }) => {
222
+ // ❌ μ΄λ ‡κ²Œ ν•˜μ§€ λ§ˆμ„Έμš”!
223
+ if (!data.email) throw new Error('Email required')
224
+ const session = await getSession() // ❌ μˆ˜λ™ 인증 체크 κΈˆμ§€
225
+ // ...
226
+ })
227
+ ```
228
+
229
+ ### Zod Schema (v4 문법!)
230
+ ```typescript
231
+ const schema = z.object({
232
+ email: z.email(), // βœ… v4
233
+ name: z.string().min(1).trim(),
234
+ website: z.url().optional(), // βœ… v4
235
+ })
236
+ ```
237
+
238
+ ### Route with Loader
239
+ ```tsx
240
+ export const Route = createFileRoute('/users')({
241
+ component: UsersPage,
242
+ loader: async () => ({ users: await getUsers() }),
243
+ })
244
+ ```
245
+
246
+ ### TanStack Query
247
+ ```tsx
248
+ const { data } = useQuery({
249
+ queryKey: ['users'],
250
+ queryFn: () => getUsers(),
251
+ })
252
+
253
+ const mutation = useMutation({
254
+ mutationFn: createUser,
255
+ onSuccess: () => queryClient.invalidateQueries({ queryKey: ['users'] }),
256
+ })
257
+ ```
258
+
259
+ ---
260
+
261
+ ## 🎨 UI/UX Rules
262
+
263
+ - **색상**: 60-30-10 κ·œμΉ™ (λ°°κ²½-보쑰-κ°•μ‘°)
264
+ - **간격**: 8px κ·Έλ¦¬λ“œ (8의 배수)
265
+ - **μ ‘κ·Όμ„±**: WCAG AA (λŒ€λΉ„ 4.5:1+)
266
+ - **폰트**: μ΅œλŒ€ 2-3개
267
+ - **Safe Area**: `tailwindcss-safe-area` μ‚¬μš©
268
+
269
+ **상세**: `docs/design/` μ°Έκ³ 
270
+
271
+ ---
272
+
273
+ ## πŸ”— Quick Links
274
+
275
+ - [λ¬Έμ„œ κ°€μ΄λ“œ](./docs/README.md)
276
+ - [Git κ·œμΉ™](./docs/git/index.md)
277
+ - [MCP κ°€μ΄λ“œ](./docs/mcp/index.md)
278
+ - [λ””μžμΈ κ°€μ΄λ“œ](./docs/design/index.md)
279
+ - [μ•„ν‚€ν…μ²˜](./docs/architecture/architecture.md)