@kood/claude-code 0.5.4 → 0.5.5

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 (94) hide show
  1. package/dist/index.js +6 -2
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/document-writer.md +2 -2
  4. package/templates/.claude/skills/docs-creator/SKILL.md +2 -2
  5. package/templates/.claude/skills/docs-refactor/SKILL.md +1 -1
  6. package/templates/.claude/skills/plan/SKILL.md +15 -15
  7. package/templates/hono/CLAUDE.md +28 -28
  8. package/templates/hono/docs/architecture.md +24 -24
  9. package/templates/hono/docs/deployment/cloudflare.md +18 -18
  10. package/templates/hono/docs/deployment/docker.md +13 -13
  11. package/templates/hono/docs/deployment/index.md +19 -19
  12. package/templates/hono/docs/deployment/railway.md +32 -32
  13. package/templates/hono/docs/deployment/vercel.md +29 -29
  14. package/templates/hono/docs/guides/conventions.md +57 -57
  15. package/templates/hono/docs/guides/env-setup.md +47 -47
  16. package/templates/hono/docs/guides/getting-started.md +27 -27
  17. package/templates/hono/docs/library/hono/error-handling.md +11 -11
  18. package/templates/hono/docs/library/hono/index.md +4 -4
  19. package/templates/hono/docs/library/hono/middleware.md +18 -18
  20. package/templates/hono/docs/library/hono/rpc.md +7 -7
  21. package/templates/hono/docs/library/hono/validation.md +6 -6
  22. package/templates/hono/docs/library/prisma/cloudflare-d1.md +29 -29
  23. package/templates/hono/docs/library/prisma/config.md +16 -16
  24. package/templates/hono/docs/library/prisma/index.md +32 -32
  25. package/templates/hono/docs/library/t3-env/index.md +22 -22
  26. package/templates/hono/docs/library/zod/index.md +31 -31
  27. package/templates/nextjs/CLAUDE.md +54 -54
  28. package/templates/nextjs/docs/architecture.md +146 -146
  29. package/templates/nextjs/docs/design.md +183 -183
  30. package/templates/nextjs/docs/guides/conventions.md +86 -86
  31. package/templates/nextjs/docs/guides/getting-started.md +28 -28
  32. package/templates/nextjs/docs/guides/routes.md +32 -32
  33. package/templates/nextjs/docs/library/better-auth/index.md +70 -70
  34. package/templates/nextjs/docs/library/nextjs/app-router.md +43 -43
  35. package/templates/nextjs/docs/library/nextjs/caching.md +73 -73
  36. package/templates/nextjs/docs/library/nextjs/index.md +51 -51
  37. package/templates/nextjs/docs/library/nextjs/middleware.md +41 -41
  38. package/templates/nextjs/docs/library/nextjs/route-handlers.md +31 -31
  39. package/templates/nextjs/docs/library/nextjs/server-actions.md +34 -34
  40. package/templates/nextjs/docs/library/prisma/cloudflare-d1.md +20 -20
  41. package/templates/nextjs/docs/library/prisma/config.md +18 -18
  42. package/templates/nextjs/docs/library/prisma/crud.md +17 -17
  43. package/templates/nextjs/docs/library/prisma/index.md +18 -18
  44. package/templates/nextjs/docs/library/prisma/relations.md +16 -16
  45. package/templates/nextjs/docs/library/prisma/schema.md +23 -23
  46. package/templates/nextjs/docs/library/prisma/setup.md +6 -6
  47. package/templates/nextjs/docs/library/prisma/transactions.md +10 -10
  48. package/templates/nextjs/docs/library/tanstack-query/index.md +6 -6
  49. package/templates/nextjs/docs/library/tanstack-query/invalidation.md +20 -20
  50. package/templates/nextjs/docs/library/tanstack-query/optimistic-updates.md +4 -4
  51. package/templates/nextjs/docs/library/tanstack-query/use-mutation.md +15 -15
  52. package/templates/nextjs/docs/library/tanstack-query/use-query.md +22 -22
  53. package/templates/nextjs/docs/library/zod/complex-types.md +11 -11
  54. package/templates/nextjs/docs/library/zod/index.md +8 -8
  55. package/templates/nextjs/docs/library/zod/transforms.md +11 -11
  56. package/templates/nextjs/docs/library/zod/validation.md +9 -9
  57. package/templates/npx/CLAUDE.md +38 -38
  58. package/templates/npx/docs/library/commander/index.md +12 -12
  59. package/templates/npx/docs/library/fs-extra/index.md +9 -9
  60. package/templates/npx/docs/library/prompts/index.md +3 -3
  61. package/templates/npx/docs/references/patterns.md +12 -12
  62. package/templates/tanstack-start/CLAUDE.md +54 -54
  63. package/templates/tanstack-start/docs/architecture.md +128 -128
  64. package/templates/tanstack-start/docs/design.md +169 -169
  65. package/templates/tanstack-start/docs/guides/conventions.md +43 -43
  66. package/templates/tanstack-start/docs/guides/env-setup.md +35 -35
  67. package/templates/tanstack-start/docs/guides/getting-started.md +19 -19
  68. package/templates/tanstack-start/docs/guides/hooks.md +45 -45
  69. package/templates/tanstack-start/docs/guides/routes.md +54 -54
  70. package/templates/tanstack-start/docs/guides/services.md +45 -45
  71. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +19 -19
  72. package/templates/tanstack-start/docs/library/prisma/config.md +16 -16
  73. package/templates/tanstack-start/docs/library/prisma/crud.md +17 -17
  74. package/templates/tanstack-start/docs/library/prisma/relations.md +16 -16
  75. package/templates/tanstack-start/docs/library/prisma/schema.md +23 -23
  76. package/templates/tanstack-start/docs/library/prisma/setup.md +6 -6
  77. package/templates/tanstack-start/docs/library/prisma/transactions.md +10 -10
  78. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +19 -19
  79. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +4 -4
  80. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +14 -14
  81. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +21 -21
  82. package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +9 -9
  83. package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +11 -11
  84. package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +17 -17
  85. package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +5 -5
  86. package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +10 -10
  87. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +8 -8
  88. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +9 -9
  89. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +6 -6
  90. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +18 -18
  91. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +4 -4
  92. package/templates/tanstack-start/docs/library/zod/complex-types.md +11 -11
  93. package/templates/tanstack-start/docs/library/zod/transforms.md +11 -11
  94. package/templates/tanstack-start/docs/library/zod/validation.md +9 -9
