@kood/claude-code 0.1.6 → 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 (75) 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 +103 -255
  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/library/better-auth/2fa.md +27 -115
  23. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  24. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  25. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  26. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  27. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  28. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  29. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  30. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  31. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  32. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  33. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  34. package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
  35. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  36. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
  37. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  38. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  39. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -70
  40. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  41. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  42. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  43. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  44. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  45. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  46. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
  47. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  48. package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
  49. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  50. package/templates/tanstack-start/docs/library/zod/index.md +22 -150
  51. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  52. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  53. package/templates/hono/docs/commands/git.md +0 -145
  54. package/templates/hono/docs/mcp/context7.md +0 -106
  55. package/templates/hono/docs/mcp/index.md +0 -176
  56. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  57. package/templates/hono/docs/mcp/serena.md +0 -269
  58. package/templates/hono/docs/mcp/sgrep.md +0 -105
  59. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  60. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  61. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  62. package/templates/npx/docs/commands/git.md +0 -145
  63. package/templates/npx/docs/mcp/index.md +0 -60
  64. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  65. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  66. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  67. package/templates/tanstack-start/docs/commands/git.md +0 -145
  68. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  69. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  70. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  71. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  72. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  73. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  74. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  75. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
@@ -1,66 +1,43 @@
1
1
  # 배포 (Deployment)
2
2
 
