@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.
- package/dist/index.js +6 -2
- package/package.json +1 -1
- package/templates/.claude/agents/document-writer.md +2 -2
- package/templates/.claude/skills/docs-creator/SKILL.md +2 -2
- package/templates/.claude/skills/docs-refactor/SKILL.md +1 -1
- package/templates/.claude/skills/plan/SKILL.md +15 -15
- package/templates/hono/CLAUDE.md +28 -28
- 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 -54
- package/templates/nextjs/docs/architecture.md +146 -146
- 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 -38
- 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 -54
- 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/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/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/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/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/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/transforms.md +11 -11
- package/templates/tanstack-start/docs/library/zod/validation.md +9 -9
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
<context>
|
|
6
6
|
|
|
7
|
-
**Purpose:** Next.js App Router
|
|
7
|
+
**Purpose:** Next.js App Router 기반 웹 애플리케이션 개발 지침
|
|
8
8
|
|
|
9
|
-
**Scope:** Full-stack React
|
|
9
|
+
**Scope:** Full-stack React 애플리케이션 구현
|
|
10
10
|
|
|
11
11
|
**Key Features:**
|
|
12
12
|
- App Router (file-based routing)
|
|
13
|
-
- Server Actions (
|
|
13
|
+
- Server Actions (타입 안전 API)
|
|
14
14
|
- Server/Client Components
|
|
15
15
|
- Route Handlers (REST API)
|
|
16
16
|
- Middleware
|
|
17
|
-
- Built-in Optimization (
|
|
17
|
+
- Built-in Optimization (이미지, 폰트, 스크립트)
|
|
18
18
|
- Deployment (Vercel, Docker, Node.js)
|
|
19
19
|
|
|
20
20
|
</context>
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
|
|
36
36
|
<forbidden>
|
|
37
37
|
|
|
38
|
-
|
|
|
39
|
-
|
|
40
|
-
| **Git
|
|
41
|
-
| **Prisma** |
|
|
42
|
-
| **Server Actions** |
|
|
43
|
-
| **Route Handlers** |
|
|
44
|
-
|
|
|
45
|
-
|
|
|
38
|
+
| 분류 | 금지 행동 |
|
|
39
|
+
|------|----------|
|
|
40
|
+
| **Git 커밋** | AI 표시 (`Generated with Claude Code`, `🤖`, `Co-Authored-By:`), 여러 줄 메시지, 이모지 |
|
|
41
|
+
| **Prisma** | `db push/migrate/generate` 자동 실행, `schema.prisma` 무단 수정 |
|
|
42
|
+
| **Server Actions** | 클라이언트 컴포넌트에서 직접 정의, try-catch 없이 사용, Zod 검증 누락 (POST/PUT/PATCH) |
|
|
43
|
+
| **Route Handlers** | `/app/api/` 외부에 생성, Server Actions로 대체 가능한 경우 생성 |
|
|
44
|
+
| **클라이언트** | Server Action 직접 호출 (TanStack Query 사용), `"use client"` 누락 |
|
|
45
|
+
| **코드 검색** | Bash의 grep/rg/find 명령어 (ast-grep 또는 전용 도구 사용) |
|
|
46
46
|
|
|
47
47
|
</forbidden>
|
|
48
48
|
|
|
@@ -50,18 +50,18 @@
|
|
|
50
50
|
|
|
51
51
|
<required>
|
|
52
52
|
|
|
53
|
-
|
|
|
54
|
-
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
| **Server Actions** | `"use server"`
|
|
61
|
-
|
|
|
62
|
-
| **Custom Hook
|
|
63
|
-
|
|
|
64
|
-
| **Prisma** | Multi-File
|
|
53
|
+
| 작업 | 필수 행동 |
|
|
54
|
+
|------|----------|
|
|
55
|
+
| **작업 시작 전** | 관련 docs 읽기 (UI → design, API → nextjs, DB → prisma, 인증 → next-auth) |
|
|
56
|
+
| **문서 검색** | serena mcp 사용 (문서 인덱싱/검색, context 길이 최적화) |
|
|
57
|
+
| **코드 검색** | ast-grep 사용 (함수/컴포넌트/패턴 검색) |
|
|
58
|
+
| **복잡한 작업** | Sequential Thinking MCP (5+ 단계 작업) |
|
|
59
|
+
| **대규모 수정** | gemini-review (3+ 파일 변경, 아키텍처 결정) |
|
|
60
|
+
| **Server Actions** | `"use server"` 선언, Zod 검증 (POST/PUT/PATCH), try-catch + revalidatePath/redirect |
|
|
61
|
+
| **클라이언트 API** | TanStack Query (`useQuery`/`useMutation`)로 Server Action 호출 |
|
|
62
|
+
| **Custom Hook 순서** | State → Global Hooks (useParams, useRouter, useSearchParams) → React Query → Handlers → Memo → Effect |
|
|
63
|
+
| **코드 작성** | UTF-8 인코딩, 코드 묶음별 한글 주석, const 함수 선언 |
|
|
64
|
+
| **Prisma** | Multi-File 구조 (`prisma/schema/`), 모든 요소 한글 주석 필수 |
|
|
65
65
|
|
|
66
66
|
</required>
|
|
67
67
|
|
|
@@ -69,15 +69,15 @@
|
|
|
69
69
|
|
|
70
70
|
<tech_stack>
|
|
71
71
|
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
| Next.js | **15.x** | App Router
|
|
72
|
+
| 기술 | 버전 | 주의 |
|
|
73
|
+
|------|------|------|
|
|
74
|
+
| Next.js | **15.x** | App Router 전용 |
|
|
75
75
|
| React | **19.x** | Server Components |
|
|
76
76
|
| TypeScript | 5.x | strict |
|
|
77
77
|
| Tailwind CSS | 4.x | @theme |
|
|
78
|
-
| Prisma | **7.x** | `prisma-client`, output
|
|
78
|
+
| Prisma | **7.x** | `prisma-client`, output 필수 |
|
|
79
79
|
| Zod | **4.x** | `z.email()`, `z.url()` |
|
|
80
|
-
| NextAuth.js | **5.x** (Auth.js) | App Router
|
|
80
|
+
| NextAuth.js | **5.x** (Auth.js) | App Router 지원 |
|
|
81
81
|
| TanStack Query | 5.x | - |
|
|
82
82
|
|
|
83
83
|
</tech_stack>
|
|
@@ -92,41 +92,41 @@ src/
|
|
|
92
92
|
│ ├── page.tsx # Home page
|
|
93
93
|
│ ├── [slug]/
|
|
94
94
|
│ │ ├── page.tsx # Dynamic route
|
|
95
|
-
│ │ ├── _components/ #
|
|
96
|
-
│ │ ├── _hooks/ #
|
|
97
|
-
│ │ └── _actions/ #
|
|
95
|
+
│ │ ├── _components/ # 페이지 전용 컴포넌트 (필수)
|
|
96
|
+
│ │ ├── _hooks/ # 페이지 전용 훅 (필수)
|
|
97
|
+
│ │ └── _actions/ # 페이지 전용 Server Actions (필수)
|
|
98
98
|
│ ├── api/
|
|
99
99
|
│ │ └── [endpoint]/
|
|
100
100
|
│ │ └── route.ts # Route Handler (REST API)
|
|
101
|
-
│ └── _actions/ #
|
|
102
|
-
├── components/ui/ #
|
|
101
|
+
│ └── _actions/ # 공통 Server Actions
|
|
102
|
+
├── components/ui/ # 공통 UI 컴포넌트 (Server Components)
|
|
103
103
|
├── middleware.ts # Middleware
|
|
104
104
|
├── database/prisma.ts
|
|
105
105
|
└── lib/
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
- Custom
|
|
111
|
-
- Server Components
|
|
112
|
-
- Server Actions
|
|
113
|
-
- Route Handlers
|
|
108
|
+
**필수 규칙:**
|
|
109
|
+
- 페이지당 `_components/`, `_hooks/`, `_actions/` 폴더 필수 (줄 수 무관)
|
|
110
|
+
- Custom Hook은 페이지 크기와 무관하게 **반드시** `_hooks/` 폴더에 분리
|
|
111
|
+
- Server Components가 기본 → `"use client"` 명시 필요 시만 사용
|
|
112
|
+
- Server Actions는 글로벌(`app/_actions/`) 또는 페이지 전용(`[route]/_actions/`)에 분리
|
|
113
|
+
- Route Handlers는 `/app/api/` 경로에만 생성
|
|
114
114
|
</structure>
|
|
115
115
|
|
|
116
116
|
---
|
|
117
117
|
|
|
118
118
|
<conventions>
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
TypeScript: const
|
|
122
|
-
Import
|
|
120
|
+
파일명: kebab-case, Routes: `page.tsx`, `layout.tsx`, `[slug]/page.tsx`
|
|
121
|
+
TypeScript: const 선언, 명시적 return type, interface(객체)/type(유니온), any→unknown
|
|
122
|
+
Import 순서: 외부 → @/ → 상대경로 → type
|
|
123
123
|
|
|
124
124
|
Prisma Multi-File:
|
|
125
125
|
```
|
|
126
126
|
prisma/schema/
|
|
127
127
|
├── +base.prisma # datasource, generator
|
|
128
128
|
├── +enum.prisma # enum
|
|
129
|
-
└── [model].prisma #
|
|
129
|
+
└── [model].prisma # 모델별 (한글 주석!)
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
</conventions>
|
|
@@ -136,7 +136,7 @@ prisma/schema/
|
|
|
136
136
|
<quick_patterns>
|
|
137
137
|
|
|
138
138
|
```typescript
|
|
139
|
-
// Server Action (
|
|
139
|
+
// Server Action (파일 상단)
|
|
140
140
|
"use server"
|
|
141
141
|
|
|
142
142
|
export async function createPost(formData: FormData) {
|
|
@@ -150,7 +150,7 @@ export async function createPost(formData: FormData) {
|
|
|
150
150
|
return post
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
// Server Action (
|
|
153
|
+
// Server Action (인증)
|
|
154
154
|
"use server"
|
|
155
155
|
|
|
156
156
|
import { auth } from "@/lib/auth"
|
|
@@ -209,12 +209,12 @@ export default async function PostsPage() {
|
|
|
209
209
|
|
|
210
210
|
<ui_ux>
|
|
211
211
|
|
|
212
|
-
|
|
|
213
|
-
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
|
|
|
212
|
+
| 원칙 | 값 |
|
|
213
|
+
|------|------|
|
|
214
|
+
| 색상 | 60-30-10 (배경-보조-강조) |
|
|
215
|
+
| 간격 | 8px 그리드 |
|
|
216
|
+
| 접근성 | WCAG AA (대비 4.5:1+) |
|
|
217
|
+
| 폰트 | 2-3개 |
|
|
218
218
|
| Safe Area | tailwindcss-safe-area |
|
|
219
219
|
|
|
220
220
|
</ui_ux>
|
|
@@ -224,8 +224,8 @@ export default async function PostsPage() {
|
|
|
224
224
|
<docs_structure>
|
|
225
225
|
```
|
|
226
226
|
docs/
|
|
227
|
-
├── guides/ #
|
|
227
|
+
├── guides/ # 시작하기, 규칙, 패턴
|
|
228
228
|
├── library/ # nextjs, prisma, next-auth, tanstack-query, zod
|
|
229
|
-
└── design.md # UI/UX
|
|
229
|
+
└── design.md # UI/UX 가이드
|
|
230
230
|
```
|
|
231
231
|
</docs_structure>
|