@kood/claude-code 0.3.7 → 0.3.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 +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/code-reviewer.md +138 -123
- package/templates/.claude/agents/dependency-manager.md +99 -84
- package/templates/.claude/agents/deployment-validator.md +70 -55
- package/templates/.claude/agents/git-operator.md +78 -63
- package/templates/.claude/agents/implementation-executor.md +109 -94
- package/templates/.claude/agents/ko-to-en-translator.md +74 -0
- package/templates/.claude/agents/lint-fixer.md +93 -78
- package/templates/.claude/agents/refactor-advisor.md +136 -121
- package/templates/.claude/commands/agent-creator.md +199 -184
- package/templates/.claude/commands/bug-fix.md +207 -192
- package/templates/.claude/commands/command-creator.md +69 -53
- package/templates/.claude/commands/docs-creator.md +72 -56
- package/templates/.claude/commands/docs-refactor.md +41 -25
- package/templates/.claude/commands/execute.md +27 -11
- package/templates/.claude/commands/git-all.md +46 -31
- package/templates/.claude/commands/git-session.md +57 -41
- package/templates/.claude/commands/git.md +49 -33
- package/templates/.claude/commands/lint-fix.md +153 -137
- package/templates/.claude/commands/lint-init.md +76 -60
- package/templates/.claude/commands/plan.md +275 -259
- package/templates/.claude/commands/prd.md +39 -23
- package/templates/.claude/commands/pre-deploy.md +124 -108
- package/templates/.claude/commands/refactor.md +162 -146
- package/templates/.claude/commands/version-update.md +32 -16
- package/templates/hono/CLAUDE.md +28 -27
- package/templates/hono/docs/architecture.md +24 -24
- package/templates/hono/docs/deployment/cloudflare.md +18 -18
- package/templates/hono/docs/deployment/docker.md +13 -13
- package/templates/hono/docs/deployment/index.md +19 -19
- package/templates/hono/docs/deployment/railway.md +32 -32
- package/templates/hono/docs/deployment/vercel.md +29 -29
- package/templates/hono/docs/guides/conventions.md +57 -57
- package/templates/hono/docs/guides/env-setup.md +47 -47
- package/templates/hono/docs/guides/getting-started.md +27 -27
- package/templates/hono/docs/library/hono/error-handling.md +11 -11
- package/templates/hono/docs/library/hono/index.md +4 -4
- package/templates/hono/docs/library/hono/middleware.md +18 -18
- package/templates/hono/docs/library/hono/rpc.md +7 -7
- package/templates/hono/docs/library/hono/validation.md +6 -6
- package/templates/hono/docs/library/prisma/cloudflare-d1.md +29 -29
- package/templates/hono/docs/library/prisma/config.md +16 -16
- package/templates/hono/docs/library/prisma/index.md +32 -32
- package/templates/hono/docs/library/t3-env/index.md +22 -22
- package/templates/hono/docs/library/zod/index.md +31 -31
- package/templates/nextjs/CLAUDE.md +54 -51
- package/templates/nextjs/docs/architecture.md +812 -0
- package/templates/nextjs/docs/design.md +183 -183
- package/templates/nextjs/docs/guides/conventions.md +86 -86
- package/templates/nextjs/docs/guides/getting-started.md +28 -28
- package/templates/nextjs/docs/guides/routes.md +32 -32
- package/templates/nextjs/docs/library/better-auth/index.md +70 -70
- package/templates/nextjs/docs/library/nextjs/app-router.md +43 -43
- package/templates/nextjs/docs/library/nextjs/caching.md +73 -73
- package/templates/nextjs/docs/library/nextjs/index.md +51 -51
- package/templates/nextjs/docs/library/nextjs/middleware.md +41 -41
- package/templates/nextjs/docs/library/nextjs/route-handlers.md +31 -31
- package/templates/nextjs/docs/library/nextjs/server-actions.md +34 -34
- package/templates/nextjs/docs/library/prisma/cloudflare-d1.md +20 -20
- package/templates/nextjs/docs/library/prisma/config.md +18 -18
- package/templates/nextjs/docs/library/prisma/crud.md +17 -17
- package/templates/nextjs/docs/library/prisma/index.md +18 -18
- package/templates/nextjs/docs/library/prisma/relations.md +16 -16
- package/templates/nextjs/docs/library/prisma/schema.md +23 -23
- package/templates/nextjs/docs/library/prisma/setup.md +6 -6
- package/templates/nextjs/docs/library/prisma/transactions.md +10 -10
- package/templates/nextjs/docs/library/tanstack-query/index.md +6 -6
- package/templates/nextjs/docs/library/tanstack-query/invalidation.md +20 -20
- package/templates/nextjs/docs/library/tanstack-query/optimistic-updates.md +4 -4
- package/templates/nextjs/docs/library/tanstack-query/use-mutation.md +15 -15
- package/templates/nextjs/docs/library/tanstack-query/use-query.md +22 -22
- package/templates/nextjs/docs/library/zod/complex-types.md +11 -11
- package/templates/nextjs/docs/library/zod/index.md +8 -8
- package/templates/nextjs/docs/library/zod/transforms.md +11 -11
- package/templates/nextjs/docs/library/zod/validation.md +9 -9
- package/templates/npx/CLAUDE.md +38 -37
- package/templates/npx/docs/library/commander/index.md +12 -12
- package/templates/npx/docs/library/fs-extra/index.md +9 -9
- package/templates/npx/docs/library/prompts/index.md +3 -3
- package/templates/npx/docs/references/patterns.md +12 -12
- package/templates/tanstack-start/CLAUDE.md +54 -53
- package/templates/tanstack-start/docs/architecture.md +128 -128
- package/templates/tanstack-start/docs/design.md +169 -169
- package/templates/tanstack-start/docs/guides/conventions.md +43 -43
- package/templates/tanstack-start/docs/guides/env-setup.md +35 -35
- package/templates/tanstack-start/docs/guides/getting-started.md +19 -19
- package/templates/tanstack-start/docs/guides/hooks.md +45 -45
- package/templates/tanstack-start/docs/guides/routes.md +54 -54
- package/templates/tanstack-start/docs/guides/services.md +45 -45
- package/templates/tanstack-start/docs/library/better-auth/index.md +68 -68
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +19 -19
- package/templates/tanstack-start/docs/library/prisma/config.md +16 -16
- package/templates/tanstack-start/docs/library/prisma/crud.md +17 -17
- package/templates/tanstack-start/docs/library/prisma/index.md +17 -17
- package/templates/tanstack-start/docs/library/prisma/relations.md +16 -16
- package/templates/tanstack-start/docs/library/prisma/schema.md +23 -23
- package/templates/tanstack-start/docs/library/prisma/setup.md +6 -6
- package/templates/tanstack-start/docs/library/prisma/transactions.md +10 -10
- package/templates/tanstack-start/docs/library/t3-env/index.md +21 -160
- package/templates/tanstack-start/docs/library/tanstack-query/index.md +6 -6
- package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +19 -19
- package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +4 -4
- package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +14 -14
- package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +21 -21
- package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +9 -9
- package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +11 -11
- package/templates/tanstack-start/docs/library/tanstack-router/index.md +18 -18
- package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +17 -17
- package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +5 -5
- package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +10 -10
- package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +8 -8
- package/templates/tanstack-start/docs/library/tanstack-start/index.md +15 -15
- package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +9 -9
- package/templates/tanstack-start/docs/library/tanstack-start/routing.md +6 -6
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +18 -18
- package/templates/tanstack-start/docs/library/tanstack-start/setup.md +4 -4
- package/templates/tanstack-start/docs/library/zod/complex-types.md +11 -11
- package/templates/tanstack-start/docs/library/zod/index.md +8 -8
- package/templates/tanstack-start/docs/library/zod/transforms.md +11 -11
- package/templates/tanstack-start/docs/library/zod/validation.md +9 -9
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Hono
|
|
1
|
+
# Hono Server Architecture
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Layer-based architecture
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## System Overview
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
Client → Middleware → Routes → Validation → Services → Database
|
|
@@ -12,21 +12,21 @@ Client → Middleware → Routes → Validation → Services → Database
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Project Structure
|
|
16
16
|
|
|
17
17
|
```
|
|
18
18
|
src/
|
|
19
19
|
├── index.ts # Entry point
|
|
20
|
-
├── routes/ #
|
|
21
|
-
├── middleware/ #
|
|
22
|
-
├── validators/ # Zod
|
|
23
|
-
├── services/ #
|
|
20
|
+
├── routes/ # Route modules
|
|
21
|
+
├── middleware/ # Custom middleware
|
|
22
|
+
├── validators/ # Zod schemas
|
|
23
|
+
├── services/ # Business logic
|
|
24
24
|
│ └── user/
|
|
25
|
-
│ ├── queries.ts #
|
|
26
|
-
│ └── mutations.ts #
|
|
25
|
+
│ ├── queries.ts # Read operations
|
|
26
|
+
│ └── mutations.ts # Create/Update/Delete
|
|
27
27
|
├── database/ # Prisma Client
|
|
28
|
-
├── types/ #
|
|
29
|
-
└── lib/ #
|
|
28
|
+
├── types/ # Type definitions
|
|
29
|
+
└── lib/ # Utilities
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
---
|
|
@@ -227,8 +227,8 @@ const data = await res.json()
|
|
|
227
227
|
|
|
228
228
|
## Tech Stack
|
|
229
229
|
|
|
230
|
-
|
|
|
231
|
-
|
|
230
|
+
| Category | Technology | Version |
|
|
231
|
+
|----------|------------|---------|
|
|
232
232
|
| Framework | Hono | latest |
|
|
233
233
|
| Validation | Zod | **4.x** |
|
|
234
234
|
| ORM | Prisma | **7.x** |
|
|
@@ -236,20 +236,20 @@ const data = await res.json()
|
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
239
|
-
##
|
|
239
|
+
## Pattern Summary
|
|
240
240
|
|
|
241
|
-
|
|
|
242
|
-
|
|
243
|
-
| Routes | HTTP
|
|
244
|
-
| Middleware |
|
|
245
|
-
| Validators |
|
|
246
|
-
| Services |
|
|
247
|
-
| Database |
|
|
241
|
+
| Layer | Responsibility | Files |
|
|
242
|
+
|-------|----------------|-------|
|
|
243
|
+
| Routes | HTTP routing | `routes/*.ts` |
|
|
244
|
+
| Middleware | Request/Response handling | `middleware/*.ts` |
|
|
245
|
+
| Validators | Input validation | `validators/*.ts` |
|
|
246
|
+
| Services | Business logic | `services/*/*.ts` |
|
|
247
|
+
| Database | Data access | `database/prisma.ts` |
|
|
248
248
|
|
|
249
249
|
---
|
|
250
250
|
|
|
251
|
-
##
|
|
251
|
+
## Related Documentation
|
|
252
252
|
|
|
253
253
|
- [Hono](../library/hono/index.md)
|
|
254
254
|
- [Prisma](../library/prisma/index.md)
|
|
255
|
-
- [Cloudflare
|
|
255
|
+
- [Cloudflare Deployment](../deployment/cloudflare.md)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Nitro - Cloudflare
|
|
1
|
+
# Nitro - Cloudflare Deployment
|
|
2
2
|
|
|
3
|
-
> Cloudflare Workers/Pages Edge
|
|
3
|
+
> Cloudflare Workers/Pages Edge deployment
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## Workers
|
|
7
|
+
## Workers Configuration
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
10
|
// nitro.config.ts
|
|
@@ -22,7 +22,7 @@ export default defineNitroConfig({
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
## Pages
|
|
25
|
+
## Pages Configuration
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
28
|
// nitro.config.ts
|
|
@@ -65,7 +65,7 @@ bucket_name = "my-bucket"
|
|
|
65
65
|
|
|
66
66
|
---
|
|
67
67
|
|
|
68
|
-
##
|
|
68
|
+
## Deployment
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
71
|
wrangler login
|
|
@@ -78,7 +78,7 @@ wrangler pages deploy .output/public
|
|
|
78
78
|
|
|
79
79
|
---
|
|
80
80
|
|
|
81
|
-
## Bindings
|
|
81
|
+
## Using Bindings
|
|
82
82
|
|
|
83
83
|
### D1
|
|
84
84
|
|
|
@@ -137,7 +137,7 @@ app.get("/download/:name", async (c) => {
|
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
140
|
-
##
|
|
140
|
+
## Secrets
|
|
141
141
|
|
|
142
142
|
```bash
|
|
143
143
|
wrangler secret put API_SECRET
|
|
@@ -146,7 +146,7 @@ wrangler secret list
|
|
|
146
146
|
|
|
147
147
|
---
|
|
148
148
|
|
|
149
|
-
## D1
|
|
149
|
+
## D1 Migrations
|
|
150
150
|
|
|
151
151
|
```bash
|
|
152
152
|
wrangler d1 migrations create my-database create_users
|
|
@@ -191,21 +191,21 @@ jobs:
|
|
|
191
191
|
|
|
192
192
|
---
|
|
193
193
|
|
|
194
|
-
##
|
|
194
|
+
## Troubleshooting
|
|
195
195
|
|
|
196
|
-
|
|
|
197
|
-
|
|
198
|
-
| Worker size limit | externals
|
|
199
|
-
| D1 not found | wrangler.toml
|
|
200
|
-
| Node.js API
|
|
196
|
+
| Issue | Solution |
|
|
197
|
+
|-------|----------|
|
|
198
|
+
| Worker size limit | Configure externals, minify |
|
|
199
|
+
| D1 not found | Check wrangler.toml bindings |
|
|
200
|
+
| Node.js API errors | Add `nodejs_compat` flag |
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
|
-
wrangler tail #
|
|
204
|
-
wrangler deploy --dry-run #
|
|
203
|
+
wrangler tail # Real-time logs
|
|
204
|
+
wrangler deploy --dry-run # Validation
|
|
205
205
|
```
|
|
206
206
|
|
|
207
207
|
---
|
|
208
208
|
|
|
209
|
-
##
|
|
209
|
+
## Related Documentation
|
|
210
210
|
|
|
211
|
-
- [
|
|
211
|
+
- [Deployment Guide](./index.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Nitro - Docker
|
|
1
|
+
# Nitro - Docker Deployment
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Container deployment
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -63,13 +63,13 @@ docs/
|
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
|
66
|
-
##
|
|
66
|
+
## Build and Run
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
69
|
docker build -t my-hono-app .
|
|
70
70
|
docker run -p 3000:3000 my-hono-app
|
|
71
71
|
|
|
72
|
-
#
|
|
72
|
+
# Environment variables
|
|
73
73
|
docker run -p 3000:3000 \
|
|
74
74
|
-e DATABASE_URL="postgresql://..." \
|
|
75
75
|
my-hono-app
|
|
@@ -119,7 +119,7 @@ docker compose down
|
|
|
119
119
|
|
|
120
120
|
---
|
|
121
121
|
|
|
122
|
-
##
|
|
122
|
+
## Development
|
|
123
123
|
|
|
124
124
|
```yaml
|
|
125
125
|
# docker-compose.dev.yml
|
|
@@ -178,13 +178,13 @@ jobs:
|
|
|
178
178
|
|
|
179
179
|
---
|
|
180
180
|
|
|
181
|
-
##
|
|
181
|
+
## Troubleshooting
|
|
182
182
|
|
|
183
|
-
|
|
|
184
|
-
|
|
185
|
-
|
|
|
186
|
-
|
|
|
187
|
-
|
|
|
183
|
+
| Issue | Solution |
|
|
184
|
+
|-------|----------|
|
|
185
|
+
| Port connection failed | Set `HOST=0.0.0.0` |
|
|
186
|
+
| Permission errors | Use non-root user |
|
|
187
|
+
| Out of memory | Use multi-stage build |
|
|
188
188
|
|
|
189
189
|
```bash
|
|
190
190
|
docker exec -it hono-app sh
|
|
@@ -194,6 +194,6 @@ docker stats hono-app
|
|
|
194
194
|
|
|
195
195
|
---
|
|
196
196
|
|
|
197
|
-
##
|
|
197
|
+
## Related Documentation
|
|
198
198
|
|
|
199
|
-
- [
|
|
199
|
+
- [Deployment Guide](./index.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Nitro v3
|
|
1
|
+
# Nitro v3 Deployment Guide
|
|
2
2
|
|
|
3
|
-
> Hono + Nitro
|
|
3
|
+
> Hono + Nitro deployment
|
|
4
4
|
|
|
5
5
|
@docker.md
|
|
6
6
|
@railway.md
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Installation
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
npm install nitro@3
|
|
@@ -17,7 +17,7 @@ npm install nitro@3
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Basic Configuration
|
|
21
21
|
|
|
22
22
|
```typescript
|
|
23
23
|
// nitro.config.ts
|
|
@@ -32,7 +32,7 @@ export default defineNitroConfig({
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## Entry Point
|
|
36
36
|
|
|
37
37
|
```typescript
|
|
38
38
|
// src/server.ts
|
|
@@ -51,19 +51,19 @@ export default app;
|
|
|
51
51
|
## CLI
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
npx nitro dev #
|
|
55
|
-
npx nitro build #
|
|
56
|
-
npx nitro preview #
|
|
57
|
-
node .output/server/index.mjs #
|
|
54
|
+
npx nitro dev # Development server
|
|
55
|
+
npx nitro build # Build
|
|
56
|
+
npx nitro preview # Preview
|
|
57
|
+
node .output/server/index.mjs # Run
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
|
-
## Preset
|
|
62
|
+
## Preset Selection
|
|
63
63
|
|
|
64
|
-
| Preset |
|
|
65
|
-
|
|
66
|
-
| `node` | Node.js
|
|
64
|
+
| Preset | Usage |
|
|
65
|
+
|--------|-------|
|
|
66
|
+
| `node` | Node.js server, Docker |
|
|
67
67
|
| `cloudflare_module` | Cloudflare Workers |
|
|
68
68
|
| `cloudflare_pages` | Cloudflare Pages |
|
|
69
69
|
| `vercel` | Vercel Functions |
|
|
@@ -71,7 +71,7 @@ node .output/server/index.mjs # 실행
|
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
74
|
-
##
|
|
74
|
+
## Environment Variables
|
|
75
75
|
|
|
76
76
|
```typescript
|
|
77
77
|
// nitro.config.ts
|
|
@@ -97,22 +97,22 @@ app.get("/config", (c) => {
|
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
|
100
|
-
##
|
|
100
|
+
## Project Structure
|
|
101
101
|
|
|
102
102
|
```
|
|
103
|
-
|
|
103
|
+
project/
|
|
104
104
|
├── nitro.config.ts
|
|
105
105
|
├── src/
|
|
106
|
-
│ ├── server.ts # Hono
|
|
106
|
+
│ ├── server.ts # Hono app
|
|
107
107
|
│ ├── routes/
|
|
108
108
|
│ └── lib/
|
|
109
|
-
├── .output/ #
|
|
109
|
+
├── .output/ # Build output
|
|
110
110
|
└── package.json
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|
|
115
|
-
##
|
|
115
|
+
## Related Documentation
|
|
116
116
|
|
|
117
117
|
- [Docker](./docker.md)
|
|
118
118
|
- [Railway](./railway.md)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Nitro - Railway
|
|
1
|
+
# Nitro - Railway Deployment
|
|
2
2
|
|
|
3
|
-
> PaaS
|
|
3
|
+
> Simple PaaS deployment
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Configuration
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
10
|
// nitro.config.ts
|
|
@@ -29,12 +29,12 @@ export default defineNitroConfig({
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Deployment
|
|
33
33
|
|
|
34
|
-
### GitHub
|
|
34
|
+
### GitHub Integration (Recommended)
|
|
35
35
|
|
|
36
|
-
1. [Railway
|
|
37
|
-
2.
|
|
36
|
+
1. [Railway Dashboard](https://railway.app) → New Project → Deploy from GitHub
|
|
37
|
+
2. Automatic build/deploy setup
|
|
38
38
|
|
|
39
39
|
### CLI
|
|
40
40
|
|
|
@@ -44,14 +44,14 @@ railway login
|
|
|
44
44
|
railway init
|
|
45
45
|
railway up
|
|
46
46
|
|
|
47
|
-
#
|
|
47
|
+
# Environment variables
|
|
48
48
|
railway variables set DATABASE_URL="postgresql://..."
|
|
49
49
|
railway logs
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
-
## railway.toml (
|
|
54
|
+
## railway.toml (Optional)
|
|
55
55
|
|
|
56
56
|
```toml
|
|
57
57
|
[build]
|
|
@@ -64,7 +64,7 @@ healthcheckPath = "/health"
|
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
67
|
-
##
|
|
67
|
+
## Environment Variables
|
|
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
|
-
|
|
|
79
|
-
|
|
80
|
-
| `PORT` |
|
|
81
|
-
| `RAILWAY_ENVIRONMENT` |
|
|
82
|
-
| `RAILWAY_SERVICE_NAME` |
|
|
78
|
+
| Auto-provided Variables | Description |
|
|
79
|
+
|------------------------|-------------|
|
|
80
|
+
| `PORT` | Server port |
|
|
81
|
+
| `RAILWAY_ENVIRONMENT` | Environment |
|
|
82
|
+
| `RAILWAY_SERVICE_NAME` | Service name |
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
86
|
-
##
|
|
86
|
+
## Database
|
|
87
87
|
|
|
88
|
-
Railway
|
|
88
|
+
Railway Dashboard → New → Database → PostgreSQL/Redis
|
|
89
89
|
|
|
90
90
|
```typescript
|
|
91
|
-
// DATABASE_URL
|
|
91
|
+
// DATABASE_URL auto-connected
|
|
92
92
|
import { PrismaClient } from "@prisma/client";
|
|
93
93
|
export const prisma = new PrismaClient();
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
-
##
|
|
98
|
+
## Domains
|
|
99
99
|
|
|
100
|
-
-
|
|
101
|
-
-
|
|
100
|
+
- Automatic: `your-app.up.railway.app`
|
|
101
|
+
- Custom: Settings → Domains → Add Custom Domain
|
|
102
102
|
|
|
103
103
|
---
|
|
104
104
|
|
|
@@ -125,22 +125,22 @@ jobs:
|
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
128
|
-
##
|
|
128
|
+
## Troubleshooting
|
|
129
129
|
|
|
130
|
-
|
|
|
131
|
-
|
|
132
|
-
|
|
|
133
|
-
|
|
|
134
|
-
|
|
|
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 |
|
|
135
135
|
|
|
136
136
|
```bash
|
|
137
|
-
railway run yarn dev #
|
|
138
|
-
railway variables #
|
|
139
|
-
railway status #
|
|
137
|
+
railway run yarn dev # Local simulation
|
|
138
|
+
railway variables # Check environment variables
|
|
139
|
+
railway status # Check status
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
-
##
|
|
144
|
+
## Related Documentation
|
|
145
145
|
|
|
146
|
-
- [
|
|
146
|
+
- [Deployment Guide](./index.md)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Nitro - Vercel
|
|
1
|
+
# Nitro - Vercel Deployment
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Serverless deployment
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Configuration
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
10
|
// nitro.config.ts
|
|
@@ -26,11 +26,11 @@ export default defineNitroConfig({
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Deployment
|
|
30
30
|
|
|
31
|
-
### GitHub
|
|
31
|
+
### GitHub Integration (Recommended)
|
|
32
32
|
|
|
33
|
-
1. [Vercel
|
|
33
|
+
1. [Vercel Dashboard](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 #
|
|
43
|
-
vercel --prod #
|
|
42
|
+
vercel # Preview
|
|
43
|
+
vercel --prod # Production
|
|
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 (
|
|
62
|
+
## ISR (Caching)
|
|
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"); //
|
|
71
|
+
c.header("Cache-Control", "no-store"); // No cache
|
|
72
72
|
return c.json(await fetchUser(c.req.param("id")));
|
|
73
73
|
});
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
|
78
|
-
##
|
|
78
|
+
## Environment Variables
|
|
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
|
-
|
|
|
90
|
-
|
|
91
|
-
| `VERCEL` | Vercel
|
|
92
|
-
| `VERCEL_ENV` |
|
|
93
|
-
| `VERCEL_URL` |
|
|
94
|
-
| `VERCEL_REGION` |
|
|
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 |
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
-
##
|
|
98
|
+
## Database
|
|
99
99
|
|
|
100
100
|
### Vercel Postgres
|
|
101
101
|
|
|
@@ -161,22 +161,22 @@ jobs:
|
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
164
|
-
##
|
|
164
|
+
## Troubleshooting
|
|
165
165
|
|
|
166
|
-
|
|
|
167
|
-
|
|
168
|
-
| Function Timeout | `maxDuration`
|
|
169
|
-
| Edge
|
|
170
|
-
|
|
|
166
|
+
| Issue | Solution |
|
|
167
|
+
|-------|----------|
|
|
168
|
+
| Function Timeout | Increase `maxDuration` |
|
|
169
|
+
| Edge compatibility errors | Use Edge-compatible APIs |
|
|
170
|
+
| Bundle size exceeded | Configure externals |
|
|
171
171
|
|
|
172
172
|
```bash
|
|
173
|
-
vercel dev #
|
|
174
|
-
vercel logs #
|
|
175
|
-
vercel env ls #
|
|
173
|
+
vercel dev # Local simulation
|
|
174
|
+
vercel logs # Check logs
|
|
175
|
+
vercel env ls # Check environment variables
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
180
|
-
##
|
|
180
|
+
## Related Documentation
|
|
181
181
|
|
|
182
|
-
- [
|
|
182
|
+
- [Deployment Guide](./index.md)
|