@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.
Files changed (107) hide show
  1. package/dist/index.js +109 -216
  2. package/package.json +8 -2
  3. package/templates/hono/CLAUDE.md +59 -328
  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 +54 -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 +29 -121
  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 +67 -320
  26. package/templates/hono/docs/library/zod/index.md +53 -257
  27. package/templates/npx/CLAUDE.md +62 -274
  28. package/templates/npx/docs/references/patterns.md +160 -0
  29. package/templates/tanstack-start/CLAUDE.md +100 -256
  30. package/templates/tanstack-start/docs/architecture/architecture.md +44 -589
  31. package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
  32. package/templates/tanstack-start/docs/deployment/index.md +57 -286
  33. package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
  34. package/templates/tanstack-start/docs/deployment/railway.md +40 -409
  35. package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
  36. package/templates/tanstack-start/docs/design/components.md +77 -311
  37. package/templates/tanstack-start/docs/design/index.md +113 -69
  38. package/templates/tanstack-start/docs/design/safe-area.md +51 -250
  39. package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
  40. package/templates/tanstack-start/docs/guides/conventions.md +103 -0
  41. package/templates/tanstack-start/docs/guides/env-setup.md +34 -340
  42. package/templates/tanstack-start/docs/guides/getting-started.md +22 -209
  43. package/templates/tanstack-start/docs/guides/hooks.md +166 -0
  44. package/templates/tanstack-start/docs/guides/routes.md +166 -0
  45. package/templates/tanstack-start/docs/guides/services.md +143 -0
  46. package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
  47. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  48. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  49. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  50. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  51. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  52. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  53. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  54. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  55. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  56. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  57. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  58. package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
  59. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  60. package/templates/tanstack-start/docs/library/tanstack-query/index.md +26 -97
  61. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  62. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  63. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  64. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  65. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  66. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  67. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  68. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  69. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
  70. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  71. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  72. package/templates/tanstack-start/docs/library/zod/index.md +31 -144
  73. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  74. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  75. package/templates/hono/docs/commands/git.md +0 -145
  76. package/templates/hono/docs/mcp/context7.md +0 -106
  77. package/templates/hono/docs/mcp/index.md +0 -176
  78. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  79. package/templates/hono/docs/mcp/serena.md +0 -269
  80. package/templates/hono/docs/mcp/sgrep.md +0 -105
  81. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  82. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  83. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  84. package/templates/npx/docs/commands/git.md +0 -145
  85. package/templates/npx/docs/mcp/index.md +0 -60
  86. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  87. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  88. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  89. package/templates/tanstack-start/docs/commands/git.md +0 -145
  90. package/templates/tanstack-start/docs/design/accessibility.md +0 -433
  91. package/templates/tanstack-start/docs/design/color.md +0 -235
  92. package/templates/tanstack-start/docs/design/spacing.md +0 -341
  93. package/templates/tanstack-start/docs/design/typography.md +0 -324
  94. package/templates/tanstack-start/docs/guides/best-practices.md +0 -950
  95. package/templates/tanstack-start/docs/guides/husky-lint-staged.md +0 -303
  96. package/templates/tanstack-start/docs/guides/prettier.md +0 -189
  97. package/templates/tanstack-start/docs/guides/project-templates.md +0 -710
  98. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +0 -107
  99. package/templates/tanstack-start/docs/library/zod/basic-types.md +0 -186
  100. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  101. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  102. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  103. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  104. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  105. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  106. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  107. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
@@ -1,12 +1,10 @@
1
- # Nitro v3 - Railway 배포
1
+ # Nitro - Railway 배포
2
2
 
3
- > **상위 문서**: [배포 가이드](./index.md)
4
-
5
- Railway를 사용하여 Hono + Nitro 애플리케이션을 간편하게 배포합니다.
3
+ > PaaS 간편 배포
6
4
 
7
5
  ---
8
6
 
9
- ## 🚀 Quick Reference (복사용)
7
+ ## 설정
10
8
 
11
9
  ```typescript
12
10
  // nitro.config.ts
@@ -19,264 +17,92 @@ export default defineNitroConfig({
19
17
  ```
20
18
 
