@kood/claude-code 0.1.6 → 0.1.9
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 +109 -216
- package/package.json +8 -2
- package/templates/hono/CLAUDE.md +59 -328
- package/templates/hono/docs/architecture/architecture.md +93 -747
- package/templates/hono/docs/deployment/cloudflare.md +59 -513
- package/templates/hono/docs/deployment/docker.md +41 -356
- package/templates/hono/docs/deployment/index.md +54 -190
- package/templates/hono/docs/deployment/railway.md +36 -306
- package/templates/hono/docs/deployment/vercel.md +49 -434
- package/templates/hono/docs/library/ai-sdk/index.md +53 -290
- package/templates/hono/docs/library/ai-sdk/openrouter.md +19 -387
- package/templates/hono/docs/library/ai-sdk/providers.md +28 -394
- package/templates/hono/docs/library/ai-sdk/streaming.md +52 -353
- package/templates/hono/docs/library/ai-sdk/structured-output.md +63 -395
- package/templates/hono/docs/library/ai-sdk/tools.md +62 -431
- package/templates/hono/docs/library/hono/env-setup.md +24 -313
- package/templates/hono/docs/library/hono/error-handling.md +34 -295
- package/templates/hono/docs/library/hono/index.md +29 -121
- package/templates/hono/docs/library/hono/middleware.md +21 -188
- package/templates/hono/docs/library/hono/rpc.md +40 -341
- package/templates/hono/docs/library/hono/validation.md +35 -195
- package/templates/hono/docs/library/pino/index.md +42 -333
- package/templates/hono/docs/library/prisma/cloudflare-d1.md +64 -367
- package/templates/hono/docs/library/prisma/config.md +19 -260
- package/templates/hono/docs/library/prisma/index.md +67 -320
- package/templates/hono/docs/library/zod/index.md +53 -257
- package/templates/npx/CLAUDE.md +62 -274
- package/templates/npx/docs/references/patterns.md +160 -0
- package/templates/tanstack-start/CLAUDE.md +100 -256
- package/templates/tanstack-start/docs/architecture/architecture.md +44 -589
- 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/components.md +77 -311
- package/templates/tanstack-start/docs/design/index.md +113 -69
- package/templates/tanstack-start/docs/design/safe-area.md +51 -250
- package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
- package/templates/tanstack-start/docs/guides/conventions.md +103 -0
- package/templates/tanstack-start/docs/guides/env-setup.md +34 -340
- package/templates/tanstack-start/docs/guides/getting-started.md +22 -209
- package/templates/tanstack-start/docs/guides/hooks.md +166 -0
- package/templates/tanstack-start/docs/guides/routes.md +166 -0
- package/templates/tanstack-start/docs/guides/services.md +143 -0
- 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 +12 -112
- package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
- package/templates/tanstack-start/docs/library/tanstack-query/index.md +26 -97
- 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/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 +34 -246
- package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
- package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
- package/templates/tanstack-start/docs/library/zod/index.md +31 -144
- 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/design/accessibility.md +0 -433
- package/templates/tanstack-start/docs/design/color.md +0 -235
- package/templates/tanstack-start/docs/design/spacing.md +0 -341
- package/templates/tanstack-start/docs/design/typography.md +0 -324
- package/templates/tanstack-start/docs/guides/best-practices.md +0 -950
- package/templates/tanstack-start/docs/guides/husky-lint-staged.md +0 -303
- package/templates/tanstack-start/docs/guides/prettier.md +0 -189
- package/templates/tanstack-start/docs/guides/project-templates.md +0 -710
- package/templates/tanstack-start/docs/library/tanstack-query/setup.md +0 -107
- package/templates/tanstack-start/docs/library/zod/basic-types.md +0 -186
- 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,189 +1,83 @@
|
|
|
1
1
|
# Nitro v3 배포 가이드
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Hono + Nitro 배포
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
// nitro.config.ts
|
|
11
|
-
import { defineNitroConfig } from "nitro/config";
|
|
12
|
-
|
|
13
|
-
export default defineNitroConfig({
|
|
14
|
-
// 플랫폼별 preset 선택
|
|
15
|
-
preset: "node" | "cloudflare_module" | "cloudflare_pages" | "vercel",
|
|
16
|
-
|
|
17
|
-
// 기본 설정
|
|
18
|
-
compatibilityDate: "2024-09-19",
|
|
19
|
-
|
|
20
|
-
// Hono 앱 엔트리포인트
|
|
21
|
-
renderer: "hono",
|
|
22
|
-
});
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### CLI 명령어
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
# 빌드
|
|
29
|
-
npx nitro build
|
|
30
|
-
|
|
31
|
-
# 개발 서버
|
|
32
|
-
npx nitro dev
|
|
33
|
-
|
|
34
|
-
# 프리뷰 (빌드 후 로컬 실행)
|
|
35
|
-
npx nitro preview
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 문서 구조
|
|
41
|
-
|
|
42
|
-
| 플랫폼 | 문서 | 특징 |
|
|
43
|
-
|--------|------|------|
|
|
44
|
-
| [Docker](./docker.md) | 컨테이너 배포 | 유연한 인프라, CI/CD 통합 |
|
|
45
|
-
| [Railway](./railway.md) | PaaS 배포 | 간편한 배포, 자동 스케일링 |
|
|
46
|
-
| [Vercel](./vercel.md) | 서버리스 배포 | Edge Functions, ISR 지원 |
|
|
47
|
-
| [Cloudflare](./cloudflare.md) | Edge 배포 | 글로벌 분산, D1/KV 통합 |
|
|
5
|
+
@docker.md
|
|
6
|
+
@railway.md
|
|
7
|
+
@vercel.md
|
|
8
|
+
@cloudflare.md
|
|
48
9
|
|
|
49
10
|
---
|
|
50
11
|
|
|
51
|
-
##
|
|
52
|
-
|
|
53
|
-
### 1. 의존성 설치
|
|
12
|
+
## 설치
|
|
54
13
|
|
|
55
14
|
```bash
|
|
56
|
-
# npm
|
|
57
15
|
npm install nitro@3
|
|
58
|
-
|
|
59
|
-
# yarn
|
|
60
|
-
yarn add nitro@3
|
|
61
16
|
```
|
|
62
17
|
|
|
63
|
-
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 기본 설정
|
|
64
21
|
|
|
65
22
|
```typescript
|
|
66
23
|
// nitro.config.ts
|
|
67
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
68
|
-
// Nitro v3 기본 설정
|
|
69
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
24
|
import { defineNitroConfig } from "nitro/config";
|
|
71
25
|
|
|
72
26
|
export default defineNitroConfig({
|
|
73
|
-
//
|
|
27
|
+
preset: "node", // node | cloudflare_module | vercel
|
|
74
28
|
compatibilityDate: "2024-09-19",
|
|
75
|
-
|
|
76
|
-
// 소스 디렉토리
|
|
77
29
|
srcDir: "src",
|
|
78
|
-
|
|
79
|
-
// 빌드 출력 디렉토리
|
|
80
|
-
output: {
|
|
81
|
-
dir: ".output",
|
|
82
|
-
},
|
|
83
30
|
});
|
|
84
31
|
```
|
|
85
32
|
|
|
86
|
-
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 엔트리포인트
|
|
87
36
|
|
|
88
37
|
```typescript
|
|
89
38
|
// src/server.ts
|
|
90
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
-
// Hono 앱 메인 엔트리포인트
|
|
92
|
-
// Nitro에서 이 파일을 서버로 사용합니다
|
|
93
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
94
39
|
import { Hono } from "hono";
|
|
95
|
-
import { logger } from "hono/logger";
|
|
96
|
-
import { cors } from "hono/cors";
|
|
97
40
|
|
|
98
|
-
// Hono 앱 생성
|
|
99
41
|
const app = new Hono();
|
|
100
42
|
|
|
101
|
-
|
|
102
|
-
app.
|
|
103
|
-
app.use("*", cors());
|
|
104
|
-
|
|
105
|
-
// 라우트
|
|
106
|
-
app.get("/", (c) => {
|
|
107
|
-
return c.json({ message: "Hello from Hono + Nitro!" });
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
app.get("/health", (c) => {
|
|
111
|
-
return c.json({ status: "ok", timestamp: new Date().toISOString() });
|
|
112
|
-
});
|
|
43
|
+
app.get("/", (c) => c.json({ message: "Hello" }));
|
|
44
|
+
app.get("/health", (c) => c.json({ status: "ok" }));
|
|
113
45
|
|
|
114
|
-
// Nitro export
|
|
115
46
|
export default app;
|
|
116
47
|
```
|
|
117
48
|
|
|
118
49
|
---
|
|
119
50
|
|
|
120
|
-
##
|
|
51
|
+
## CLI
|
|
121
52
|
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
│ ├── routes/ # API 라우트
|
|
128
|
-
│ │ ├── users.ts
|
|
129
|
-
│ │ └── posts.ts
|
|
130
|
-
│ ├── middleware/ # 커스텀 미들웨어
|
|
131
|
-
│ └── lib/ # 유틸리티
|
|
132
|
-
├── .output/ # 빌드 결과물 (자동 생성)
|
|
133
|
-
├── package.json
|
|
134
|
-
└── tsconfig.json
|
|
53
|
+
```bash
|
|
54
|
+
npx nitro dev # 개발 서버
|
|
55
|
+
npx nitro build # 빌드
|
|
56
|
+
npx nitro preview # 프리뷰
|
|
57
|
+
node .output/server/index.mjs # 실행
|
|
135
58
|
```
|
|
136
59
|
|
|
137
60
|
---
|
|
138
61
|
|
|
139
|
-
##
|
|
62
|
+
## Preset 선택
|
|
140
63
|
|
|
141
|
-
|
|
64
|
+
| Preset | 용도 |
|
|
65
|
+
|--------|------|
|
|
66
|
+
| `node` | Node.js 서버, Docker |
|
|
67
|
+
| `cloudflare_module` | Cloudflare Workers |
|
|
68
|
+
| `cloudflare_pages` | Cloudflare Pages |
|
|
69
|
+
| `vercel` | Vercel Functions |
|
|
70
|
+
| `vercel-edge` | Vercel Edge |
|
|
142
71
|
|
|
143
|
-
|
|
144
|
-
# .env
|
|
145
|
-
DATABASE_URL=postgresql://localhost:5432/mydb
|
|
146
|
-
API_SECRET=your-secret-key
|
|
147
|
-
NODE_ENV=development
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Nitro에서 환경 변수 접근
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
// src/server.ts
|
|
154
|
-
import { Hono } from "hono";
|
|
155
|
-
|
|
156
|
-
const app = new Hono();
|
|
157
|
-
|
|
158
|
-
app.get("/config", (c) => {
|
|
159
|
-
// process.env로 접근
|
|
160
|
-
const dbUrl = process.env.DATABASE_URL;
|
|
161
|
-
const nodeEnv = process.env.NODE_ENV;
|
|
162
|
-
|
|
163
|
-
return c.json({
|
|
164
|
-
environment: nodeEnv,
|
|
165
|
-
hasDbConnection: !!dbUrl
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
export default app;
|
|
170
|
-
```
|
|
72
|
+
---
|
|
171
73
|
|
|
172
|
-
|
|
74
|
+
## 환경 변수
|
|
173
75
|
|
|
174
76
|
```typescript
|
|
175
77
|
// nitro.config.ts
|
|
176
|
-
import { defineNitroConfig } from "nitro/config";
|
|
177
|
-
|
|
178
78
|
export default defineNitroConfig({
|
|
179
|
-
compatibilityDate: "2024-09-19",
|
|
180
|
-
|
|
181
|
-
// 런타임 환경 변수
|
|
182
79
|
runtimeConfig: {
|
|
183
|
-
// 서버 전용 (노출 안됨)
|
|
184
80
|
apiSecret: process.env.API_SECRET,
|
|
185
|
-
|
|
186
|
-
// 공개 설정
|
|
187
81
|
public: {
|
|
188
82
|
apiBase: process.env.API_BASE_URL || "/api",
|
|
189
83
|
},
|
|
@@ -191,66 +85,36 @@ export default defineNitroConfig({
|
|
|
191
85
|
});
|
|
192
86
|
```
|
|
193
87
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
npx nitro dev
|
|
203
|
-
|
|
204
|
-
# 포트 지정
|
|
205
|
-
npx nitro dev --port 3001
|
|
88
|
+
```typescript
|
|
89
|
+
// src/server.ts
|
|
90
|
+
app.get("/config", (c) => {
|
|
91
|
+
return c.json({
|
|
92
|
+
environment: process.env.NODE_ENV,
|
|
93
|
+
hasDb: !!process.env.DATABASE_URL,
|
|
94
|
+
});
|
|
95
|
+
});
|
|
206
96
|
```
|
|
207
97
|
|
|
208
|
-
|
|
98
|
+
---
|
|
209
99
|
|
|
210
|
-
|
|
211
|
-
# 빌드
|
|
212
|
-
npx nitro build
|
|
100
|
+
## 프로젝트 구조
|
|
213
101
|
|
|
214
|
-
# 빌드 결과물 실행
|
|
215
|
-
node .output/server/index.mjs
|
|
216
102
|
```
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
103
|
+
프로젝트/
|
|
104
|
+
├── nitro.config.ts
|
|
105
|
+
├── src/
|
|
106
|
+
│ ├── server.ts # Hono 앱
|
|
107
|
+
│ ├── routes/
|
|
108
|
+
│ └── lib/
|
|
109
|
+
├── .output/ # 빌드 결과물
|
|
110
|
+
└── package.json
|
|
223
111
|
```
|
|
224
112
|
|
|
225
113
|
---
|
|
226
114
|
|
|
227
|
-
##
|
|
228
|
-
|
|
229
|
-
| Preset | 용도 | 장점 |
|
|
230
|
-
|--------|------|------|
|
|
231
|
-
| `node` | Node.js 서버 | 범용, Docker 호환 |
|
|
232
|
-
| `cloudflare_module` | Cloudflare Workers | Edge 배포, 낮은 지연시간 |
|
|
233
|
-
| `cloudflare_pages` | Cloudflare Pages | 정적 + 서버리스 |
|
|
234
|
-
| `vercel` | Vercel Functions | 간편한 배포, ISR |
|
|
235
|
-
| `netlify` | Netlify Functions | JAMstack 친화적 |
|
|
236
|
-
| `deno` | Deno Deploy | Deno 런타임 |
|
|
237
|
-
| `bun` | Bun 런타임 | 빠른 실행 속도 |
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 다음 단계
|
|
242
|
-
|
|
243
|
-
플랫폼별 상세 배포 가이드:
|
|
244
|
-
|
|
245
|
-
1. **[Docker 배포](./docker.md)** - 컨테이너 기반 배포
|
|
246
|
-
2. **[Railway 배포](./railway.md)** - PaaS 간편 배포
|
|
247
|
-
3. **[Vercel 배포](./vercel.md)** - 서버리스 배포
|
|
248
|
-
4. **[Cloudflare 배포](./cloudflare.md)** - Edge 배포
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 참고 자료
|
|
115
|
+
## 관련 문서
|
|
253
116
|
|
|
254
|
-
- [
|
|
255
|
-
- [
|
|
256
|
-
- [
|
|
117
|
+
- [Docker](./docker.md)
|
|
118
|
+
- [Railway](./railway.md)
|
|
119
|
+
- [Vercel](./vercel.md)
|
|
120
|
+
- [Cloudflare](./cloudflare.md)
|