@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.
Files changed (49) hide show
  1. package/dist/index.js +118 -3
  2. package/package.json +8 -2
  3. package/templates/hono/CLAUDE.md +53 -326
  4. package/templates/hono/docs/architecture/architecture.md +93 -747
  5. package/templates/hono/docs/deployment/cloudflare.md +59 -513
  6. package/templates/hono/docs/deployment/docker.md +41 -356
  7. package/templates/hono/docs/deployment/index.md +49 -190
  8. package/templates/hono/docs/deployment/railway.md +36 -306
  9. package/templates/hono/docs/deployment/vercel.md +49 -434
  10. package/templates/hono/docs/library/ai-sdk/index.md +53 -290
  11. package/templates/hono/docs/library/ai-sdk/openrouter.md +19 -387
  12. package/templates/hono/docs/library/ai-sdk/providers.md +28 -394
  13. package/templates/hono/docs/library/ai-sdk/streaming.md +52 -353
  14. package/templates/hono/docs/library/ai-sdk/structured-output.md +63 -395
  15. package/templates/hono/docs/library/ai-sdk/tools.md +62 -431
  16. package/templates/hono/docs/library/hono/env-setup.md +24 -313
  17. package/templates/hono/docs/library/hono/error-handling.md +34 -295
  18. package/templates/hono/docs/library/hono/index.md +24 -122
  19. package/templates/hono/docs/library/hono/middleware.md +21 -188
  20. package/templates/hono/docs/library/hono/rpc.md +40 -341
  21. package/templates/hono/docs/library/hono/validation.md +35 -195
  22. package/templates/hono/docs/library/pino/index.md +42 -333
  23. package/templates/hono/docs/library/prisma/cloudflare-d1.md +64 -367
  24. package/templates/hono/docs/library/prisma/config.md +19 -260
  25. package/templates/hono/docs/library/prisma/index.md +64 -320
  26. package/templates/hono/docs/library/zod/index.md +53 -257
  27. package/templates/npx/CLAUDE.md +58 -276
  28. package/templates/npx/docs/references/patterns.md +160 -0
  29. package/templates/tanstack-start/CLAUDE.md +0 -4
  30. package/templates/tanstack-start/docs/architecture/architecture.md +44 -589
  31. package/templates/tanstack-start/docs/design/index.md +119 -12
  32. package/templates/tanstack-start/docs/guides/conventions.md +103 -0
  33. package/templates/tanstack-start/docs/guides/env-setup.md +34 -340
  34. package/templates/tanstack-start/docs/guides/getting-started.md +22 -209
  35. package/templates/tanstack-start/docs/guides/hooks.md +166 -0
  36. package/templates/tanstack-start/docs/guides/routes.md +166 -0
  37. package/templates/tanstack-start/docs/guides/services.md +143 -0
  38. package/templates/tanstack-start/docs/library/tanstack-query/index.md +18 -2
  39. package/templates/tanstack-start/docs/library/zod/index.md +16 -1
  40. package/templates/tanstack-start/docs/design/accessibility.md +0 -163
  41. package/templates/tanstack-start/docs/design/color.md +0 -93
  42. package/templates/tanstack-start/docs/design/spacing.md +0 -122
  43. package/templates/tanstack-start/docs/design/typography.md +0 -80
  44. package/templates/tanstack-start/docs/guides/best-practices.md +0 -950
  45. package/templates/tanstack-start/docs/guides/husky-lint-staged.md +0 -303
  46. package/templates/tanstack-start/docs/guides/prettier.md +0 -189
  47. package/templates/tanstack-start/docs/guides/project-templates.md +0 -710
  48. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +0 -48
  49. package/templates/tanstack-start/docs/library/zod/basic-types.md +0 -74
@@ -1,159 +1,46 @@
1
- # Nitro v3 - Docker 배포
1
+ # Nitro - Docker 배포
2
2
 