21
19
  ```json
22
- // package.json scripts
20
+ // package.json
23
21
  {
24
22
  "scripts": {
25
23
  "build": "nitro build",
26
24
  "start": "node .output/server/index.mjs"
27
- }
28
- }
29
- ```
30
-
31
- ```bash
32
- # Railway CLI 배포
33
- railway login
34
- railway init
35
- railway up
36
- ```
37
-
38
- ---
39
-
40
- ## Railway 설정
41
-
42
- ### 1. Nitro 설정
43
-
44
- ```typescript
45
- // nitro.config.ts
46
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
- // Railway 배포용 Nitro 설정
48
- // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
- import { defineNitroConfig } from "nitro/config";
50
-
51
- export default defineNitroConfig({
52
- // Node.js 서버 preset
53
- preset: "node",
54
-
55
- // 호환성 날짜
56
- compatibilityDate: "2024-09-19",
57
-
58
- // Railway는 PORT 환경 변수 자동 제공
59
- // 별도 설정 불필요
60
- });
61
- ```
62
-
63
- ### 2. package.json 설정
64
-
65
- ```json
66
- {
67
- "name": "hono-nitro-app",
68
- "type": "module",
69
- "scripts": {
70
- "dev": "nitro dev",
71
- "build": "nitro build",
72
- "start": "node .output/server/index.mjs",
73
- "preview": "nitro preview"
74
- },
75
- "dependencies": {
76
- "hono": "^4.0.0",
77
- "nitro": "^3.0.0"
78
25
  },
79
- "devDependencies": {
80
- "typescript": "^5.0.0"
81
- },
82
- "engines": {
83
- "node": ">=20.0.0"
84
- }
26
+ "engines": { "node": ">=20.0.0" }
85
27
  }
86
28
  ```
87
29
 
88
30
  ---
89
31
 
90
- ## 배포 방법
91
-
92
- ### 방법 1: GitHub 연동 (권장)
32
+ ## 배포
93
33
 
