@kood/claude-code 0.1.2 → 0.1.3

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 (61) hide show
  1. package/dist/index.js +12 -3
  2. package/package.json +2 -2
  3. package/templates/hono/CLAUDE.md +20 -2
  4. package/templates/hono/docs/architecture/architecture.md +909 -0
  5. package/templates/hono/docs/deployment/cloudflare.md +537 -190
  6. package/templates/hono/docs/deployment/docker.md +517 -0
  7. package/templates/hono/docs/deployment/index.md +181 -213
  8. package/templates/hono/docs/deployment/railway.md +416 -0
  9. package/templates/hono/docs/deployment/vercel.md +572 -0
  10. package/templates/hono/docs/git/git.md +285 -0
  11. package/templates/hono/docs/library/ai-sdk/index.md +427 -0
  12. package/templates/hono/docs/library/ai-sdk/openrouter.md +479 -0
  13. package/templates/hono/docs/library/ai-sdk/providers.md +468 -0
  14. package/templates/hono/docs/library/ai-sdk/streaming.md +447 -0
  15. package/templates/hono/docs/library/ai-sdk/structured-output.md +493 -0
  16. package/templates/hono/docs/library/ai-sdk/tools.md +513 -0
  17. package/templates/hono/docs/library/hono/env-setup.md +458 -0
  18. package/templates/hono/docs/library/hono/index.md +1 -0
  19. package/templates/hono/docs/library/pino/index.md +437 -0
  20. package/templates/hono/docs/library/prisma/cloudflare-d1.md +503 -0
  21. package/templates/hono/docs/library/prisma/config.md +362 -0
  22. package/templates/hono/docs/library/prisma/index.md +86 -13
  23. package/templates/hono/docs/skills/gemini-review/SKILL.md +116 -116
  24. package/templates/hono/docs/skills/gemini-review/references/checklists.md +125 -125
  25. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +191 -191
  26. package/templates/npx/CLAUDE.md +309 -0
  27. package/templates/npx/docs/git/git.md +307 -0
  28. package/templates/npx/docs/library/commander/index.md +164 -0
  29. package/templates/npx/docs/library/fs-extra/index.md +171 -0
  30. package/templates/npx/docs/library/prompts/index.md +253 -0
  31. package/templates/npx/docs/mcp/index.md +60 -0
  32. package/templates/npx/docs/skills/gemini-review/SKILL.md +220 -0
  33. package/templates/npx/docs/skills/gemini-review/references/checklists.md +134 -0
  34. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +301 -0
  35. package/templates/tanstack-start/CLAUDE.md +43 -5
  36. package/templates/tanstack-start/docs/architecture/architecture.md +134 -4
  37. package/templates/tanstack-start/docs/deployment/cloudflare.md +234 -51
  38. package/templates/tanstack-start/docs/deployment/index.md +322 -32
  39. package/templates/tanstack-start/docs/deployment/nitro.md +201 -20
  40. package/templates/tanstack-start/docs/deployment/railway.md +305 -153
  41. package/templates/tanstack-start/docs/deployment/vercel.md +353 -78
  42. package/templates/tanstack-start/docs/git/{index.md → git.md} +81 -7
  43. package/templates/tanstack-start/docs/guides/best-practices.md +203 -1
  44. package/templates/tanstack-start/docs/guides/env-setup.md +450 -0
  45. package/templates/tanstack-start/docs/library/ai-sdk/hooks.md +472 -0
  46. package/templates/tanstack-start/docs/library/ai-sdk/index.md +264 -0
  47. package/templates/tanstack-start/docs/library/ai-sdk/openrouter.md +371 -0
  48. package/templates/tanstack-start/docs/library/ai-sdk/providers.md +403 -0
  49. package/templates/tanstack-start/docs/library/ai-sdk/streaming.md +320 -0
  50. package/templates/tanstack-start/docs/library/ai-sdk/structured-output.md +454 -0
  51. package/templates/tanstack-start/docs/library/ai-sdk/tools.md +473 -0
  52. package/templates/tanstack-start/docs/library/pino/index.md +320 -0
  53. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +404 -0
  54. package/templates/tanstack-start/docs/library/prisma/config.md +377 -0
  55. package/templates/tanstack-start/docs/library/prisma/index.md +3 -1
  56. package/templates/tanstack-start/docs/library/prisma/schema.md +123 -25
  57. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +80 -2
  58. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +116 -116
  59. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +138 -144
  60. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +186 -187
  61. package/templates/hono/docs/git/index.md +0 -180