3
- > **Framework**: TanStack Start + Nitro v3
4
- > **Source**: [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
3
+ > TanStack Start + Nitro v3
5
4
 
6
- TanStack Start는 두 가지 배포 방식을 지원합니다:
7
- 1. **플랫폼 직접 통합**: Cloudflare Vite Plugin, Netlify Plugin 등
8
- 2. **Nitro 배포 레이어**: 다양한 플랫폼에 범용 배포
5
+ @nitro.md
6
+ @vercel.md
7
+ @cloudflare.md
8
+ @railway.md
9
9
 
10
10
  ---
11
11
 
12
- ## 문서 구조
12
+ ## 배포 방식
13
13
 
14
- | 문서 | 내용 |
15
- |------|------|
16
- | [Nitro 설정](./nitro.md) | Nitro v3 배포 레이어 기본 설정 |
17
- | [Vercel](./vercel.md) | Vercel 서버리스 배포 |
18
- | [Cloudflare](./cloudflare.md) | Cloudflare Workers/Pages 배포 |
19
- | [Railway](./railway.md) | Railway Node.js 서버 배포 |
14
+ | 방식 | 설정 | 지원 |
15
+ |------|------|------|
16
+ | 플랫폼 직접 통합 | Vite 플러그인 | Cloudflare, Netlify |
17
+ | Nitro 배포 레이어 | nitro/vite | 모든 Nitro preset |
20
18
 
21
- ---
22
-
23
- ## 배포 방식 비교
24
-
25
- ### 플랫폼 직접 통합 vs Nitro
26
-
27
- | 구분 | 플랫폼 직접 통합 | Nitro 배포 레이어 |
28
- |------|------------------|-------------------|
29
- | 설정 | 플랫폼별 Vite 플러그인 | `nitro/vite` 플러그인 |
30
- | 지원 | Cloudflare, Netlify | 모든 Nitro preset |
31
- | 특징 | 플랫폼 최적화 | 범용성, 이식성 |
32
- | 권장 | Cloudflare Workers | Vercel, Railway 등 |
33
-
34
- ### 플랫폼별 권장 방식
19
+ ### 플랫폼별 권장
35
20
 
36
- | 플랫폼 | 권장 방식 | Preset/Plugin |
37
- |--------|-----------|---------------|
38
- | **Cloudflare Workers** | 직접 통합 | `@cloudflare/vite-plugin` |
39
- | **Cloudflare Pages** | Nitro | `cloudflare_pages` |
40
- | **Vercel** | Nitro | `vercel` |
41
- | **Railway** | Nitro | `node` |
42
- | **Netlify** | 직접 통합 | `@netlify/vite-plugin-tanstack-start` |
21
+ | 플랫폼 | 방식 | 설정 |
22
+ |--------|------|------|
23
+ | Cloudflare Workers | 직접 통합 | `@cloudflare/vite-plugin` |
24
+ | Cloudflare Pages | Nitro | `cloudflare_pages` |
25
+ | Vercel | Nitro | `vercel` |
26
+ | Railway | Nitro | `node` |
27
+ | Netlify | 직접 통합 | `@netlify/vite-plugin-tanstack-start` |
43
28
 
44
29
  ---
45
30
 
46
- ## 방식 1: Cloudflare 직접 통합 (권장)
47
-
48
- Cloudflare Workers 배포 시 공식 권장 방식입니다.
49
-
50
- ### 1. 패키지 설치
31
+ ## Cloudflare Workers (직접 통합)
51
32
 
52
33
  ```bash
53
34
  yarn add -D @cloudflare/vite-plugin wrangler
54
35
  ```
55
36
 
56
- ### 2. Vite 설정
57
-
58
37
  ```typescript
59
38
  // vite.config.ts
60
- import { defineConfig } from 'vite'
61
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
62
39
  import { cloudflare } from '@cloudflare/vite-plugin'
63
- import viteReact from '@vitejs/plugin-react'
40
+ import { tanstackStart } from '@tanstack/react-start/plugin/vite'
64
41
 
65
42
  export default defineConfig({
66
43
  plugins: [
@@ -71,322 +48,116 @@ export default defineConfig({
71
48
  })
72
49
  ```
73
50
 
74
- ### 3. Wrangler 설정
75
-
76
51
  ```jsonc
77
52
  // wrangler.jsonc
78
53
  {
79
- "$schema": "node_modules/wrangler/config-schema.json",
80
- "name": "my-tanstack-app",
54
+ "name": "my-app",
81
55
  "compatibility_date": "2024-09-19",
82
56
  "compatibility_flags": ["nodejs_compat"],
83
57
  "main": "@tanstack/react-start/server-entry"
84
58
  }
85
59
  ```
86
60
 
87
- ### 4. 배포
88
-
89
61
  ```bash
90
- # 빌드 및 배포
91
62
  yarn build && wrangler deploy
92
63
  ```
93
64
 
94
65
  ---
95
66
 
96
- ## 방식 2: Nitro 배포 레이어
97
-
98
- 다양한 플랫폼에 범용으로 배포할 수 있습니다.
99
-
100
- ### 1. Nitro 설치
67
+ ## Nitro 배포 레이어
101
68
 
102
69
  ```bash
103
70
  yarn add nitro@3
104
71
  ```
105
72
 
106
- ### 2. Vite 설정
107
-
108
73
  ```typescript
109
74
  // vite.config.ts
110
- import { defineConfig } from 'vite'
111
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
112
75
  import { nitro } from 'nitro/vite'
113
- import viteReact from '@vitejs/plugin-react'
76
+ import { tanstackStart } from '@tanstack/react-start/plugin/vite'
114
77
 
115
78
  export default defineConfig({
116
- plugins: [
117
- tanstackStart(),
118
- nitro(),
119
- viteReact(),
120
- ],
79
+ plugins: [tanstackStart(), nitro(), viteReact()],
121
80
  })
122
81
  ```
123
82
 
124
- ### 3. Nitro 설정
125
-
126
83
  ```typescript
127
84
  // nitro.config.ts
128
85
  import { defineNitroConfig } from 'nitro/config'
129
86
 
130
87
  export default defineNitroConfig({
131
- // 플랫폼별 preset 선택
132
- preset: 'vercel', // vercel, cloudflare_pages, node 등
133
-
134
- // Nitro v3 필수 설정
88
+ preset: 'vercel', // vercel, cloudflare_pages, node
135
89
  compatibilityDate: '2024-09-19',
136
90
  })
137
91
  ```
138
92
 
139
- ### 4. 빌드 및 배포
140
-
141
93
  ```bash
142
- # 빌드
143
94
  yarn build
144
-
145
- # 또는 환경변수로 preset 지정
95
+ # 또는
146
96
  NITRO_PRESET=vercel yarn build
147
97
  ```
148
98
 
149
99
  ---
150
100
 
151
- ## Preset 선택 가이드
152
-
153
- ### Edge 런타임이 필요한 경우
154
-
155
- | 플랫폼 | 방식 | 설정 |
156
- |--------|------|------|
157
- | Cloudflare Workers | 직접 통합 | `@cloudflare/vite-plugin` |
158
- | Cloudflare Pages | Nitro | `preset: 'cloudflare_pages'` |
159
- | Vercel Edge | Nitro | `preset: 'vercel'` |
160
-
161
- ### Node.js 서버가 필요한 경우
162
-
163
- | 플랫폼 | 방식 | 설정 |
164
- |--------|------|------|
165
- | Railway | Nitro | `preset: 'node'` |
166
- | Docker | Nitro | `preset: 'node'` |
167
- | 기타 VPS | Nitro | `preset: 'node'` |
168
-
169
- ### Bun 런타임
170
-
171
- ```typescript
172
- // vite.config.ts
173
- import { defineConfig } from 'vite'
174
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
175
- import { nitro } from 'nitro/vite'
176
- import viteReact from '@vitejs/plugin-react'
177
-
178
- export default defineConfig({
179
- plugins: [
180
- tanstackStart(),
181
- nitro({ preset: 'bun' }),
182
- viteReact(),
183
- ],
184
- })
185
- ```
186
-
187
- ---
188
-
189
- ## package.json 스크립트
190
-
191
- ```json
192
- {
193
- "scripts": {
194
- "dev": "vite dev",
195
- "build": "vite build && tsc --noEmit",
196
- "start": "node .output/server/index.mjs",
197
- "preview": "vite preview",
198
- "deploy": "yarn build && wrangler deploy"
199
- }
200
- }
201
- ```
202
-
203
- ---
204
-
205
- ## ⚠️ 유의사항
206
-
207
- TanStack Start의 SSR 환경에서 발생할 수 있는 주요 이슈와 해결 방법입니다.
101
+ ## ⚠️ SSR 이슈 해결
208
102
 
209
103
  ### node:async_hooks 오류
210
104
 
211
- TanStack Start의 AsyncLocalStorage 관련 모듈이 클라이언트 번들에 포함되면 다음 오류가 발생합니다:
212
-
213
- ```
214
- Module 'node:async_hooks' has been externalized for browser
215
- ```
216
-
217
- **해결 방법**: `vite.config.ts`에 다음 설정을 추가합니다.
218
-
219
105
  ```typescript
220
106
  // vite.config.ts
221
- import { defineConfig } from 'vite'
222
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
223
- import viteReact from '@vitejs/plugin-react'
224
-
225
107
  export default defineConfig({
226
- plugins: [
227
- tanstackStart(),
228
- viteReact(),
229
- ],
230
- optimizeDeps: {
231
- exclude: ['node:async_hooks'],
232
- },
233
- ssr: {
234
- external: ['node:async_hooks'],
235
- },
108
+ optimizeDeps: { exclude: ['node:async_hooks'] },
109
+ ssr: { external: ['node:async_hooks'] },
236
110
  })
237
111
  ```
238
112
 
239
- ---
240
-
241
- ### Prisma 사용 시 설정
242
-
243
- TanStack Start에서 Prisma를 사용하는 경우, 브라우저 번들링 시 모듈 해석 오류가 발생할 수 있습니다.
244
-
245
- **해결 방법**: `vite.config.ts`에 alias 설정을 추가합니다.
113
+ ### Prisma 브라우저 번들링
246
114
 
247
115
  ```typescript
248
- // vite.config.ts
249
- import { defineConfig } from 'vite'
250
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
251
- import viteReact from '@vitejs/plugin-react'
252
-
253
- export default defineConfig({
254
- plugins: [
255
- tanstackStart(),
256
- viteReact(),
257
- ],
258
- resolve: {
259
- alias: {
260
- '.prisma/client/index-browser':
261
- './node_modules/.prisma/client/index-browser.js',
262
- },
116
+ resolve: {
117
+ alias: {
118
+ '.prisma/client/index-browser': './node_modules/.prisma/client/index-browser.js',
263
119
  },
264
- })
120
+ },
265
121
  ```
266
122
 
267
- ---
268
-
269
- ### SSR Context Loss (Clerk, 외부 패키지)
270
-
271
- Clerk 등 AsyncLocalStorage를 사용하는 외부 패키지에서 SSR context 손실 오류가 발생할 수 있습니다:
272
-
273
- ```
274
- Error: No HTTPEvent found in AsyncLocalStorage
275
- ```
276
-
277
- **해결 방법**: 해당 패키지를 `ssr.noExternal`에 추가합니다.
278
-
279
- ```typescript
280
- // vite.config.ts
281
- export default defineConfig({
282
- plugins: [tanstackStart(), viteReact()],
283
- ssr: {
284
- noExternal: ['@clerk/tanstack-react-start'],
285
- },
286
- })
287
- ```
288
-
289
- ---
290
-
291
- ### MUI (Material UI) SSR 설정
292
-
293
- MUI 사용 시 SSR 환경에서 스타일 또는 모듈 오류가 발생할 수 있습니다.
294
-
295
- **해결 방법**: MUI 관련 패키지를 `ssr.noExternal`에 추가합니다.
123
+ ### SSR Context Loss (Clerk, MUI)
296
124
 
297
125
  ```typescript
298
- // vite.config.ts
299
- export default defineConfig({
300
- plugins: [tanstackStart(), viteReact()],
301
- ssr: {
302
- noExternal: [
303
- '@mui/material',
304
- '@mui/utils',
305
- '@mui/styled-engine',
306
- '@mui/icons-material',
307
- '@mui/system',
308
- ],
309
- },
310
- })
126
+ ssr: {
127
+ noExternal: [
128
+ '@clerk/tanstack-react-start',
129
+ '@mui/material', '@mui/utils', '@mui/styled-engine',
130
+ ],
131
+ },
311
132
  ```
312
133
 
313
- ---
314
-
315
- ### 종합 설정 예시
316
-
317
- 여러 패키지를 함께 사용하는 경우의 통합 설정:
134
+ ### 종합 설정
318
135
 
319
136
  ```typescript
320
- // vite.config.ts
321
- import { defineConfig } from 'vite'
322
- import { tanstackStart } from '@tanstack/react-start/plugin/vite'
323
- import tsConfigPaths from 'vite-tsconfig-paths'
324
- import viteReact from '@vitejs/plugin-react'
325
-
326
137
  export default defineConfig({
327
- server: {
328
- port: 3000,
329
- },
330
- plugins: [
331
- tsConfigPaths(),
332
- tanstackStart(),
333
- viteReact(),
334
- ],
335
- // Prisma 사용 시
138
+ plugins: [tsConfigPaths(), tanstackStart(), viteReact()],
336
139
  resolve: {
337
- alias: {
338
- '.prisma/client/index-browser':
339
- './node_modules/.prisma/client/index-browser.js',
340
- },
341
- },
342
- // Node.js 내장 모듈 처리
343
- optimizeDeps: {
344
- exclude: ['node:async_hooks'],
140
+ alias: { '.prisma/client/index-browser': './node_modules/.prisma/client/index-browser.js' },
345
141
  },
346
- // SSR 설정
142
+ optimizeDeps: { exclude: ['node:async_hooks'] },
347
143
  ssr: {
348
144
  external: ['node:async_hooks'],
349
- noExternal: [
350
- // Clerk 사용 시
351
- '@clerk/tanstack-react-start',
352
- // MUI 사용 시
353
- '@mui/material',
354
- '@mui/utils',
355
- '@mui/styled-engine',
356
- '@mui/icons-material',
357
- '@mui/system',
358
- ],
145
+ noExternal: ['@clerk/tanstack-react-start', '@mui/material'],
359
146
  },
147
+ })
360
148
  ```
361
149
 
362
150
  ---
363
151
 
364
- ### 참고 자료
365
-
366
- - [TanStack Start SSR Context Loss Issue](https://github.com/TanStack/router/issues/4409)
367
- - [node:async_hooks AsyncLocalStorage Bug](https://github.com/TanStack/router/issues/4729)
368
- - [TanStack Start Material UI Example](https://tanstack.com/start/latest/docs/framework/react/examples/start-material-ui)
369
- - [TanStack Start Clerk Example](https://tanstack.com/start/latest/docs/framework/react/examples/start-clerk-basic)
152
+ ## 스크립트
370
153
 
371
- ---
372
-
373
- ## 환경변수
374
-
375
- 모든 플랫폼에서 공통으로 사용:
376
-
377
- ```bash
378
- # 빌드 시 preset 지정 (Nitro 사용 시)
379
- NITRO_PRESET=vercel
380
-
381
- # 런타임 환경변수
382
- DATABASE_URL=postgresql://...
383
- API_SECRET=your-secret-key
154
+ ```json
155
+ {
156
+ "scripts": {
157
+ "dev": "vite dev",
158
+ "build": "vite build && tsc --noEmit",
159
+ "start": "node .output/server/index.mjs",
160
+ "deploy": "yarn build && wrangler deploy"
161
+ }
162
+ }
384
163
  ```
385
-
386
- ---
387
-
388
- ## 참고 자료
389
-
390
- - [TanStack Start Hosting 공식 문서](https://tanstack.com/start/latest/docs/framework/react/hosting)
391
- - [Nitro 공식 문서](https://nitro.build)
392
- - [Cloudflare Vite Plugin](https://developers.cloudflare.com/workers/frameworks/framework-guides/tanstack-start/)