3
- > **상위 문서**: [배포 가이드](./index.md)
4
-
5
- Docker를 사용하여 Hono + Nitro 애플리케이션을 컨테이너로 배포합니다.
6
-
7
- ---
8
-
9
- ## 🚀 Quick Reference (복사용)
10
-
11
- ```dockerfile
12
- # Dockerfile
13
- FROM node:20-alpine AS base
14
-
15
- FROM base AS deps
16
- WORKDIR /app
17
- COPY package.json yarn.lock ./
18
- RUN yarn install --frozen-lockfile
19
-
20
- FROM base AS builder
21
- WORKDIR /app
22
- COPY --from=deps /app/node_modules ./node_modules
23
- COPY . .
24
- RUN yarn build
25
-
26
- FROM base AS runner
27
- WORKDIR /app
28
- RUN addgroup --system --gid 1001 nodejs && \
29
- adduser --system --uid 1001 hono
30
- COPY --from=builder --chown=hono:nodejs /app/.output ./.output
31
- USER hono
32
- EXPOSE 3000
33
- ENV PORT=3000 NODE_ENV=production
34
- CMD ["node", ".output/server/index.mjs"]
35
- ```
36
-
37
- ```bash
38
- # 빌드 및 실행
39
- docker build -t my-hono-app .
40
- docker run -p 3000:3000 my-hono-app
41
- ```
3
+ > 컨테이너 배포
42
4
 
43
5
  ---
44
6
 
45
- ## Nitro 설정
46
-
47
- ### nitro.config.ts
7
+ ## nitro.config.ts
48
8
 
49
9
  ```typescript
50
- // nitro.config.ts
51
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
52
- // Docker 배포용 Nitro 설정
53
- // Node.js 서버로 빌드됩니다
54
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
10
  import { defineNitroConfig } from "nitro/config";
56
11
 
57
12
  export default defineNitroConfig({
58
- // Node.js 서버 preset
59
13
  preset: "node",
60
-
61
- // 호환성 날짜
62
14
  compatibilityDate: "2024-09-19",
63
-
64
- // 소스 디렉토리
65
- srcDir: "src",
66
-
67
- // 빌드 출력
68
- output: {
69
- dir: ".output",
70
- },
71
-
72
- // Node.js 설정
73
- node: {
74
- // 압축 활성화
75
- compress: true,
76
- },
77
15
  });
78
16
  ```
79
17
 
80
18
  ---
81
19
 
82
- ## Dockerfile (상세)
83
-
84
- ### 멀티스테이지 빌드
20
+ ## Dockerfile
85
21
 
86
22
  ```dockerfile
87
- # Dockerfile
88
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
89
- # Hono + Nitro 멀티스테이지 Docker 빌드
90
- # 최적화된 프로덕션 이미지 생성
91
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
-
93
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
94
- # Stage 1: 베이스 이미지
95
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
96
23
  FROM node:20-alpine AS base
97
24
 
98
- # libc6-compat: 일부 네이티브 모듈 호환성을 위해 필요
99
- RUN apk add --no-cache libc6-compat
100
-
101
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
102
- # Stage 2: 의존성 설치
103
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
104
25
  FROM base AS deps
105
26
  WORKDIR /app
106
-
107
- # 패키지 매니저 파일 복사
108
27
  COPY package.json yarn.lock ./
109
-
110
- # yarn 의존성 설치
111
28
  RUN yarn install --frozen-lockfile
112
29
 
113
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
114
- # Stage 3: 빌드
115
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
116
30
  FROM base AS builder
117
31
  WORKDIR /app
118
-
119
- # 의존성 복사
120
32
  COPY --from=deps /app/node_modules ./node_modules
121
-
122
- # 소스 코드 복사
123
33
  COPY . .
124
-
125
- # Nitro 빌드
126
34
  RUN yarn build
127
35
 
128
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
129
- # Stage 4: 프로덕션 러너
130
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
131
36
  FROM base AS runner
132
37
  WORKDIR /app
133
-
134
- # 보안: 비-root 사용자 생성
135
38
  RUN addgroup --system --gid 1001 nodejs && \
136
39
  adduser --system --uid 1001 hono
137
-
138
- # 빌드 결과물만 복사 (최소화된 이미지)
139
40
  COPY --from=builder --chown=hono:nodejs /app/.output ./.output
140
-
141
- # 비-root 사용자로 전환
142
41
  USER hono
143
-
144
- # 포트 설정
145
42
  EXPOSE 3000
146
-
147
- # 환경 변수
148
- ENV PORT=3000
149
- ENV NODE_ENV=production
150
- ENV HOST=0.0.0.0
151
-
152
- # 헬스체크
153
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
154
- CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1
155
-
156
- # 서버 실행
43
+ ENV PORT=3000 NODE_ENV=production HOST=0.0.0.0
157
44
  CMD ["node", ".output/server/index.mjs"]
158
45
  ```
