@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,78 +1,37 @@
|
|
|
1
1
|
# Nitro v3 배포 레이어
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> **Version**: Nitro 3.x
|
|
3
|
+
> Nitro 3.x
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 🚀 Quick Reference (복사용)
|
|
5
|
+
## Quick Reference
|
|
11
6
|
|
|
12
7
|
```typescript
|
|
13
8
|
// nitro.config.ts
|
|
14
9
|
import { defineNitroConfig } from 'nitro/config'
|
|
15
10
|
|
|
16
11
|
export default defineNitroConfig({
|
|
17
|
-
preset: 'vercel',
|
|
18
|
-
compatibilityDate: '2024-09-19',
|
|
12
|
+
preset: 'vercel',
|
|
13
|
+
compatibilityDate: '2024-09-19', // v3 필수
|
|
19
14
|
})
|
|
20
15
|
```
|
|
21
16
|
|
|
22
17
|
```bash
|
|
23
|
-
# 설치 및 빌드
|
|
24
18
|
yarn add nitro@3
|
|
25
19
|
yarn build
|
|
26
20
|
```
|
|
27
21
|
|
|
28
22
|
---
|
|
29
23
|
|
|
30
|
-
## 설치
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
# yarn
|
|
34
|
-
yarn add nitro@3
|
|
35
|
-
|
|
36
|
-
# npm
|
|
37
|
-
npm install nitro@3
|
|
38
|
-
|
|
39
|
-
# yarn
|
|
40
|
-
yarn add nitro@3
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
24
|
## Vite 통합
|
|
46
25
|
|
|
47
26
|
```typescript
|
|
48
27
|
// vite.config.ts
|
|
49
|
-
import { defineConfig } from 'vite'
|
|
50
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
51
28
|
import { nitro } from 'nitro/vite'
|
|
52
|
-
import viteReact from '@vitejs/plugin-react'
|
|
53
|
-
|
|
54
|
-
export default defineConfig({
|
|
55
|
-
plugins: [
|
|
56
|
-
tanstackStart(),
|
|
57
|
-
nitro(),
|
|
58
|
-
viteReact(),
|
|
59
|
-
],
|
|
60
|
-
})
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Preset을 Vite에서 직접 지정
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
// vite.config.ts
|
|
67
|
-
import { defineConfig } from 'vite'
|
|
68
29
|
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
69
|
-
import { nitro } from 'nitro/vite'
|
|
70
|
-
import viteReact from '@vitejs/plugin-react'
|
|
71
30
|
|
|
72
31
|
export default defineConfig({
|
|
73
32
|
plugins: [
|
|
74
33
|
tanstackStart(),
|
|
75
|
-
nitro({ preset: 'vercel' }),
|
|
34
|
+
nitro({ preset: 'vercel' }), // preset 직접 지정 가능
|
|
76
35
|
viteReact(),
|
|
77
36
|
],
|
|
78
37
|
})
|
|
@@ -80,176 +39,31 @@ export default defineConfig({
|
|
|
80
39
|
|
|
81
40
|
---
|
|
82
41
|
|
|
83
|
-
##
|
|
84
|
-
|
|
85
|
-
### nitro.config.ts (기본)
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
// nitro.config.ts
|
|
89
|
-
import { defineNitroConfig } from 'nitro/config'
|
|
90
|
-
|
|
91
|
-
export default defineNitroConfig({
|
|
92
|
-
// 배포 플랫폼 preset
|
|
93
|
-
preset: 'vercel',
|
|
94
|
-
|
|
95
|
-
// 호환성 날짜 (Nitro v3 필수)
|
|
96
|
-
compatibilityDate: '2024-09-19',
|
|
97
|
-
})
|
|
98
|
-
```
|
|
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
|
-
|
|
123
|
-
### 환경변수로 Preset 지정
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
# 빌드 시 환경변수로 지정
|
|
127
|
-
NITRO_PRESET=cloudflare_pages yarn build
|
|
128
|
-
|
|
129
|
-
# 또는 CLI 옵션
|
|
130
|
-
nitro build --preset cloudflare_pages
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 주요 Preset 목록
|
|
42
|
+
## Preset 목록
|
|
136
43
|
|
|
137
44
|
### 서버리스/Edge
|
|
138
45
|
|
|
139
|
-
| Preset | 플랫폼 |
|
|
140
|
-
|
|
141
|
-
| `vercel` | Vercel
|
|
142
|
-
| `vercel-edge` | Vercel
|
|
143
|
-
| `cloudflare_pages` | Cloudflare
|
|
144
|
-
| `cloudflare_module` | Cloudflare
|
|
145
|
-
| `netlify` | Netlify
|
|
146
|
-
| `aws_lambda` | AWS
|
|
46
|
+
| Preset | 플랫폼 |
|
|
47
|
+
|--------|--------|
|
|
48
|
+
| `vercel` | Vercel Functions |
|
|
49
|
+
| `vercel-edge` | Vercel Edge Functions |
|
|
50
|
+
| `cloudflare_pages` | Cloudflare Pages |
|
|
51
|
+
| `cloudflare_module` | Cloudflare Workers |
|
|
52
|
+
| `netlify` | Netlify Functions |
|
|
53
|
+
| `aws_lambda` | AWS Lambda |
|
|
147
54
|
|
|
148
55
|
### Node.js 서버
|
|
149
56
|
|
|
150
|
-
| Preset | 플랫폼 |
|
|
151
|
-
|
|
152
|
-
| `node` | 범용
|
|
153
|
-
| `node-cluster` |
|
|
154
|
-
| `bun` | Bun
|
|
155
|
-
| `deno` | Deno
|
|
156
|
-
| `deno-deploy` | Deno | Deno Deploy |
|
|
157
|
-
|
|
158
|
-
### 정적/기타
|
|
159
|
-
|
|
160
|
-
| Preset | 플랫폼 | 설명 |
|
|
161
|
-
|--------|--------|------|
|
|
162
|
-
| `static` | 범용 | 정적 사이트 생성 |
|
|
163
|
-
| `github-pages` | GitHub | GitHub Pages |
|
|
164
|
-
| `render-com` | Render | Render.com |
|
|
57
|
+
| Preset | 플랫폼 |
|
|
58
|
+
|--------|--------|
|
|
59
|
+
| `node` | 범용 (Railway, Docker) |
|
|
60
|
+
| `node-cluster` | 클러스터 모드 |
|
|
61
|
+
| `bun` | Bun 런타임 |
|
|
62
|
+
| `deno` | Deno 런타임 |
|
|
165
63
|
|
|
166
64
|
---
|
|
167
65
|
|
|
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
|
-
---
|
|
219
|
-
|
|
220
|
-
## 출력 구조
|
|
221
|
-
|
|
222
|
-
빌드 후 `.output/` 디렉토리에 생성되는 파일:
|
|
223
|
-
|
|
224
|
-
```
|
|
225
|
-
.output/
|
|
226
|
-
├── server/
|
|
227
|
-
│ └── index.mjs # 서버 엔트리포인트
|
|
228
|
-
├── public/
|
|
229
|
-
│ └── ... # 정적 파일
|
|
230
|
-
└── nitro.json # Nitro 설정
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## 런타임 설정
|
|
236
|
-
|
|
237
|
-
### Node.js 호환성 (Cloudflare)
|
|
238
|
-
|
|
239
|
-
```typescript
|
|
240
|
-
// nitro.config.ts
|
|
241
|
-
import { defineNitroConfig } from 'nitro/config'
|
|
242
|
-
|
|
243
|
-
export default defineNitroConfig({
|
|
244
|
-
preset: 'cloudflare_pages',
|
|
245
|
-
compatibilityDate: '2024-09-19',
|
|
246
|
-
cloudflare: {
|
|
247
|
-
nodeCompat: true, // Node.js API 호환성
|
|
248
|
-
},
|
|
249
|
-
})
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### 외부 패키지 처리
|
|
66
|
+
## 설정 예시
|
|
253
67
|
|
|
254
68
|
```typescript
|
|
255
69
|
// nitro.config.ts
|
|
@@ -258,135 +72,39 @@ import { defineNitroConfig } from 'nitro/config'
|
|
|
258
72
|
export default defineNitroConfig({
|
|
259
73
|
preset: 'vercel',
|
|
260
74
|
compatibilityDate: '2024-09-19',
|
|
75
|
+
output: { dir: '.output' },
|
|
76
|
+
minify: true,
|
|
261
77
|
|
|
262
|
-
//
|
|
78
|
+
// 외부 패키지 처리
|
|
263
79
|
externals: ['pg', 'mysql2', 'sharp'],
|
|
264
80
|
|
|
265
|
-
//
|
|
266
|
-
|
|
267
|
-
})
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
## 라우트 규칙
|
|
273
|
-
|
|
274
|
-
```typescript
|
|
275
|
-
// nitro.config.ts
|
|
276
|
-
import { defineNitroConfig } from 'nitro/config'
|
|
277
|
-
|
|
278
|
-
export default defineNitroConfig({
|
|
279
|
-
preset: 'vercel',
|
|
280
|
-
compatibilityDate: '2024-09-19',
|
|
81
|
+
// Cloudflare Node.js 호환성
|
|
82
|
+
cloudflare: { nodeCompat: true },
|
|
281
83
|
|
|
84
|
+
// 라우트 규칙
|
|
282
85
|
routeRules: {
|
|
283
|
-
// 정적 페이지 캐싱
|
|
284
86
|
'/': { prerender: true },
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
'/products/**': {
|
|
288
|
-
isr: {
|
|
289
|
-
expiration: 60, // 60초
|
|
290
|
-
},
|
|
291
|
-
},
|
|
292
|
-
|
|
293
|
-
// API 라우트 설정
|
|
294
|
-
'/api/**': {
|
|
295
|
-
cors: true,
|
|
296
|
-
headers: {
|
|
297
|
-
'Access-Control-Allow-Origin': '*',
|
|
298
|
-
},
|
|
299
|
-
},
|
|
300
|
-
|
|
301
|
-
// Edge에서 실행
|
|
302
|
-
'/api/fast/**': {
|
|
303
|
-
edge: true,
|
|
304
|
-
},
|
|
87
|
+
'/products/**': { isr: { expiration: 60 } },
|
|
88
|
+
'/api/**': { cors: true },
|
|
305
89
|
},
|
|
306
90
|
})
|
|
307
91
|
```
|
|
308
92
|
|
|
309
93
|
---
|
|
310
94
|
|
|
311
|
-
##
|
|
312
|
-
|
|
313
|
-
### .env 파일
|
|
95
|
+
## 빌드
|
|
314
96
|
|
|
315
97
|
```bash
|
|
316
|
-
# .env.production
|
|
317
|
-
DATABASE_URL=postgresql://...
|
|
318
|
-
API_SECRET=your-secret-key
|
|
319
|
-
NODE_ENV=production
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### 런타임에서 사용
|
|
323
|
-
|
|
324
|
-
```typescript
|
|
325
|
-
// server/api/example.ts
|
|
326
|
-
import { defineHandler } from 'nitro/h3'
|
|
327
|
-
|
|
328
|
-
export default defineHandler(() => {
|
|
329
|
-
const dbUrl = process.env.DATABASE_URL
|
|
330
|
-
// ...
|
|
331
|
-
})
|
|
332
|
-
```
|
|
333
|
-
|
|
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
|
-
### 빌드 명령어
|
|
352
|
-
|
|
353
|
-
```bash
|
|
354
|
-
# 개발 서버
|
|
355
|
-
yarn dev
|
|
356
|
-
|
|
357
|
-
# 프로덕션 빌드
|
|
358
98
|
yarn build
|
|
359
|
-
|
|
360
|
-
# 빌드 결과 미리보기
|
|
361
|
-
yarn preview
|
|
362
|
-
|
|
363
|
-
# 특정 preset으로 빌드
|
|
364
99
|
NITRO_PRESET=vercel yarn build
|
|
100
|
+
DEBUG=nitro:* yarn build # 상세 로그
|
|
365
101
|
```
|
|
366
102
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
## 디버깅
|
|
370
|
-
|
|
371
|
-
### 빌드 로그 확인
|
|
103
|
+
## 출력 구조
|
|
372
104
|
|
|
373
|
-
```bash
|
|
374
|
-
# 상세 로그 출력
|
|
375
|
-
DEBUG=nitro:* yarn build
|
|
376
105
|
```
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
# 빌드 후 출력 확인
|
|
382
|
-
ls -la .output/server/
|
|
383
|
-
cat .output/nitro.json
|
|
106
|
+
.output/
|
|
107
|
+
├── server/index.mjs # 서버 엔트리
|
|
108
|
+
├── public/ # 정적 파일
|
|
109
|
+
└── nitro.json
|
|
384
110
|
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## 참고 자료
|
|
389
|
-
|
|
390
|
-
- [Nitro 공식 문서](https://nitro.build)
|
|
391
|
-
- [Nitro Preset 목록](https://nitro.build/deploy)
|
|
392
|
-
- [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
|