@@ -1,38 +1,82 @@
1
1
  # Cloudflare 배포
2
2
 
3
3
  > **상위 문서**: [배포](./index.md)
4
+ > **Source**: [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
4
5
 
5
6
  Cloudflare는 Workers와 Pages 두 가지 배포 옵션을 제공합니다.
6
7
 
8
+ ---
9
+
10
+ ## 🚀 Quick Reference (복사용)
11
+
12
+ ### Workers 직접 통합 (권장)
13
+
14
+ ```typescript
15
+ // vite.config.ts
16
+ import { defineConfig } from 'vite'
17
+ import { tanstackStart } from '@tanstack/react-start/plugin/vite'
18
+ import { cloudflare } from '@cloudflare/vite-plugin'
19
+ import viteReact from '@vitejs/plugin-react'
20
+
21
+ export default defineConfig({
22
+ plugins: [
23
+ cloudflare({ viteEnvironment: { name: 'ssr' } }),
24
+ tanstackStart(),
25
+ viteReact(),
26
+ ],
27
+ })
28
+ ```
29
+
30
+ ```jsonc
31
+ // wrangler.jsonc
32
+ {
33
+ "$schema": "node_modules/wrangler/config-schema.json",
34
+ "name": "my-tanstack-app",
35
+ "compatibility_date": "2024-09-19",
36
+ "compatibility_flags": ["nodejs_compat"],
37
+ "main": "@tanstack/react-start/server-entry"
38
+ }
39
+ ```
40
+
41
+ ```bash
42
+ pnpm build && wrangler deploy
43
+ ```
44
+
45
+ ---
46
+
7
47
  ## 배포 옵션 비교
8
48
 
9
- | 옵션 | Preset | 특징 |
10
- |------|--------|------|
11
- | **Workers** | `cloudflare_module` | 서버리스 컴퓨팅, KV/D1 통합 |
12
- | **Pages** | `cloudflare_pages` | 정적 사이트 + Functions |
49
+ | 옵션 | 방식 | 특징 | 권장 |
50
+ |------|------|------|------|
51
+ | **Workers** | `@cloudflare/vite-plugin` 직접 통합 | 서버리스 컴퓨팅, KV/D1 통합, 최적화 | ✅ |
52
+ | **Pages** | Nitro `cloudflare_pages` preset | 정적 사이트 + Functions | - |
53
+
54
+ ---
13
55
 
14
- ## Cloudflare Workers
56
+ ## 방식 1: Cloudflare Workers (직접 통합 - 권장)
57
+
58
+ TanStack Start 공식 권장 방식입니다.
15
59
 
16
60
  ### 1. 패키지 설치
17
61
 
18
62
  ```bash
19
- yarn add @cloudflare/vite-plugin wrangler -D
63
+ pnpm add -D @cloudflare/vite-plugin wrangler
20
64
  ```
21
65
 
22
- ### 2. Vite 설정 (직접 통합)
66
+ ### 2. Vite 설정
23
67
 
24
68
  ```typescript
25
69
  // vite.config.ts
26
70
  import { defineConfig } from 'vite'
27
- import react from '@vitejs/plugin-react'
28
71
  import { tanstackStart } from '@tanstack/react-start/plugin/vite'
29
72
  import { cloudflare } from '@cloudflare/vite-plugin'
73
+ import viteReact from '@vitejs/plugin-react'
30
74
 
31
75
  export default defineConfig({
32
76
  plugins: [
33
77
  cloudflare({ viteEnvironment: { name: 'ssr' } }),
34
78
  tanstackStart(),
35
- react(),
79
+ viteReact(),
36
80
  ],
37
81
  })
38
82
  ```
@@ -44,77 +88,122 @@ export default defineConfig({
44
88
  {
45
89
  "$schema": "node_modules/wrangler/config-schema.json",
46
90
  "name": "my-tanstack-app",
47
- "compatibility_date": "2025-01-01",
91
+ "compatibility_date": "2024-09-19",
48
92
  "compatibility_flags": ["nodejs_compat"],
49
93
  "main": "@tanstack/react-start/server-entry"
50
94
  }
51
95
  ```
52
96
 
53
- ### 4. 배포
97
+ ### 4. 빌드 및 배포
54
98
 
55
99
  ```bash
56
100
  # 빌드
57
- yarn build
101
+ pnpm build
58
102
 
59
103
  # 배포
60
104
  wrangler deploy
105
+
106
+ # 또는 한번에
107
+ pnpm build && wrangler deploy
61
108
  ```
62
109
 
63
- ## Cloudflare Pages
110
+ ---
64
111
 
65
- ### 1. Nitro 설정
112
+ ## 방식 2: Cloudflare Pages (Nitro 레이어)
66
113
 
67
- ```typescript
68
- // nitro.config.ts
69
- import { defineNitroConfig } from 'nitro/config'
114
+ Nitro 배포 레이어를 사용하는 방식입니다.
70
115
 
71
- export default defineNitroConfig({
72
- preset: 'cloudflare_pages',
73
- // Nitro v3 필수: Static Assets 지원을 위해 2024-09-19 이상 필요
74
- compatibilityDate: '2024-09-19',
75
- cloudflare: {
76
- deployConfig: true, // wrangler.json 자동 생성
77
- nodeCompat: true, // Node.js API 호환성
78
- },
79
- })
116
+ ### 1. Nitro 설치
117
+
118
+ ```bash
119
+ pnpm add nitro@3
80
120
  ```
81
121
 
82
- ### 2. Vite 설정 (Nitro 통합)
122
+ ### 2. Vite 설정
83
123
 
84
124
  ```typescript
85
125
  // vite.config.ts
86
126
  import { defineConfig } from 'vite'
87
- import react from '@vitejs/plugin-react'
88
127
  import { tanstackStart } from '@tanstack/react-start/plugin/vite'
89
128
  import { nitro } from 'nitro/vite'
129
+ import viteReact from '@vitejs/plugin-react'
90
130
 
91
131
  export default defineConfig({
92
132
  plugins: [
93
133
  tanstackStart(),
94
134
  nitro(),
95
- react(),
135
+ viteReact(),
96
136
  ],
97
137
  })
98
138
  ```
99
139
 
100
- ### 3. 배포
140
+ ### 3. Nitro 설정
141
+
142
+ ```typescript
143
+ // nitro.config.ts
144
+ import { defineNitroConfig } from 'nitro/config'
145
+
146
+ export default defineNitroConfig({
147
+ preset: 'cloudflare_pages',
148
+
149
+ // Nitro v3 필수 설정
150
+ compatibilityDate: '2024-09-19',
151
+
152
+ cloudflare: {
153
+ deployConfig: true, // wrangler.json 자동 생성
154
+ nodeCompat: true, // Node.js API 호환성
155
+ },
156
+ })
157
+ ```
158
+
159
+ ### 4. 빌드 및 배포
101
160
 
102
161
  ```bash
103
162
  # 빌드
104
- NITRO_PRESET=cloudflare_pages yarn build
163
+ pnpm build
105
164
 
106
165
  # Pages 배포
107
166
  wrangler pages deploy .output/public
108
167
  ```
109
168
 
169
+ ---
170
+
110
171
  ## Wrangler 설정 상세
111
172
 
173
+ ### wrangler.jsonc (Workers 직접 통합)
174
+
175
+ ```jsonc
176
+ // wrangler.jsonc
177
+ {
178
+ "$schema": "node_modules/wrangler/config-schema.json",
179
+ "name": "my-tanstack-app",
180
+ "compatibility_date": "2024-09-19",
181
+ "compatibility_flags": ["nodejs_compat"],
182
+ "main": "@tanstack/react-start/server-entry",
183
+
184
+ // 환경 변수
185
+ "vars": {
186
+ "MY_VAR": "value"
187
+ },
188
+
189
+ // KV 스토리지
190
+ "kv_namespaces": [
191
+ { "binding": "MY_KV", "id": "your-kv-id" }
192
+ ],
193
+
194
+ // D1 데이터베이스
195
+ "d1_databases": [
196
+ { "binding": "DB", "database_name": "my-database", "database_id": "your-database-id" }
197
+ ]
198
+ }
199
+ ```
200
+
112
201
  ### wrangler.toml (Workers)
113
202
 
114
203
  ```toml
115
204
  name = "my-app"
116
- main = ".output/server/index.mjs"
117
- compatibility_date = "2025-01-01"
205
+ main = "@tanstack/react-start/server-entry"
206
+ compatibility_date = "2024-09-19"
118
207
  compatibility_flags = ["nodejs_compat"]
119
208
 
120
209
  [vars]
@@ -130,12 +219,12 @@ database_name = "my-database"
130
219
  database_id = "your-database-id"
131
220
  ```
132
221
 
133
- ### wrangler.toml (Pages)
222
+ ### wrangler.toml (Pages with Nitro)
134
223
 
135
224
  ```toml
136
225
  name = "my-pages-app"
137
226
  pages_build_output_dir = ".output/public"
138
- compatibility_date = "2025-01-01"
227
+ compatibility_date = "2024-09-19"
139
228
  compatibility_flags = ["nodejs_compat"]
140
229
 
141
230
  [[d1_databases]]
@@ -144,6 +233,8 @@ database_name = "my-database"
144
233
  database_id = "your-database-id"
145
234
  ```
146
235
 
236
+ ---
237
+
147
238
  ## KV 스토리지 사용
148
239
 
149
240
  ### KV 네임스페이스 생성
@@ -152,7 +243,7 @@ database_id = "your-database-id"
152
243
  # KV 네임스페이스 생성
153
244
  wrangler kv:namespace create "MY_KV"
154
245
 
155
- # wrangler.toml에 바인딩 추가
246
+ # wrangler.jsonc에 바인딩 추가
156
247
  ```
157
248
 
158
249
  ### 코드에서 사용
@@ -174,6 +265,8 @@ export default defineHandler(async (event) => {
174
265
  })
175
266
  ```
176
267
 
268
+ ---
269
+
177
270
  ## D1 데이터베이스 사용
178
271
 
179
272
  ### D1 데이터베이스 생성
@@ -204,6 +297,8 @@ export default defineHandler(async (event) => {
204
297
  })
205
298
  ```
206
299
 
300
+ ---
301
+
207
302
  ## 환경변수 관리
208
303
 
209
304
  ### 로컬 개발
@@ -220,11 +315,16 @@ API_SECRET=your-secret
220
315
  # 시크릿 설정
221
316
  wrangler secret put API_SECRET
222
317
 
223
- # 일반 변수 (wrangler.toml)
224
- [vars]
225
- NODE_ENV = "production"
318
+ # 일반 변수 (wrangler.jsonc)
319
+ {
320
+ "vars": {
321
+ "NODE_ENV": "production"
322
+ }
323
+ }
226
324
  ```
227
325
 
326
+ ---
327
+
228
328
  ## 커스텀 도메인
229
329
 
230
330
  ### Pages
@@ -245,25 +345,38 @@ routes = [
245
345
  ]
246
346
  ```
247
347
 
348
+ ---
349
+
248
350
  ## 개발 서버
249
351
 
250
352
  ```bash
251
- # 로컬 개발 (Workers)
353
+ # Workers 로컬 개발
252
354
  wrangler dev
253
355
 
254
- # Pages 로컬 개발
356
+ # Pages 로컬 개발 (Nitro 사용 시)
255
357
  wrangler pages dev .output/public
256
358
 
257
- # 미니플레어 사용
359
+ # 로컬 모드 (미니플레어 사용)
258
360
  wrangler dev --local
259
361
  ```
260
362
 
363
+ ---
364
+
261
365
  ## 트러블슈팅
262
366
 
263
367
  ### Node.js API 호환성
264
368
 
369
+ Workers 직접 통합 시 `wrangler.jsonc`:
370
+
371
+ ```jsonc
372
+ {
373
+ "compatibility_flags": ["nodejs_compat"]
374
+ }
375
+ ```
376
+
377
+ Nitro 사용 시 `nitro.config.ts`:
378
+
265
379
  ```typescript
266
- // nitro.config.ts
267
380
  import { defineNitroConfig } from 'nitro/config'
268
381
 
269
382
  export default defineNitroConfig({
@@ -307,12 +420,53 @@ wrangler tail
307
420
  wrangler tail --deployment-id [id]
308
421
  ```
309
422
 
423
+ ---
424
+
310
425
  ## CI/CD 설정
311
426
 
312
- ### GitHub Actions
427
+ ### GitHub Actions (Workers 직접 통합)
428
+
429
+ ```yaml
430
+ name: Deploy to Cloudflare Workers
431
+
432
+ on:
433
+ push:
434
+ branches: [main]
435
+
436
+ jobs:
437
+ deploy:
438
+ runs-on: ubuntu-latest
439
+ steps:
440
+ - uses: actions/checkout@v4
441
+
442
+ - name: Setup pnpm
443
+ uses: pnpm/action-setup@v2
444
+ with:
445
+ version: 8
446
+
447
+ - name: Setup Node.js
448
+ uses: actions/setup-node@v4
449
+ with:
450
+ node-version: '20'
451
+ cache: 'pnpm'
452
+
453
+ - name: Install dependencies
454
+ run: pnpm install
455
+
456
+ - name: Build
457
+ run: pnpm build
458
+
459
+ - name: Deploy to Workers
460
+ uses: cloudflare/wrangler-action@v3
461
+ with:
462
+ apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
463
+ command: deploy
464
+ ```
465
+
466
+ ### GitHub Actions (Pages with Nitro)
313
467
 
314
468
  ```yaml
315
- name: Deploy to Cloudflare
469
+ name: Deploy to Cloudflare Pages
316
470
 
317
471
  on:
318
472
  push:
@@ -323,23 +477,52 @@ jobs:
323
477
  runs-on: ubuntu-latest
324
478
  steps:
325
479
  - uses: actions/checkout@v4
326
- - uses: actions/setup-node@v4
480
+
481
+ - name: Setup pnpm
482
+ uses: pnpm/action-setup@v2
483
+ with:
484
+ version: 8
485
+
486
+ - name: Setup Node.js
487
+ uses: actions/setup-node@v4
327
488
  with:
328
489
  node-version: '20'
490
+ cache: 'pnpm'
329
491
 
330
- - run: yarn install
331
- - run: yarn build
332
- env:
333
- NITRO_PRESET: cloudflare_pages
492
+ - name: Install dependencies
493
+ run: pnpm install
334
494
 
335
- - uses: cloudflare/wrangler-action@v3
495
+ - name: Build
496
+ run: pnpm build
497
+
498
+ - name: Deploy to Pages
499
+ uses: cloudflare/wrangler-action@v3
336
500
  with:
337
501
  apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
338
502
  command: pages deploy .output/public --project-name=my-app
339
503
  ```
340
504
 
505
+ ---
506
+
507
+ ## package.json 스크립트
508
+
509
+ ```json
510
+ {
511
+ "scripts": {
512
+ "dev": "vite dev",
513
+ "build": "vite build && tsc --noEmit",
514
+ "preview": "vite preview",
515
+ "deploy": "pnpm build && wrangler deploy"
516
+ }
517
+ }
518
+ ```
519
+
520
+ ---
521
+
341
522
  ## 참고 자료
342
523
 
524
+ - [TanStack Start Cloudflare Guide](https://developers.cloudflare.com/workers/frameworks/framework-guides/tanstack-start/)
525
+ - [Cloudflare Vite Plugin](https://developers.cloudflare.com/workers/frameworks/vite/)
343
526
  - [Cloudflare Workers 문서](https://developers.cloudflare.com/workers/)
344
527
  - [Cloudflare Pages 문서](https://developers.cloudflare.com/pages/)
345
528
  - [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/)