94
- 1. **Railway 프로젝트 생성**
95
- - [Railway 대시보드](https://railway.app) 접속
96
- - "New Project" → "Deploy from GitHub repo" 선택
97
- - 저장소 연결
34
+ ### GitHub 연동 (권장)
98
35
 
99
- 2. **자동 감지**
100
- - Railway가 자동으로 Node.js 프로젝트 감지
101
- - `package.json`의 `build`, `start` 스크립트 사용
36
+ 1. [Railway 대시보드](https://railway.app) → New Project → Deploy from GitHub
37
+ 2. 자동 빌드/배포 설정
102
38
 
103
- 3. **환경 변수 설정**
104
- - Railway 대시보드에서 Variables 탭 선택
105
- - 필요한 환경 변수 추가
106
-
107
- ### 방법 2: Railway CLI
39
+ ### CLI
108
40
 
109
41
  ```bash
110
- # Railway CLI 설치
111
42
  npm install -g @railway/cli
112
-
113
- # 로그인
114
43
  railway login
115
-
116
- # 프로젝트 초기화
117
44
  railway init
118
-
119
- # 배포
120
45
  railway up
121
46
 
122
- # 환경 변수 설정
47
+ # 환경 변수
123
48
  railway variables set DATABASE_URL="postgresql://..."
124
- railway variables set API_SECRET="your-secret"
125
-
126
- # 로그 확인
127
49
  railway logs
128
50
  ```
129
51
 
130
- ### 방법 3: Docker 배포
131
-
132
- Railway는 Dockerfile을 자동으로 감지합니다.
133
-
134
- ```dockerfile
135
- # Dockerfile
136
- FROM node:20-alpine AS builder
137
- WORKDIR /app
138
- COPY package.json yarn.lock ./
139
- RUN yarn install --frozen-lockfile
140
- COPY . .
141
- RUN yarn build
142
-
143
- FROM node:20-alpine
144
- WORKDIR /app
145
- COPY --from=builder /app/.output ./.output
146
- ENV PORT=3000 NODE_ENV=production
147
- EXPOSE 3000
148
- CMD ["node", ".output/server/index.mjs"]
149
- ```
150
-
151
52
  ---
152
53
 
153
- ## railway.toml 설정 (선택)
54
+ ## railway.toml (선택)
154
55
 
155
56
  ```toml
156
- # railway.toml
157
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
- # Railway 배포 설정 (선택적)
159
- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
-
161
57
  [build]
162
- # 빌드 명령어
163
- builder = "nixpacks"
164
58
  buildCommand = "yarn install && yarn build"
165
59
 
166
60
  [deploy]
167
- # 시작 명령어
168
61
  startCommand = "node .output/server/index.mjs"
169
-
170
- # 헬스체크
171
62
  healthcheckPath = "/health"
172
- healthcheckTimeout = 300
173
-
174
- # 재시작 정책
175
- restartPolicyType = "ON_FAILURE"
176
- restartPolicyMaxRetries = 3
177
63
  ```
178
64
 
179
65
  ---
180
66
 
181
67
  ## 환경 변수
182
68
 
183
- ### Railway 대시보드에서 설정
184
-
185
- ```
186
- DATABASE_URL=postgresql://user:pass@host:5432/db
187
- API_SECRET=your-secret-key
188
- NODE_ENV=production
189
- ```
190
-
191
- ### 코드에서 사용
192
-
193
69
  ```typescript
194
- // src/server.ts
195
- import { Hono } from "hono";
196
-
197
- const app = new Hono();
198
-
199
70
  app.get("/health", (c) => {
200
71
  return c.json({
201
72
  status: "ok",
202
- environment: process.env.NODE_ENV,
203
- // Railway 자동 제공 변수
204
- railway: {
205
- environment: process.env.RAILWAY_ENVIRONMENT,
206
- service: process.env.RAILWAY_SERVICE_NAME,
207
- },
73
+ env: process.env.RAILWAY_ENVIRONMENT,
208
74
  });
209
75
  });
210
-
211
- export default app;
212
76
  ```
213
77
 
214
- ### Railway 자동 제공 변수
215
-
216
- | 변수 | 설명 |
217
- |------|------|
218
- | `PORT` | 서버 포트 (자동 할당) |
219
- | `RAILWAY_ENVIRONMENT` | 환경 (production, staging 등) |
220
- | `RAILWAY_SERVICE_NAME` | 서비스 이름 |
221
- | `RAILWAY_PROJECT_ID` | 프로젝트 ID |
222
- | `RAILWAY_DEPLOYMENT_ID` | 배포 ID |
78
+ | 자동 제공 변수 | 설명 |
79
+ |---------------|------|
80
+ | `PORT` | 서버 포트 |
81
+ | `RAILWAY_ENVIRONMENT` | 환경 |
82
+ | `RAILWAY_SERVICE_NAME` | 서비스명 |
223
83
 
224
84
  ---
225
85
 
226
- ## 데이터베이스 연동
86
+ ## 데이터베이스
227
87
 
228
- ### PostgreSQL 추가
229
-
230
- 1. Railway 대시보드에서 "New" → "Database" → "PostgreSQL" 선택
231
- 2. 자동으로 `DATABASE_URL` 환경 변수 연결
88
+ Railway 대시보드 → New → Database → PostgreSQL/Redis
232
89
 
233
90
  ```typescript
234
- // src/lib/db.ts
91
+ // DATABASE_URL 자동 연결
235
92
  import { PrismaClient } from "@prisma/client";
236
-
237
- // Railway의 DATABASE_URL 자동 사용
238
93
  export const prisma = new PrismaClient();
239
94
  ```
240
95
 
241
- ### Redis 추가
242
-
243
- 1. Railway 대시보드에서 "New" → "Database" → "Redis" 선택
244
- 2. `REDIS_URL` 환경 변수 자동 연결
245
-
246
- ```typescript
247
- // src/lib/redis.ts
248
- import { createClient } from "redis";
249
-
250
- const client = createClient({
251
- url: process.env.REDIS_URL,
252
- });
253
-
254
- export default client;
255
- ```
256
-
257
96
  ---
258
97
 
259
- ## 도메인 설정
260
-
261
- ### 자동 도메인
262
-
263
- Railway는 자동으로 도메인을 생성합니다:
264
- - `your-app-production.up.railway.app`
265
-
266
- ### 커스텀 도메인
98
+ ## 도메인
267
99
 
268
- 1. Railway 대시보드 → Settings → Domains
269
- 2. "Add Custom Domain" 클릭
270
- 3. DNS 설정:
271
- ```
272
- CNAME your-domain.com → your-app-production.up.railway.app
273
- ```
100
+ - 자동: `your-app.up.railway.app`
101
+ - 커스텀: Settings → Domains → Add Custom Domain
274
102
 
275
103
  ---
276
104
 
277
- ## CI/CD 설정
278
-
279
- ### GitHub Actions 연동
105
+ ## CI/CD
280
106
 
281
107
  ```yaml
282
108
  # .github/workflows/railway.yml
@@ -291,126 +117,30 @@ jobs:
291
117
  runs-on: ubuntu-latest
292
118
  steps:
293
119
  - uses: actions/checkout@v4
294
-
295
- - name: Install Railway CLI
296
- run: npm install -g @railway/cli
297
-
298
- - name: Deploy
299
- run: railway up
300
- env:
301
- RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
302
- ```
303
-
304
- ### 환경별 배포
305
-
306
- ```yaml
307
- # .github/workflows/railway-env.yml
308
- name: Deploy to Railway (Multi-Environment)
309
-
310
- on:
311
- push:
312
- branches:
313
- - main
314
- - staging
315
-
316
- jobs:
317
- deploy:
318
- runs-on: ubuntu-latest
319
- steps:
320
- - uses: actions/checkout@v4
321
-
322
- - name: Install Railway CLI
323
- run: npm install -g @railway/cli
324
-
325
- - name: Deploy to Production
326
- if: github.ref == 'refs/heads/main'
327
- run: railway up --environment production
328
- env:
329
- RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
330
-
331
- - name: Deploy to Staging
332
- if: github.ref == 'refs/heads/staging'
333
- run: railway up --environment staging
120
+ - run: npm install -g @railway/cli
121
+ - run: railway up
334
122
  env:
335
123
  RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
336
124
  ```
337
125
 
338
126
  ---
339
127
 
340
- ## 모니터링
341
-
342
- ### 로그 확인
343
-
344
- ```bash
345
- # CLI로 로그 확인
346
- railway logs
347
-
348
- # 실시간 로그
349
- railway logs -f
350
-
351
- # 특정 서비스 로그
352
- railway logs --service my-service
353
- ```
354
-
355
- ### 메트릭 확인
356
-
357
- Railway 대시보드에서 확인 가능:
358
- - CPU 사용량
359
- - 메모리 사용량
360
- - 네트워크 트래픽
361
- - 요청 수
362
-
363
- ---
364
-
365
- ## 비용 최적화
366
-
367
- ### Hobby Plan 활용
368
-
369
- ```toml
370
- # railway.toml
371
- [deploy]
372
- # 유휴 시 슬립 (Hobby Plan)
373
- sleepAfterInactivity = 300 # 5분 후 슬립
374
- ```
375
-
376
- ### 리소스 제한
377
-
378
- Railway 대시보드에서 설정:
379
- - Memory Limit: 512MB (시작점)
380
- - Replicas: 1 (시작점)
381
-
382
- ---
383
-
384
128
  ## 문제 해결
385
129
 
386
- ### 일반적인 문제
387
-
388
- | 문제 | 원인 | 해결 |
389
- |------|------|------|
390
- | 빌드 실패 | 의존성 오류 | `yarn.lock` 커밋 확인 |
391
- | 포트 바인딩 실패 | 하드코딩된 포트 | `process.env.PORT` 사용 |
392
- | 메모리 초과 | 메모리 누수 | 리소스 제한 증가 또는 코드 최적화 |
393
- | 헬스체크 실패 | 엔드포인트 없음 | `/health` 엔드포인트 추가 |
394
-
395
- ### 디버깅
130
+ | 문제 | 해결 |
131
+ |------|------|
132
+ | 빌드 실패 | `yarn.lock` 커밋 확인 |
133
+ | 포트 오류 | `process.env.PORT` 사용 |
134
+ | 헬스체크 실패 | `/health` 엔드포인트 추가 |
396
135
 
397
136
  ```bash
398
- # 로컬에서 Railway 환경 시뮬레이션
399
- railway run yarn dev
400
-
401
- # 환경 변수 확인
402
- railway variables
403
-
404
- # 서비스 상태 확인
405
- railway status
137
+ railway run yarn dev # 로컬 시뮬레이션
138
+ railway variables # 환경 변수 확인
139
+ railway status # 상태 확인
406
140
  ```
407
141
 
408
142
  ---
409
143
 
410
144
  ## 관련 문서
411
145
 
412
- - [배포 가이드 개요](./index.md)
413
- - [Docker 배포](./docker.md)
414
- - [Vercel 배포](./vercel.md)
415
- - [Cloudflare 배포](./cloudflare.md)
416
- - [Railway 공식 문서](https://docs.railway.app)
146
+ - [배포 가이드](./index.md)