@@ -1,10 +1,10 @@
1
- # Nitro - Railway Deployment
1
+ # Nitro - Railway 배포
2
2
 
3
- > Simple PaaS deployment
3
+ > PaaS 간편 배포
4
4
 
5
5
  ---
6
6
 
7
- ## Configuration
7
+ ## 설정
8
8
 
9
9
  ```typescript
10
10
  // nitro.config.ts
@@ -29,12 +29,12 @@ export default defineNitroConfig({
29
29
 
30
30
  ---
31
31
 
32
- ## Deployment
32
+ ## 배포
33
33
 
34
- ### GitHub Integration (Recommended)
34
+ ### GitHub 연동 (권장)
35
35
 
36
- 1. [Railway Dashboard](https://railway.app) → New Project → Deploy from GitHub
37
- 2. Automatic build/deploy setup
36
+ 1. [Railway 대시보드](https://railway.app) → New Project → Deploy from GitHub
37
+ 2. 자동 빌드/배포 설정
38
38
 
39
39
  ### CLI
40
40
 
@@ -44,14 +44,14 @@ railway login
44
44
  railway init
45
45
  railway up
46
46
 
47
- # Environment variables
47
+ # 환경 변수
48
48
  railway variables set DATABASE_URL="postgresql://..."
49
49
  railway logs
50
50
  ```
51
51
 
52
52
  ---
53
53
 
54
- ## railway.toml (Optional)
54
+ ## railway.toml (선택)
55
55
 
56
56
  ```toml
57
57
  [build]
@@ -64,7 +64,7 @@ healthcheckPath = "/health"
64
64
 
65
65
  ---
66
66
 
67
- ## Environment Variables
67
+ ## 환경 변수
68
68
 
69
69
  ```typescript