159
46
 
@@ -162,72 +49,41 @@ CMD ["node", ".output/server/index.mjs"]
162
49
  ## .dockerignore
163
50
 
164
51
  ```dockerignore
165
- # .dockerignore
166
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
167
- # Docker 빌드 시 제외할 파일
168
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
169
-
170
- # 의존성
171
52
  node_modules/
172
-
173
- # 빌드 결과물
174
53
  .output/
175
- dist/
176
-
177
- # 환경 파일
178
54
  .env
179
55
  .env.*
180
56
  !.env.example
181
-
182
- # Git
183
57
  .git/
184
- .gitignore
185
-
186
- # IDE
187
- .vscode/
188
- .idea/
189
-
190
- # 테스트
191
- coverage/
192
58
  *.test.ts
193
- *.spec.ts
194
- __tests__/
195
-
196
- # 문서
59
+ coverage/
197
60
  *.md
198
61
  docs/
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 빌드 및 실행
199
67
 
200
- # Docker
201
- Dockerfile*
202
- docker-compose*.yml
203
- .dockerignore
68
+ ```bash
69
+ docker build -t my-hono-app .
70
+ docker run -p 3000:3000 my-hono-app
204
71
 
205
- # 기타
206
- .DS_Store
207
- *.log
208
- tmp/
72
+ # 환경 변수
73
+ docker run -p 3000:3000 \
74
+ -e DATABASE_URL="postgresql://..." \
75
+ my-hono-app
209
76
  ```
210
77
 
211
78
  ---
212
79
 
213
80
  ## Docker Compose
214
81
 
215
- ### docker-compose.yml
216
-
217
82
  ```yaml
218
83
  # docker-compose.yml
219
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
- # Hono + Nitro 개발/프로덕션 환경 구성
221
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
-
223
84
  services:
224
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
225
- # Hono 애플리케이션
226
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
227
85
  app:
228
- build:
229
- context: .
230
- dockerfile: Dockerfile
86
+ build: .
231
87
  ports:
232
88
  - "3000:3000"
233
89
  environment:
@@ -236,16 +92,7 @@ services:
236
92
  depends_on:
237
93
  db:
238
94
  condition: service_healthy
239
- restart: unless-stopped
240
- healthcheck:
241
- test: ["CMD", "wget", "--spider", "http://localhost:3000/health"]
242
- interval: 30s
243
- timeout: 10s
244
- retries: 3
245
-
246
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
247
- # PostgreSQL 데이터베이스
248
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
95
+
249
96
  db:
250
97
  image: postgres:16-alpine
251
98
  environment:
@@ -260,139 +107,47 @@ services:
260
107
  timeout: 5s
261
108
  retries: 5
262
109
 
263
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
264
- # Redis 캐시 (선택적)
265
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
266
- redis:
267
- image: redis:7-alpine
268
- ports:
269
- - "6379:6379"
270
- volumes:
271
- - redis_data:/data
272
- command: redis-server --appendonly yes
273
-
274
110
  volumes:
275
111
  postgres_data:
276
- redis_data:
277
112
  ```
278
113
 
279
- ### 개발용 docker-compose
114
+ ```bash
115
+ docker compose up -d
116
+ docker compose logs -f app
117
+ docker compose down
118
+ ```
119
+
120
+ ---
121
+
122
+ ## 개발용
280
123
 
281
124
  ```yaml
