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