70
70
  app.get("/health", (c) => {
@@ -75,30 +75,30 @@ app.get("/health", (c) => {
75
75
  });
76
76
  ```
77
77
 
78
- | Auto-provided Variables | Description |
79
- |------------------------|-------------|
80
- | `PORT` | Server port |
81
- | `RAILWAY_ENVIRONMENT` | Environment |
82
- | `RAILWAY_SERVICE_NAME` | Service name |
78
+ | 자동 제공 변수 | 설명 |
79
+ |---------------|------|
80
+ | `PORT` | 서버 포트 |
81
+ | `RAILWAY_ENVIRONMENT` | 환경 |
82
+ | `RAILWAY_SERVICE_NAME` | 서비스명 |
83
83
 
84
84
  ---
85
85
 
86
- ## Database
86
+ ## 데이터베이스
87
87
 
88
- Railway Dashboard → New → Database → PostgreSQL/Redis
88
+ Railway 대시보드 → New → Database → PostgreSQL/Redis
89
89
 
90
90
  ```typescript
91
- // DATABASE_URL auto-connected
91
+ // DATABASE_URL 자동 연결
92
92
  import { PrismaClient } from "@prisma/client";
93
93
  export const prisma = new PrismaClient();
94
94
  ```
95
95
 
96
96
  ---
97
97
 
98
- ## Domains
98
+ ## 도메인
99
99
 
100
- - Automatic: `your-app.up.railway.app`
101
- - Custom: Settings → Domains → Add Custom Domain
100
+ - 자동: `your-app.up.railway.app`
101
+ - 커스텀: Settings → Domains → Add Custom Domain
102
102
 
103
103
  ---
104
104
 
@@ -125,22 +125,22 @@ jobs:
125
125
 
126
126
  ---
127
127
 
128
- ## Troubleshooting
128
+ ## 문제 해결
129
129
 
130
- | Issue | Solution |
131
- |-------|----------|
132
- | Build failure | Verify `yarn.lock` is committed |
133
- | Port error | Use `process.env.PORT` |
134
- | Healthcheck failure | Add `/health` endpoint |
130
+ | 문제 | 해결 |
131
+ |------|------|
132
+ | 빌드 실패 | `yarn.lock` 커밋 확인 |
133
+ | 포트 오류 | `process.env.PORT` 사용 |
134
+ | 헬스체크 실패 | `/health` 엔드포인트 추가 |
135
135
 
136
136
  ```bash
137
- railway run yarn dev # Local simulation
138
- railway variables # Check environment variables
139
- railway status # Check status
137
+ railway run yarn dev # 로컬 시뮬레이션
138
+ railway variables # 환경 변수 확인
139
+ railway status # 상태 확인
140
140
  ```
141
141
 
142
142
  ---
143
143
 
144
- ## Related Documentation
144
+ ## 관련 문서
145
145
 
146
- - [Deployment Guide](./index.md)
146
+ - [배포 가이드](./index.md)
@@ -1,10 +1,10 @@
1
- # Nitro - Vercel Deployment
1
+ # Nitro - Vercel 배포
2
2
 
3
- > Serverless deployment
3
+ > 서버리스 배포
4
4
 
5
5
  ---
6
6
 
7
- ## Configuration
7
+ ## 설정
8
8
 
9
9
  ```typescript
10
10
  // nitro.config.ts
@@ -26,11 +26,11 @@ export default defineNitroConfig({
26
26
 
27
27
  ---
28
28
 
29
- ## Deployment
29
+ ## 배포
30
30
 
31
- ### GitHub Integration (Recommended)
31
+ ### GitHub 연동 (권장)
32
32
 
33
- 1. [Vercel Dashboard](https://vercel.com) → Add New → Project
33
+ 1. [Vercel 대시보드](https://vercel.com) → Add New → Project
34
34
  2. Build Command: `yarn build`
35
35
  3. Output Directory: `.vercel/output`
36
36
 
@@ -39,8 +39,8 @@ export default defineNitroConfig({
39
39
  ```bash
40
40
  npm install -g vercel
41
41
  vercel login
42
- vercel # Preview
43
- vercel --prod # Production
42
+ vercel # 프리뷰
43
+ vercel --prod # 프로덕션
44
44
 
45
45
  vercel env add DATABASE_URL
46
46
  ```
@@ -59,7 +59,7 @@ export default defineNitroConfig({
59
59
 
60
60
  ---
61
61
 
62
- ## ISR (Caching)
62
+ ## ISR (캐시)
63
63
 
64
64
  ```typescript
65
65
  app.get("/posts", async (c) => {
@@ -68,14 +68,14 @@ app.get("/posts", async (c) => {
68
68
  });
69
69
 
70
70
  app.get("/user/:id", async (c) => {
71
- c.header("Cache-Control", "no-store"); // No cache
71
+ c.header("Cache-Control", "no-store"); // 캐시 안함
72
72
  return c.json(await fetchUser(c.req.param("id")));
73
73
  });
74
74
  ```
75
75
 
76
76
  ---
77
77
 
78
- ## Environment Variables
78
+ ## 환경 변수
79
79
 
80
80
  ```typescript
81
81
  app.get("/config", (c) => {
@@ -86,16 +86,16 @@ app.get("/config", (c) => {
86
86
  });
87
87
  ```
88
88
 
89
- | Auto-provided Variables | Description |
90
- |------------------------|-------------|
91
- | `VERCEL` | Vercel environment ("1") |
92
- | `VERCEL_ENV` | Environment |
93
- | `VERCEL_URL` | Deployment URL |
94
- | `VERCEL_REGION` | Execution region |
89
+ | 자동 제공 변수 | 설명 |
90
+ |---------------|------|
91
+ | `VERCEL` | Vercel 환경 ("1") |
92
+ | `VERCEL_ENV` | 환경 |
93
+ | `VERCEL_URL` | 배포 URL |
94
+ | `VERCEL_REGION` | 실행 리전 |
95
95
 
96
96
  ---
97
97
 
98
- ## Database
98
+ ## 데이터베이스
99
99
 
100
100
  ### Vercel Postgres
101
101
 
@@ -161,22 +161,22 @@ jobs:
161
161
 
162
162
  ---
163
163
 
164
- ## Troubleshooting
164
+ ## 문제 해결
165
165
 
166
- | Issue | Solution |
167
- |-------|----------|
168
- | Function Timeout | Increase `maxDuration` |
169
- | Edge compatibility errors | Use Edge-compatible APIs |
170
- | Bundle size exceeded | Configure externals |
166
+ | 문제 | 해결 |
167
+ |------|------|
168
+ | Function Timeout | `maxDuration` 증가 |
169
+ | Edge 호환성 오류 | Edge 호환 API 사용 |
170
+ | 번들 크기 초과 | externals 설정 |
171
171
 
172
172
  ```bash
173
- vercel dev # Local simulation
174
- vercel logs # Check logs
175
- vercel env ls # Check environment variables
173
+ vercel dev # 로컬 시뮬레이션
174
+ vercel logs # 로그 확인
175
+ vercel env ls # 환경 변수 확인
176
176
  ```
177
177
 
178
178
  ---
179
179
 
180
- ## Related Documentation
180
+ ## 관련 문서
181
181
 
182
- - [Deployment Guide](./index.md)
182
+ - [배포 가이드](./index.md)
@@ -1,18 +1,18 @@
1
- # Code Conventions
1
+ # 코드 컨벤션
2
2
 
3
- > Code writing rules for Hono projects
3
+ > Hono 프로젝트 코드 작성 규칙
4
4
 
5
5
  ---
6
6
 
7
7
  <naming>
8
8
 
9
- ## File Naming
9
+ ## 파일 네이밍
10
10
 
11
- | Type | Rule | Example |
12
- |------|------|---------|
13
- | **General Files** | kebab-case | `user-service.ts`, `auth-middleware.ts` |
14
- | **Route Files** | kebab-case | `users.ts`, `posts.ts` |
15
- | **Type Files** | kebab-case | `user-types.ts`, `api-types.ts` |
11
+ | 타입 | 규칙 | 예시 |
12
+ |------|------|------|
13
+ | **일반 파일** | kebab-case | `user-service.ts`, `auth-middleware.ts` |
14
+ | **Route 파일** | kebab-case | `users.ts`, `posts.ts` |
15
+ | **타입 파일** | kebab-case | `user-types.ts`, `api-types.ts` |
16
16
 
17
17
  </naming>
18
18
 
@@ -20,39 +20,39 @@
20
20
 
21
21
  <typescript>
22
22
 
23
- ## TypeScript Rules
23
+ ## TypeScript 규칙
24
24
 
25
- | Rule | Description | Example |
26
- |------|-------------|---------|
27
- | **Function Declaration** | const functions, explicit return types | `const fn = (): ReturnType => {}` |
28
- | **Type Definition** | interface (objects), type (unions) | `interface User {}`, `type Status = 'a' \| 'b'` |
29
- | **No any** | Use unknown instead | `const data: unknown = JSON.parse(str)` |
30
- | **Import Types** | Separate type imports | `import type { User } from '@/types'` |
25
+ | 규칙 | 설명 | 예시 |
26
+ |------|------|------|
27
+ | **함수 선언** | const 함수, 명시적 return type | `const fn = (): ReturnType => {}` |
28
+ | **타입 정의** | interface (객체), type (유니온) | `interface User {}`, `type Status = 'a' \| 'b'` |
29
+ | **any 금지** | unknown 사용 | `const data: unknown = JSON.parse(str)` |
30
+ | **Import 타입** | type import 분리 | `import type { User } from '@/types'` |
31
31
 
32
- ## Patterns
32
+ ## 패턴
33
33
 
34
34
  ```typescript
35
- // ✅ const function with explicit type
35
+ // ✅ const 함수, 명시적 타입
36
36
  const getUserById = async (id: string): Promise<User | null> => {
37
37
  return prisma.user.findUnique({ where: { id } })
38
38
  }
39
39
 
40
- // ✅ Even simple functions should have explicit types
40
+ // ✅ 간단한 함수도 명시적 타입
41
41
  const formatDate = (date: Date): string => {
42
42
  return date.toISOString()
43
43
  }
44
44
 
45
- // ✅ No any → use unknown
45
+ // ✅ any 금지 unknown 사용
46
46
  const parseJSON = (data: string): unknown => {
47
47
  return JSON.parse(data)
48
48
  }
49
49
 
50
- // ❌ Don't use any
50
+ // ❌ any 사용 금지
51
51
  const badParse = (data: string): any => { // ❌
52
52
  return JSON.parse(data)
53
53
  }
54
54
 
55
- // ❌ Don't use function keyword
55
+ // ❌ function 키워드 금지
56
56
  function badFunction() { // ❌
57
57
  return 'use const arrow function'
58
58
  }
@@ -64,7 +64,7 @@ function badFunction() { // ❌
64
64
 
65
65
  <imports>
66
66
 
67
- ## Import Order
67
+ ## Import 순서
68
68
 
69
69
  ```typescript
70
70
  // 1. External libraries
@@ -88,12 +88,12 @@ import type { Context } from 'hono'
88
88
 
89
89
  <comments>
90
90
 
91
- ## Korean Comments (Per Code Block)
91
+ ## 한글 주석 (묶음 단위)
92
92
 
93
93
  ```typescript
94
- // ✅ Comments per code block
94
+ // ✅ 코드 묶음 단위 주석
95
95
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
96
- // Retrieve users
96
+ // 사용자 조회
97
97
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
98
98
  users.get('/', async (c) => {
99
99
  const users = await prisma.user.findMany()
@@ -108,7 +108,7 @@ users.get('/:id', async (c) => {
108
108
  })
109
109
 
110
110
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
111
- // Create/Update users
111
+ // 사용자 생성/수정
112
112
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
113
  users.post('/', zValidator('json', createUserSchema), async (c) => {
114
114
  const data = c.req.valid('json')
@@ -118,10 +118,10 @@ users.post('/', zValidator('json', createUserSchema), async (c) => {
118
118
  ```
119
119
 
120
120
  ```typescript
121
- // ❌ Granular comments (prohibited)
122
- users.get('/', async (c) => { // Retrieve user list
123
- const users = await prisma.user.findMany() // Query from DB
124
- return c.json({ users }) // Return JSON
121
+ // ❌ 세세한 주석 (금지)
122
+ users.get('/', async (c) => { // 사용자 목록 조회
123
+ const users = await prisma.user.findMany() // DB에서 조회
124
+ return c.json({ users }) // JSON 반환
125
125
  })
126
126
  ```
127
127
 
@@ -131,14 +131,14 @@ users.get('/', async (c) => { // Retrieve user list
131
131
 
132
132
  <error_handling>
133
133
 
134
- ## Error Handling Patterns
134
+ ## 에러 처리 패턴
135
135
 
136
- ### Using HTTPException
136
+ ### HTTPException 사용
137
137
 
138
138
  ```typescript
139
139
  import { HTTPException } from 'hono/http-exception'
140
140
 
141
- // ✅ Use HTTPException
141
+ // ✅ HTTPException 사용
142
142
  users.get('/:id', async (c) => {
143
143
  const id = c.req.param('id')
144
144
  const user = await prisma.user.findUnique({ where: { id } })
@@ -150,7 +150,7 @@ users.get('/:id', async (c) => {
150
150
  return c.json({ user })
151
151
  })
152
152
 
153
- // ❌ Don't use generic Error
153
+ // ❌ 일반 Error 사용 금지
154
154
  users.get('/:id', async (c) => {
155
155
  const id = c.req.param('id')
156
156
  const user = await prisma.user.findUnique({ where: { id } })
@@ -163,7 +163,7 @@ users.get('/:id', async (c) => {
163
163
  })
164
164
  ```
165
165
 
166
- ### Global Error Handler
166
+ ### 전역 에러 핸들러
167
167
 
168
168
  ```typescript
169
169
  // src/index.ts
@@ -204,7 +204,7 @@ app.notFound((c) => {
204
204
  })
205
205
  ```
206
206
 
207
- ### Custom Error Classes
207
+ ### 커스텀 에러 클래스
208
208
 
209
209
  ```typescript
210
210
  // lib/errors.ts
@@ -228,7 +228,7 @@ export class UnauthorizedError extends HTTPException {
228
228
  }
229
229
  }
230
230
 
231
- // Usage
231
+ // 사용
232
232
  import { NotFoundError } from '@/lib/errors'
233
233
 
234
234
  users.get('/:id', async (c) => {
@@ -244,15 +244,15 @@ users.get('/:id', async (c) => {
244
244
 
245
245
  <validation>
246
246
 
247
- ## Validation Patterns
247
+ ## Validation 패턴
248
248
 
249
- ### Using zValidator
249
+ ### zValidator 사용
250
250
 
251
251
  ```typescript
252
252
  import { zValidator } from '@hono/zod-validator'
253
253
  import { z } from 'zod'
254
254
 
255
- // ✅ Use zValidator
255
+ // ✅ zValidator 사용
256
256
  const createUserSchema = z.object({
257
257
  name: z.string().min(1).trim(),
258
258
  email: z.email(),
@@ -260,12 +260,12 @@ const createUserSchema = z.object({
260
260
  })
261
261
 
262
262
  users.post('/', zValidator('json', createUserSchema), async (c) => {
263
- const data = c.req.valid('json') // Type-safe
263
+ const data = c.req.valid('json') // 타입 안전
264
264
  const user = await prisma.user.create({ data })
265
265
  return c.json({ user }, 201)
266
266
  })
267
267
 
268
- // ❌ Don't manually validate
268
+ // ❌ 수동 검증 금지
269
269
  users.post('/', async (c) => {
270
270
  const body = await c.req.json()
271
271
 
@@ -278,7 +278,7 @@ users.post('/', async (c) => {
278
278
  })
279
279
  ```
280
280
 
281
- ### Multiple Validators
281
+ ### 여러 Validator
282
282
 
283
283
  ```typescript
284
284
  // Query Params
@@ -306,17 +306,17 @@ users.post('/', zValidator('json', createUserSchema), (c) => {
306
306
 
307
307
  <examples>
308
308
 
309
- ## File Naming Examples
309
+ ## 파일명 예시
310
310
 
311
- | Type | ❌ Incorrect | ✅ Correct |
312
- |------|-------------|-----------|
311
+ | 타입 | ❌ 잘못된 예시 | ✅ 올바른 예시 |
312
+ |------|---------------|---------------|
313
313
  | Route | `Users.ts` | `users.ts` |
314
314
  | Service | `userService.ts` | `user-service.ts` |
315
315
  | Middleware | `authMiddleware.ts` | `auth-middleware.ts` |
316
316
  | Utility | `formatUtils.ts` | `format-utils.ts` |
317
317
  | Type | `UserTypes.ts` | `user-types.ts` |
318
318
 
319
- ## Directory Structure
319
+ ## 디렉토리 구조
320
320
 
321
321
  ```
322
322
  src/
@@ -325,19 +325,19 @@ src/
325
325
  │ ├── posts.ts # /posts/*
326
326
  │ └── auth.ts # /auth/*
327
327
  ├── middleware/
328
- │ ├── auth.ts # Authentication middleware
329
- │ ├── logger.ts # Logging middleware
330
- │ └── cors.ts # CORS middleware
328
+ │ ├── auth.ts # 인증 미들웨어
329
+ │ ├── logger.ts # 로깅 미들웨어
330
+ │ └── cors.ts # CORS 미들웨어
331
331
  ├── services/
332
- │ ├── user-service.ts # User business logic
333
- │ └── post-service.ts # Post business logic
332
+ │ ├── user-service.ts # 사용자 비즈니스 로직
333
+ │ └── post-service.ts # 게시글 비즈니스 로직
334
334
  ├── lib/
335
- │ ├── prisma.ts # Prisma client
336
- │ ├── env.ts # Environment variables
337
- │ └── errors.ts # Custom errors
335
+ │ ├── prisma.ts # Prisma 클라이언트
336
+ │ ├── env.ts # 환경 변수
337
+ │ └── errors.ts # 커스텀 에러
338
338
  └── types/
339
- ├── user-types.ts # User types
340
- └── api-types.ts # API types
339
+ ├── user-types.ts # 사용자 타입
340
+ └── api-types.ts # API 타입
341
341
  ```
342
342
 
343
343
  </examples>