282
125
  # docker-compose.dev.yml
283
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
284
- # 개발 환경 전용 구성
285
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
286
-
287
126
  services:
288
127
  app:
289
128
  build:
290
- context: .
291
129
  dockerfile: Dockerfile.dev
292
130
  ports:
293
131
  - "3000:3000"
294
132
  volumes:
295
- # 소스 코드 마운트 (Hot Reload)
296
133
  - ./src:/app/src
297
- - ./nitro.config.ts:/app/nitro.config.ts
298
134
  environment:
299
135
  - NODE_ENV=development
300
- - DATABASE_URL=postgresql://postgres:password@db:5432/mydb
301
- depends_on:
302
- - db
303
-
304
- db:
305
- image: postgres:16-alpine
306
- environment:
307
- - POSTGRES_USER=postgres
308
- - POSTGRES_PASSWORD=password
309
- - POSTGRES_DB=mydb
310
- ports:
311
- - "5432:5432"
312
- volumes:
313
- - postgres_data:/var/lib/postgresql/data
314
-
315
- volumes:
316
- postgres_data:
317
136
  ```
318
137
 
319
- ### 개발용 Dockerfile
320
-
321
138
  ```dockerfile
322
139
  # Dockerfile.dev
323
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
324
- # 개발 환경용 Dockerfile
325
- # Hot Reload 지원
326
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
327
-
328
140
  FROM node:20-alpine
329
-
330
141
  WORKDIR /app
331
-
332
- # 패키지 파일 복사
333
142
  COPY package.json yarn.lock ./
334
-
335
- # yarn 의존성 설치
336
143
  RUN yarn install
337
-
338
- # 소스 코드는 볼륨으로 마운트됨
339
-
340
144
  EXPOSE 3000
341
-
342
- # 개발 서버 실행
343
145
  CMD ["yarn", "dev"]
344
146
  ```
345
147
 
346
148
  ---
347
149
 
348
- ## 빌드 및 실행 명령어
349
-
350
- ### 기본 명령어
351
-
352
- ```bash
353
- # 이미지 빌드
354
- docker build -t my-hono-app .
355
-
356
- # 컨테이너 실행
357
- docker run -p 3000:3000 my-hono-app
358
-
359
- # 환경 변수와 함께 실행
360
- docker run -p 3000:3000 \
361
- -e DATABASE_URL="postgresql://user:pass@host:5432/db" \
362
- -e API_SECRET="my-secret" \
363
- my-hono-app
364
-
365
- # 백그라운드 실행
366
- docker run -d --name hono-app -p 3000:3000 my-hono-app
367
- ```
368
-
369
- ### Docker Compose 명령어
370
-
371
- ```bash
372
- # 프로덕션 시작
373
- docker compose up -d
374
-
375
- # 개발 환경 시작
376
- docker compose -f docker-compose.dev.yml up
377
-
378
- # 로그 확인
379
- docker compose logs -f app
380
-
381
- # 컨테이너 재빌드
382
- docker compose up -d --build
383
-
384
- # 종료
385
- docker compose down
386
-
387
- # 볼륨 포함 종료 (데이터 삭제)
388
- docker compose down -v
389
- ```
390
-
391
- ---
392
-
393
- ## CI/CD 통합
394
-
395
- ### GitHub Actions
150
+ ## CI/CD
396
151
 
397
152
  ```yaml
398
153
  # .github/workflows/docker.yml
@@ -401,106 +156,39 @@ name: Docker Build & Push
401
156
  on:
402
157
  push:
403
158
  branches: [main]
404
- pull_request:
405
- branches: [main]
406
159
 
407
160
  jobs:
408
161
  build:
409
162
  runs-on: ubuntu-latest
410
-
411
163
  steps:
412
164
  - uses: actions/checkout@v4
