@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.
- package/dist/index.js +12 -3
- package/package.json +2 -2
- package/templates/hono/CLAUDE.md +20 -2
- package/templates/hono/docs/architecture/architecture.md +909 -0
- package/templates/hono/docs/deployment/cloudflare.md +537 -190
- package/templates/hono/docs/deployment/docker.md +517 -0
- package/templates/hono/docs/deployment/index.md +181 -213
- package/templates/hono/docs/deployment/railway.md +416 -0
- package/templates/hono/docs/deployment/vercel.md +572 -0
- package/templates/hono/docs/git/git.md +285 -0
- package/templates/hono/docs/library/ai-sdk/index.md +427 -0
- package/templates/hono/docs/library/ai-sdk/openrouter.md +479 -0
- package/templates/hono/docs/library/ai-sdk/providers.md +468 -0
- package/templates/hono/docs/library/ai-sdk/streaming.md +447 -0
- package/templates/hono/docs/library/ai-sdk/structured-output.md +493 -0
- package/templates/hono/docs/library/ai-sdk/tools.md +513 -0
- package/templates/hono/docs/library/hono/env-setup.md +458 -0
- package/templates/hono/docs/library/hono/index.md +1 -0
- package/templates/hono/docs/library/pino/index.md +437 -0
- package/templates/hono/docs/library/prisma/cloudflare-d1.md +503 -0
- package/templates/hono/docs/library/prisma/config.md +362 -0
- package/templates/hono/docs/library/prisma/index.md +86 -13
- package/templates/hono/docs/skills/gemini-review/SKILL.md +116 -116
- package/templates/hono/docs/skills/gemini-review/references/checklists.md +125 -125
- package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +191 -191
- package/templates/npx/CLAUDE.md +309 -0
- package/templates/npx/docs/git/git.md +307 -0
- package/templates/npx/docs/library/commander/index.md +164 -0
- package/templates/npx/docs/library/fs-extra/index.md +171 -0
- package/templates/npx/docs/library/prompts/index.md +253 -0
- package/templates/npx/docs/mcp/index.md +60 -0
- package/templates/npx/docs/skills/gemini-review/SKILL.md +220 -0
- package/templates/npx/docs/skills/gemini-review/references/checklists.md +134 -0
- package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +301 -0
- package/templates/tanstack-start/CLAUDE.md +43 -5
- package/templates/tanstack-start/docs/architecture/architecture.md +134 -4
- package/templates/tanstack-start/docs/deployment/cloudflare.md +234 -51
- package/templates/tanstack-start/docs/deployment/index.md +322 -32
- package/templates/tanstack-start/docs/deployment/nitro.md +201 -20
- package/templates/tanstack-start/docs/deployment/railway.md +305 -153
- package/templates/tanstack-start/docs/deployment/vercel.md +353 -78
- package/templates/tanstack-start/docs/git/{index.md → git.md} +81 -7
- package/templates/tanstack-start/docs/guides/best-practices.md +203 -1
- package/templates/tanstack-start/docs/guides/env-setup.md +450 -0
- package/templates/tanstack-start/docs/library/ai-sdk/hooks.md +472 -0
- package/templates/tanstack-start/docs/library/ai-sdk/index.md +264 -0
- package/templates/tanstack-start/docs/library/ai-sdk/openrouter.md +371 -0
- package/templates/tanstack-start/docs/library/ai-sdk/providers.md +403 -0
- package/templates/tanstack-start/docs/library/ai-sdk/streaming.md +320 -0
- package/templates/tanstack-start/docs/library/ai-sdk/structured-output.md +454 -0
- package/templates/tanstack-start/docs/library/ai-sdk/tools.md +473 -0
- package/templates/tanstack-start/docs/library/pino/index.md +320 -0
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +404 -0
- package/templates/tanstack-start/docs/library/prisma/config.md +377 -0
- package/templates/tanstack-start/docs/library/prisma/index.md +3 -1
- package/templates/tanstack-start/docs/library/prisma/schema.md +123 -25
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +80 -2
- package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +116 -116
- package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +138 -144
- package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +186 -187
- package/templates/hono/docs/git/index.md +0 -180
|
@@ -1,59 +1,137 @@
|
|
|
1
|
-
# Nitro 배포 레이어
|
|
1
|
+
# Nitro v3 배포 레이어
|
|
2
2
|
|
|
3
3
|
> **상위 문서**: [배포](./index.md)
|
|
4
|
+
> **Version**: Nitro 3.x
|
|
4
5
|
|
|
5
6
|
Nitro는 TanStack Start의 배포 레이어로, 다양한 플랫폼에 대한 preset을 제공합니다.
|
|
6
7
|
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🚀 Quick Reference (복사용)
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
// nitro.config.ts
|
|
14
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
15
|
+
|
|
16
|
+
export default defineNitroConfig({
|
|
17
|
+
preset: 'vercel', // 플랫폼별 preset
|
|
18
|
+
compatibilityDate: '2024-09-19', // Nitro v3 필수
|
|
19
|
+
})
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 설치 및 빌드
|
|
24
|
+
pnpm add nitro@3
|
|
25
|
+
pnpm build
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
7
30
|
## 설치
|
|
8
31
|
|
|
9
32
|
```bash
|
|
10
|
-
|
|
33
|
+
# pnpm
|
|
34
|
+
pnpm add nitro@3
|
|
35
|
+
|
|
36
|
+
# npm
|
|
37
|
+
npm install nitro@3
|
|
38
|
+
|
|
39
|
+
# yarn
|
|
40
|
+
yarn add nitro@3
|
|
11
41
|
```
|
|
12
42
|
|
|
43
|
+
---
|
|
44
|
+
|
|
13
45
|
## Vite 통합
|
|
14
46
|
|
|
15
47
|
```typescript
|
|
16
48
|
// vite.config.ts
|
|
17
49
|
import { defineConfig } from 'vite'
|
|
18
|
-
import react from '@vitejs/plugin-react'
|
|
19
50
|
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
20
51
|
import { nitro } from 'nitro/vite'
|
|
52
|
+
import viteReact from '@vitejs/plugin-react'
|
|
21
53
|
|
|
22
54
|
export default defineConfig({
|
|
23
55
|
plugins: [
|
|
24
56
|
tanstackStart(),
|
|
25
57
|
nitro(),
|
|
26
|
-
|
|
58
|
+
viteReact(),
|
|
59
|
+
],
|
|
60
|
+
})
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Preset을 Vite에서 직접 지정
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
// vite.config.ts
|
|
67
|
+
import { defineConfig } from 'vite'
|
|
68
|
+
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
69
|
+
import { nitro } from 'nitro/vite'
|
|
70
|
+
import viteReact from '@vitejs/plugin-react'
|
|
71
|
+
|
|
72
|
+
export default defineConfig({
|
|
73
|
+
plugins: [
|
|
74
|
+
tanstackStart(),
|
|
75
|
+
nitro({ preset: 'vercel' }), // preset 직접 지정
|
|
76
|
+
viteReact(),
|
|
27
77
|
],
|
|
28
78
|
})
|
|
29
79
|
```
|
|
30
80
|
|
|
81
|
+
---
|
|
82
|
+
|
|
31
83
|
## Nitro 설정
|
|
32
84
|
|
|
33
|
-
### nitro.config.ts
|
|
85
|
+
### nitro.config.ts (기본)
|
|
34
86
|
|
|
35
87
|
```typescript
|
|
88
|
+
// nitro.config.ts
|
|
36
89
|
import { defineNitroConfig } from 'nitro/config'
|
|
37
90
|
|
|
38
91
|
export default defineNitroConfig({
|
|
39
92
|
// 배포 플랫폼 preset
|
|
40
93
|
preset: 'vercel',
|
|
41
94
|
|
|
42
|
-
// 호환성
|
|
95
|
+
// 호환성 날짜 (Nitro v3 필수)
|
|
43
96
|
compatibilityDate: '2024-09-19',
|
|
44
97
|
})
|
|
45
98
|
```
|
|
46
99
|
|
|
100
|
+
### nitro.config.ts (상세)
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
// nitro.config.ts
|
|
104
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
105
|
+
|
|
106
|
+
export default defineNitroConfig({
|
|
107
|
+
// Nitro v3 필수 설정
|
|
108
|
+
compatibilityDate: '2024-09-19',
|
|
109
|
+
|
|
110
|
+
// 배포 플랫폼 preset
|
|
111
|
+
preset: 'vercel',
|
|
112
|
+
|
|
113
|
+
// 출력 디렉토리
|
|
114
|
+
output: {
|
|
115
|
+
dir: '.output',
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
// 번들 최적화
|
|
119
|
+
minify: true,
|
|
120
|
+
})
|
|
121
|
+
```
|
|
122
|
+
|
|
47
123
|
### 환경변수로 Preset 지정
|
|
48
124
|
|
|
49
125
|
```bash
|
|
50
126
|
# 빌드 시 환경변수로 지정
|
|
51
|
-
NITRO_PRESET=cloudflare_pages
|
|
127
|
+
NITRO_PRESET=cloudflare_pages pnpm build
|
|
52
128
|
|
|
53
129
|
# 또는 CLI 옵션
|
|
54
130
|
nitro build --preset cloudflare_pages
|
|
55
131
|
```
|
|
56
132
|
|
|
133
|
+
---
|
|
134
|
+
|
|
57
135
|
## 주요 Preset 목록
|
|
58
136
|
|
|
59
137
|
### 서버리스/Edge
|
|
@@ -61,6 +139,7 @@ nitro build --preset cloudflare_pages
|
|
|
61
139
|
| Preset | 플랫폼 | 설명 |
|
|
62
140
|
|--------|--------|------|
|
|
63
141
|
| `vercel` | Vercel | Vercel Functions |
|
|
142
|
+
| `vercel-edge` | Vercel | Vercel Edge Functions |
|
|
64
143
|
| `cloudflare_pages` | Cloudflare | Pages Functions |
|
|
65
144
|
| `cloudflare_module` | Cloudflare | Workers Module |
|
|
66
145
|
| `netlify` | Netlify | Netlify Functions |
|
|
@@ -70,18 +149,73 @@ nitro build --preset cloudflare_pages
|
|
|
70
149
|
|
|
71
150
|
| Preset | 플랫폼 | 설명 |
|
|
72
151
|
|--------|--------|------|
|
|
73
|
-
| `node
|
|
152
|
+
| `node` | 범용 | Node.js HTTP 서버 |
|
|
74
153
|
| `node-cluster` | 범용 | 클러스터 모드 |
|
|
75
154
|
| `bun` | Bun | Bun 런타임 |
|
|
76
|
-
| `
|
|
155
|
+
| `deno` | Deno | Deno 런타임 |
|
|
156
|
+
| `deno-deploy` | Deno | Deno Deploy |
|
|
77
157
|
|
|
78
158
|
### 정적/기타
|
|
79
159
|
|
|
80
160
|
| Preset | 플랫폼 | 설명 |
|
|
81
161
|
|--------|--------|------|
|
|
82
162
|
| `static` | 범용 | 정적 사이트 생성 |
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
163
|
+
| `github-pages` | GitHub | GitHub Pages |
|
|
164
|
+
| `render-com` | Render | Render.com |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 플랫폼별 설정 예시
|
|
169
|
+
|
|
170
|
+
### Vercel
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
// nitro.config.ts
|
|
174
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
175
|
+
|
|
176
|
+
export default defineNitroConfig({
|
|
177
|
+
preset: 'vercel',
|
|
178
|
+
compatibilityDate: '2024-09-19',
|
|
179
|
+
})
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Cloudflare Pages
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
// nitro.config.ts
|
|
186
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
187
|
+
|
|
188
|
+
export default defineNitroConfig({
|
|
189
|
+
preset: 'cloudflare_pages',
|
|
190
|
+
compatibilityDate: '2024-09-19',
|
|
191
|
+
})
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Node.js (Railway, Docker)
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// nitro.config.ts
|
|
198
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
199
|
+
|
|
200
|
+
export default defineNitroConfig({
|
|
201
|
+
preset: 'node',
|
|
202
|
+
compatibilityDate: '2024-09-19',
|
|
203
|
+
})
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Bun 런타임
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
// nitro.config.ts
|
|
210
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
211
|
+
|
|
212
|
+
export default defineNitroConfig({
|
|
213
|
+
preset: 'bun',
|
|
214
|
+
compatibilityDate: '2024-09-19',
|
|
215
|
+
})
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
85
219
|
|
|
86
220
|
## 출력 구조
|
|
87
221
|
|
|
@@ -96,16 +230,21 @@ nitro build --preset cloudflare_pages
|
|
|
96
230
|
└── nitro.json # Nitro 설정
|
|
97
231
|
```
|
|
98
232
|
|
|
233
|
+
---
|
|
234
|
+
|
|
99
235
|
## 런타임 설정
|
|
100
236
|
|
|
101
|
-
### Node.js 호환성
|
|
237
|
+
### Node.js 호환성 (Cloudflare)
|
|
102
238
|
|
|
103
239
|
```typescript
|
|
104
240
|
// nitro.config.ts
|
|
241
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
242
|
+
|
|
105
243
|
export default defineNitroConfig({
|
|
106
244
|
preset: 'cloudflare_pages',
|
|
245
|
+
compatibilityDate: '2024-09-19',
|
|
107
246
|
cloudflare: {
|
|
108
|
-
nodeCompat: true,
|
|
247
|
+
nodeCompat: true, // Node.js API 호환성
|
|
109
248
|
},
|
|
110
249
|
})
|
|
111
250
|
```
|
|
@@ -114,20 +253,32 @@ export default defineNitroConfig({
|
|
|
114
253
|
|
|
115
254
|
```typescript
|
|
116
255
|
// nitro.config.ts
|
|
256
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
257
|
+
|
|
117
258
|
export default defineNitroConfig({
|
|
259
|
+
preset: 'vercel',
|
|
260
|
+
compatibilityDate: '2024-09-19',
|
|
261
|
+
|
|
118
262
|
// 번들에서 제외할 패키지
|
|
119
|
-
externals: ['pg', 'mysql2'],
|
|
263
|
+
externals: ['pg', 'mysql2', 'sharp'],
|
|
120
264
|
|
|
121
265
|
// 번들에 포함할 패키지
|
|
122
266
|
inlineDependencies: ['my-esm-package'],
|
|
123
267
|
})
|
|
124
268
|
```
|
|
125
269
|
|
|
270
|
+
---
|
|
271
|
+
|
|
126
272
|
## 라우트 규칙
|
|
127
273
|
|
|
128
274
|
```typescript
|
|
129
275
|
// nitro.config.ts
|
|
276
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
277
|
+
|
|
130
278
|
export default defineNitroConfig({
|
|
279
|
+
preset: 'vercel',
|
|
280
|
+
compatibilityDate: '2024-09-19',
|
|
281
|
+
|
|
131
282
|
routeRules: {
|
|
132
283
|
// 정적 페이지 캐싱
|
|
133
284
|
'/': { prerender: true },
|
|
@@ -146,10 +297,17 @@ export default defineNitroConfig({
|
|
|
146
297
|
'Access-Control-Allow-Origin': '*',
|
|
147
298
|
},
|
|
148
299
|
},
|
|
300
|
+
|
|
301
|
+
// Edge에서 실행
|
|
302
|
+
'/api/fast/**': {
|
|
303
|
+
edge: true,
|
|
304
|
+
},
|
|
149
305
|
},
|
|
150
306
|
})
|
|
151
307
|
```
|
|
152
308
|
|
|
309
|
+
---
|
|
310
|
+
|
|
153
311
|
## 환경변수 관리
|
|
154
312
|
|
|
155
313
|
### .env 파일
|
|
@@ -158,6 +316,7 @@ export default defineNitroConfig({
|
|
|
158
316
|
# .env.production
|
|
159
317
|
DATABASE_URL=postgresql://...
|
|
160
318
|
API_SECRET=your-secret-key
|
|
319
|
+
NODE_ENV=production
|
|
161
320
|
```
|
|
162
321
|
|
|
163
322
|
### 런타임에서 사용
|
|
@@ -172,29 +331,48 @@ export default defineHandler(() => {
|
|
|
172
331
|
})
|
|
173
332
|
```
|
|
174
333
|
|
|
175
|
-
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## 빌드 및 실행
|
|
337
|
+
|
|
338
|
+
### package.json 스크립트
|
|
339
|
+
|
|
340
|
+
```json
|
|
341
|
+
{
|
|
342
|
+
"scripts": {
|
|
343
|
+
"dev": "vite dev",
|
|
344
|
+
"build": "vite build && tsc --noEmit",
|
|
345
|
+
"start": "node .output/server/index.mjs",
|
|
346
|
+
"preview": "vite preview"
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### 빌드 명령어
|
|
176
352
|
|
|
177
353
|
```bash
|
|
178
354
|
# 개발 서버
|
|
179
|
-
|
|
355
|
+
pnpm dev
|
|
180
356
|
|
|
181
357
|
# 프로덕션 빌드
|
|
182
|
-
|
|
358
|
+
pnpm build
|
|
183
359
|
|
|
184
360
|
# 빌드 결과 미리보기
|
|
185
|
-
|
|
361
|
+
pnpm preview
|
|
186
362
|
|
|
187
363
|
# 특정 preset으로 빌드
|
|
188
|
-
NITRO_PRESET=vercel
|
|
364
|
+
NITRO_PRESET=vercel pnpm build
|
|
189
365
|
```
|
|
190
366
|
|
|
367
|
+
---
|
|
368
|
+
|
|
191
369
|
## 디버깅
|
|
192
370
|
|
|
193
371
|
### 빌드 로그 확인
|
|
194
372
|
|
|
195
373
|
```bash
|
|
196
374
|
# 상세 로그 출력
|
|
197
|
-
DEBUG=nitro:*
|
|
375
|
+
DEBUG=nitro:* pnpm build
|
|
198
376
|
```
|
|
199
377
|
|
|
200
378
|
### 출력 검사
|
|
@@ -205,7 +383,10 @@ ls -la .output/server/
|
|
|
205
383
|
cat .output/nitro.json
|
|
206
384
|
```
|
|
207
385
|
|
|
386
|
+
---
|
|
387
|
+
|
|
208
388
|
## 참고 자료
|
|
209
389
|
|
|
210
390
|
- [Nitro 공식 문서](https://nitro.build)
|
|
211
391
|
- [Nitro Preset 목록](https://nitro.build/deploy)
|
|
392
|
+
- [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
|