413
-
414
- - name: Set up Docker Buildx
415
- uses: docker/setup-buildx-action@v3
416
-
417
- - name: Login to Container Registry
418
- uses: docker/login-action@v3
165
+ - uses: docker/setup-buildx-action@v3
166
+ - uses: docker/login-action@v3
419
167
  with:
420
168
  registry: ghcr.io
421
169
  username: ${{ github.actor }}
422
170
  password: ${{ secrets.GITHUB_TOKEN }}
423
-
424
- - name: Build and Push
425
- uses: docker/build-push-action@v5
171
+ - uses: docker/build-push-action@v5
426
172
  with:
427
- context: .
428
- push: ${{ github.event_name != 'pull_request' }}
429
- tags: |
430
- ghcr.io/${{ github.repository }}:latest
431
- ghcr.io/${{ github.repository }}:${{ github.sha }}
173
+ push: true
174
+ tags: ghcr.io/${{ github.repository }}:latest
432
175
  cache-from: type=gha
433
176
  cache-to: type=gha,mode=max
434
177
  ```
435
178
 
436
179
  ---
437
180
 
438
- ## 최적화 팁
439
-
440
- ### 이미지 크기 최소화
441
-
442
- ```dockerfile
443
- # Alpine 기반 이미지 사용
444
- FROM node:20-alpine
445
-
446
- # 불필요한 파일 제외 (.dockerignore 활용)
447
-
448
- # 프로덕션 의존성만 설치
449
- RUN yarn install --production
450
-
451
- # 빌드 결과물만 최종 이미지에 포함
452
- COPY --from=builder /app/.output ./.output
453
- ```
454
-
455
- ### 빌드 캐시 활용
456
-
457
- ```dockerfile
458
- # 의존성 파일 먼저 복사 (캐시 활용)
459
- COPY package.json yarn.lock ./
460
- RUN yarn install --frozen-lockfile
461
-
462
- # 소스 코드는 나중에 복사
463
- COPY . .
464
- RUN yarn build
465
- ```
466
-
467
- ### 보안 강화
468
-
469
- ```dockerfile
470
- # 비-root 사용자 사용
471
- RUN adduser --system --uid 1001 hono
472
- USER hono
473
-
474
- # 읽기 전용 파일 시스템
475
- # docker run --read-only my-hono-app
476
-
477
- # 취약점 스캔
478
- # docker scan my-hono-app
479
- ```
480
-
481
- ---
482
-
483
181
  ## 문제 해결
484
182
 
485
- ### 일반적인 문제
486
-
487
- | 문제 | 원인 | 해결 |
488
- |------|------|------|
489
- | 포트 연결 실패 | HOST=0.0.0.0 미설정 | `ENV HOST=0.0.0.0` 추가 |
490
- | 빌드 실패 | node_modules 누락 | .dockerignore 확인 |
491
- | 권한 오류 | root 사용자 문제 | 비-root 사용자 사용 |
492
- | 메모리 부족 | 이미지 크기 과다 | 멀티스테이지 빌드 사용 |
493
-
494
- ### 디버깅
183
+ | 문제 | 해결 |
184
+ |------|------|
185
+ | 포트 연결 실패 | `HOST=0.0.0.0` 설정 |
186
+ | 권한 오류 | 비-root 사용자 |
187
+ | 메모리 부족 | 멀티스테이지 빌드 |
495
188
 
496
189
  ```bash
497
- # 컨테이너 쉘 접속
498
190
  docker exec -it hono-app sh
499
-
500
- # 로그 확인
501
191
  docker logs -f hono-app
502
-
503
- # 리소스 사용량 확인
504
192
  docker stats hono-app
505
193
  ```
506
194
 
@@ -508,7 +196,4 @@ docker stats hono-app
508
196
 
509
197
  ## 관련 문서
510
198
 
511
- - [배포 가이드 개요](./index.md)
512
- - [Railway 배포](./railway.md)
513
- - [Vercel 배포](./vercel.md)
514
- - [Cloudflare 배포](./cloudflare.md)
199
+ - [배포 가이드](./index.md)