@kood/claude-code 0.2.5 → 0.3.0

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 (130) hide show
  1. package/dist/index.js +13 -8
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/code-reviewer.md +371 -19
  4. package/templates/.claude/agents/dependency-manager.md +197 -0
  5. package/templates/.claude/agents/deployment-validator.md +136 -0
  6. package/templates/.claude/agents/git-operator.md +147 -0
  7. package/templates/.claude/agents/implementation-executor.md +202 -0
  8. package/templates/.claude/agents/lint-fixer.md +155 -0
  9. package/templates/.claude/agents/refactor-advisor.md +339 -29
  10. package/templates/.claude/commands/agent-creator.md +355 -0
  11. package/templates/.claude/commands/docs-creator.md +404 -163
  12. package/templates/.claude/commands/docs-refactor.md +400 -113
  13. package/templates/.claude/commands/execute.md +357 -185
  14. package/templates/.claude/commands/git-all.md +16 -70
  15. package/templates/.claude/commands/git-session.md +36 -68
  16. package/templates/.claude/commands/git.md +20 -69
  17. package/templates/.claude/commands/lint-fix.md +164 -107
  18. package/templates/.claude/commands/lint-init.md +142 -168
  19. package/templates/.claude/commands/plan.md +300 -84
  20. package/templates/.claude/commands/prd.md +497 -214
  21. package/templates/.claude/commands/pre-deploy.md +242 -0
  22. package/templates/.claude/commands/subagent-creator.md +118 -0
  23. package/templates/.claude/commands/version-update.md +45 -57
  24. package/templates/hono/CLAUDE.md +99 -54
  25. package/templates/hono/docs/guides/conventions.md +352 -0
  26. package/templates/hono/docs/guides/env-setup.md +347 -0
  27. package/templates/hono/docs/guides/getting-started.md +239 -0
  28. package/templates/hono/docs/library/hono/error-handling.md +20 -29
  29. package/templates/hono/docs/library/hono/index.md +25 -52
  30. package/templates/hono/docs/library/hono/middleware.md +16 -75
  31. package/templates/hono/docs/library/hono/rpc.md +7 -35
  32. package/templates/hono/docs/library/hono/validation.md +25 -45
  33. package/templates/hono/docs/library/t3-env/index.md +374 -0
  34. package/templates/npx/CLAUDE.md +165 -65
  35. package/templates/npx/docs/library/commander/index.md +10 -73
  36. package/templates/npx/docs/library/fs-extra/index.md +21 -113
  37. package/templates/npx/docs/library/prompts/index.md +30 -176
  38. package/templates/npx/docs/references/patterns.md +75 -48
  39. package/templates/tanstack-start/CLAUDE.md +101 -77
  40. package/templates/tanstack-start/docs/architecture.md +427 -0
  41. package/templates/tanstack-start/docs/design.md +558 -0
  42. package/templates/tanstack-start/docs/guides/conventions.md +132 -32
  43. package/templates/tanstack-start/docs/guides/env-setup.md +127 -62
  44. package/templates/tanstack-start/docs/guides/getting-started.md +81 -20
  45. package/templates/tanstack-start/docs/guides/hooks.md +241 -36
  46. package/templates/tanstack-start/docs/guides/routes.md +213 -61
  47. package/templates/tanstack-start/docs/guides/services.md +260 -24
  48. package/templates/tanstack-start/docs/library/better-auth/index.md +469 -16
  49. package/templates/tanstack-start/docs/library/t3-env/index.md +307 -0
  50. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -21
  51. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +22 -35
  52. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +7 -24
  53. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +26 -39
  54. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +23 -26
  55. package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +32 -147
  56. package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +25 -167
  57. package/templates/tanstack-start/docs/library/tanstack-router/index.md +39 -74
  58. package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +46 -116
  59. package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +35 -154
  60. package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +32 -171
  61. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +7 -15
  62. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +16 -23
  63. package/templates/tanstack-start/docs/library/zod/complex-types.md +12 -31
  64. package/templates/tanstack-start/docs/library/zod/index.md +18 -35
  65. package/templates/tanstack-start/docs/library/zod/transforms.md +11 -25
  66. package/templates/tanstack-start/docs/library/zod/validation.md +12 -34
  67. package/templates/.claude/agents/debug-detective.md +0 -37
  68. package/templates/.claude/agents/test-writer.md +0 -41
  69. package/templates/.claude/commands/feedback.md +0 -199
  70. package/templates/.claude/commands/ts-fix.md +0 -176
  71. package/templates/.claude/skills/command-creator/LICENSE.txt +0 -202
  72. package/templates/.claude/skills/command-creator/SKILL.md +0 -245
  73. package/templates/.claude/skills/command-creator/scripts/init_command.py +0 -244
  74. package/templates/.claude/skills/command-creator/scripts/package_command.py +0 -125
  75. package/templates/.claude/skills/command-creator/scripts/quick_validate.py +0 -143
  76. package/templates/.claude/skills/frontend-design/SKILL.md +0 -310
  77. package/templates/.claude/skills/frontend-design/references/animation-patterns.md +0 -446
  78. package/templates/.claude/skills/frontend-design/references/colors-2026.md +0 -244
  79. package/templates/.claude/skills/frontend-design/references/typography-2026.md +0 -302
  80. package/templates/.claude/skills/gemini-review/SKILL.md +0 -118
  81. package/templates/.claude/skills/gemini-review/references/checklists.md +0 -129
  82. package/templates/.claude/skills/gemini-review/references/prompt-templates.md +0 -274
  83. package/templates/.claude/skills/skill-creator/LICENSE.txt +0 -202
  84. package/templates/.claude/skills/skill-creator/SKILL.md +0 -184
  85. package/templates/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  86. package/templates/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  87. package/templates/.claude/skills/skill-creator/scripts/quick_validate.py +0 -65
  88. package/templates/hono/docs/library/ai-sdk/index.md +0 -190
  89. package/templates/hono/docs/library/ai-sdk/openrouter.md +0 -111
  90. package/templates/hono/docs/library/ai-sdk/providers.md +0 -102
  91. package/templates/hono/docs/library/ai-sdk/streaming.md +0 -146
  92. package/templates/hono/docs/library/ai-sdk/structured-output.md +0 -161
  93. package/templates/hono/docs/library/ai-sdk/tools.md +0 -144
  94. package/templates/hono/docs/library/drizzle/cloudflare-d1.md +0 -247
  95. package/templates/hono/docs/library/drizzle/config.md +0 -167
  96. package/templates/hono/docs/library/drizzle/index.md +0 -259
  97. package/templates/hono/docs/library/hono/env-setup.md +0 -169
  98. package/templates/hono/docs/library/pino/index.md +0 -146
  99. package/templates/tanstack-start/docs/architecture/architecture.md +0 -243
  100. package/templates/tanstack-start/docs/deployment/cloudflare.md +0 -132
  101. package/templates/tanstack-start/docs/deployment/index.md +0 -163
  102. package/templates/tanstack-start/docs/deployment/nitro.md +0 -110
  103. package/templates/tanstack-start/docs/deployment/railway.md +0 -147
  104. package/templates/tanstack-start/docs/deployment/vercel.md +0 -135
  105. package/templates/tanstack-start/docs/design/components.md +0 -175
  106. package/templates/tanstack-start/docs/design/index.md +0 -151
  107. package/templates/tanstack-start/docs/design/safe-area.md +0 -118
  108. package/templates/tanstack-start/docs/design/tailwind-setup.md +0 -156
  109. package/templates/tanstack-start/docs/library/ai-sdk/hooks.md +0 -472
  110. package/templates/tanstack-start/docs/library/ai-sdk/index.md +0 -264
  111. package/templates/tanstack-start/docs/library/ai-sdk/openrouter.md +0 -371
  112. package/templates/tanstack-start/docs/library/ai-sdk/providers.md +0 -403
  113. package/templates/tanstack-start/docs/library/ai-sdk/streaming.md +0 -320
  114. package/templates/tanstack-start/docs/library/ai-sdk/structured-output.md +0 -454
  115. package/templates/tanstack-start/docs/library/ai-sdk/tools.md +0 -473
  116. package/templates/tanstack-start/docs/library/better-auth/2fa.md +0 -48
  117. package/templates/tanstack-start/docs/library/better-auth/advanced.md +0 -55
  118. package/templates/tanstack-start/docs/library/better-auth/plugins.md +0 -34
  119. package/templates/tanstack-start/docs/library/better-auth/session.md +0 -47
  120. package/templates/tanstack-start/docs/library/better-auth/setup.md +0 -41
  121. package/templates/tanstack-start/docs/library/drizzle/cloudflare-d1.md +0 -147
  122. package/templates/tanstack-start/docs/library/drizzle/config.md +0 -118
  123. package/templates/tanstack-start/docs/library/drizzle/crud.md +0 -205
  124. package/templates/tanstack-start/docs/library/drizzle/index.md +0 -79
  125. package/templates/tanstack-start/docs/library/drizzle/relations.md +0 -202
  126. package/templates/tanstack-start/docs/library/drizzle/schema.md +0 -154
  127. package/templates/tanstack-start/docs/library/drizzle/setup.md +0 -96
  128. package/templates/tanstack-start/docs/library/drizzle/transactions.md +0 -127
  129. package/templates/tanstack-start/docs/library/pino/index.md +0 -320
  130. /package/templates/hono/docs/{architecture/architecture.md → architecture.md} +0 -0
@@ -1,330 +1,613 @@
1
1
  ---
2
- description: PRD(Product Requirements Document) 생성. 기능/제품 정의 시 사용. ultrathink + sequential thinking 3-5 필수.
3
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash(ls:*, mkdir:*), Task, mcp__sequential-thinking__sequentialthinking
4
- argument-hint: <기능명 또는 제품명>
2
+ description: PRD(Product Requirements Document) 생성
3
+ allowed-tools: Read, Write, Glob, Grep, Task, mcp__sequential-thinking__sequentialthinking
4
+ argument-hint: <기능/제품 설명>
5
5
  ---
6
6
 
7
- # PRD Generator
7
+ @../instructions/sequential-thinking-guide.md
8
8
 
9
- AI-friendly PRD(Product Requirements Document)를 생성.
9
+ # PRD Command
10
10
 
11
- ## CRITICAL: 필수 요구사항
11
+ 기능/제품의 요구사항 문서(PRD)를 작성.
12
12
 
13
- | 요구사항 | 설명 |
14
- |----------|------|
15
- | **ARGUMENT 필수** | PRD 대상 없이 실행 시 되물음 |
16
- | **Ultrathink** | 깊은 사고로 요구사항 분석 |
17
- | **Sequential Thinking 3-5** | 복잡도에 따라 조정 |
18
- | **정보 수집 필수** | 사용자에게 필수 정보 질문 |
13
+ **대상**: $ARGUMENTS
19
14
 
20
- ## ARGUMENT 확인
15
+ ---
16
+
17
+ <workflow>
18
+
19
+ ## 실행 흐름
20
+
21
+ | 단계 | 작업 | 도구 |
22
+ |------|------|------|
23
+ | 1. 입력 확인 | ARGUMENT 검증, 없으면 질문 | - |
24
+ | 2. Sequential Thinking | 3-5단계로 PRD 구조 분석 | sequentialthinking |
25
+ | 3. 코드베이스 확인 | 관련 코드/문서 탐색 (필요시) | Task (Explore) |
26
+ | 4. PRD 작성 | 15개 섹션 구조로 작성 | Write |
27
+ | 5. 저장 | `.claude/plans/` 또는 `docs/prd/` | - |
28
+
29
+ </workflow>
30
+
31
+ ---
32
+
33
+ <forbidden>
34
+
35
+ | 분류 | 금지 |
36
+ |------|------|
37
+ | **문제 정의** | 솔루션/기능 목록 포함 |
38
+ | **범위** | In/Out 구분 없이 나열 |
39
+ | **표현** | 모호한 표현 ("좋은 UX", "빠르게") |
40
+ | **스타일** | 마케팅 문구, 과도한 수식어 |
41
+
42
+ </forbidden>
43
+
44
+ ---
21
45
 
46
+ <required>
47
+
48
+ | 분류 | 필수 |
49
+ |------|------|
50
+ | **구조** | 15개 섹션 (메타데이터~템플릿) |
51
+ | **기능 요구사항** | User Stories + Functional + Non-functional |
52
+ | **지표** | 현재값 → 목표값 형태 |
53
+ | **가정/리스크** | 별도 섹션으로 명시 |
54
+ | **스타일** | 짧고 명확한 문장, 구체적 예시 |
55
+
56
+ </required>
57
+
58
+ ---
59
+
60
+ <prd_structure>
61
+
62
+ ## PRD 15개 섹션 구조
63
+
64
+ ### 1. 메타데이터
65
+
66
+ | 항목 | 내용 |
67
+ |------|------|
68
+ | **제목** | 제품명 + 버전/설명 |
69
+ | **작성자** | PM/오너 |
70
+ | **버전** | v0.1 (초안), v1.0 (확정) 등 |
71
+ | **날짜** | 최초 작성일, 마지막 수정일 |
72
+ | **관련 문서** | 전략 문서, 디자인, 기술 설계 링크 |
73
+
74
+ ### 2. 비전 & 배경
75
+
76
+ ```text
77
+ ✅ 3-5문장 이내
78
+ ✅ "어떤 사용자, 어떤 문제, 어떤 임팩트"
79
+
80
+ 포함 내용:
81
+ - 제품 비전 (1-2문장)
82
+ - 배경/컨텍스트 (왜 지금 하는지)
83
+ - 이전 시도/기존 제품 한계 (간단히)
22
84
  ```
23
- $ARGUMENTS 없음 → 즉시 질문:
24
- "어떤 제품/기능의 PRD를 작성할까요?
25
85
 
26
- 예시:
27
- - 신규 기능: '사용자 알림 시스템'
28
- - 제품: '관리자 대시보드'
29
- - 개선: '결제 프로세스 개선'"
86
+ ### 3. 문제 정의 & 목표
87
+
88
+ | 섹션 | 내용 | 포함 요소 |
89
+ |------|------|----------|
90
+ | **문제 정의** | 어떤 문제/기회가 있는지 | 유저 피드백, 지표 (전환율, 이탈률) |
91
+ | **목표** | 비즈니스/사용자 목표 | 측정 가능한 KPI (예: 결제율 +5%) |
30
92
 
31
- $ARGUMENTS 있음 → 다음 단계 진행
93
+ ```text
94
+ ❌ 솔루션/기능 목록 넣지 않기
95
+ ✅ "무엇이 문제이고 무엇을 달성하려 하는지"만
32
96
  ```
33
97
 
34
- **PRD 대상**: $ARGUMENTS
98
+ ### 4. 범위 (Scope)
35
99
 
36
- ## 실행 흐름
100
+ | 구분 | 내용 |
101
+ |------|------|
102
+ | **In Scope** | 이번 릴리즈 포함 기능 (P0/P1 표시) |
103
+ | **Out of Scope** | 하지 않는 것 (후속 릴리즈 메모) |
104
+
105
+ ### 5. 타깃 유저 & 페르소나
37
106
 
107
+ ```markdown
108
+ ## 주요 타깃 유저
109
+ - 세그먼트 1
110
+ - 세그먼트 2
111
+
112
+ ## 페르소나 (1-3개)
113
+ **이름(가명)**:
114
+ **역할**:
115
+ **목표**:
116
+ **Pain Point**:
117
+
118
+ **Primary Persona**: [가장 우선 해결]
38
119
  ```
39
- 1. ARGUMENT 확인 (없으면 되물음)
40
- 2. Sequential Thinking으로 정보 수집 계획 (1단계)
41
- 3. 필수 정보 순차 질문 (2-3단계)
42
- 4. 선택 정보 확인 (4단계)
43
- 5. PRD 문서 생성 (5단계)
44
- 6. .claude/prd/[기능명].md 저장
120
+
121
+ ```text
122
+ 행동/맥락/목표 중심
123
+ 기능 설명 아님
45
124
  ```
46
125
 
47
- ## 정보 수집 (대화형)
126
+ ### 6. 사용자 여정 & 시나리오
48
127
 
49
- ### 필수 질문 (순차 진행)
128
+ ```markdown
129
+ ## 주요 여정 단계
130
+ 랜딩 → 가입 → 첫 세팅 → 핵심 기능 → 반복 → 업그레이드
50
131
 
51
- **Q1. 개요**
52
- ```
53
- [제품/기능명]에 대해 알려주세요:
132
+ ## 이번 PRD 구간
133
+ [해당 구간 표시]
54
134
 
55
- 1. 무엇을 만드나요? (1-2문장)
56
- 2. 필요한가요? (배경/문제)
135
+ ## 대표 시나리오
136
+ 사용자 A는 X를 하기 위해 앱을 연다.
137
+ ...
138
+ 그래서 Y를 할 수 있게 된다.
57
139
  ```
58
140
 
59
- **Q2. 사용자**
141
+ ```text
142
+ ✅ 사용자 목적과 단계만 요약
143
+ ❌ 상세한 UI 단계 나열 금지
60
144
  ```
61
- 누구를 위한 것인가요?
62
145
 
63
- 1. 사용자 그룹
64
- 2. 사용자가 겪는 문제점
146
+ ### 7. 기능 요구사항 (핵심)
147
+
148
+ #### 기능 구조
149
+
150
+ 각 기능마다 포함:
151
+
152
+ | 필드 | 내용 |
153
+ |------|------|
154
+ | **기능 이름** | - |
155
+ | **설명** | 1-2문장 |
156
+ | **목표/가치** | 어떤 문제 해결, 어떤 지표 영향 |
157
+ | **우선순위** | P0/P1 또는 Must/Should/Could |
158
+ | **관련 시나리오** | 사용자 시나리오/페르소나 |
159
+
160
+ #### 기능 상세
161
+
162
+ ```markdown
163
+ ### [기능 1]
164
+
165
+ #### User Stories
166
+ - As a [유저 타입], I want to [행동] so that [가치]
167
+ - ...
168
+
169
+ #### 기능 설명
170
+ 동작, 상태, 변형 설명.
171
+ - Happy Path
172
+ - Alternative Flow
173
+ - Edge Case
174
+
175
+ #### Functional Requirements
176
+ - 시스템은 X 버튼 클릭 시 Y API 호출해야 함
177
+ - 성공 시 Z 화면 이동해야 함
178
+
179
+ #### Non-functional Requirements
180
+ - 퍼포먼스: 응답 시간 < 200ms
181
+ - 보안: JWT 인증 필수
182
+ - 사용성: 키보드 네비게이션 지원
65
183
  ```
66
184
 
67
- **Q3. 기능**
185
+ ### 8. UX/UI 요구사항
186
+
187
+ | 항목 | 내용 |
188
+ |------|------|
189
+ | **핵심 원칙** | "간편함 우선", "모바일 우선" 등 |
190
+ | **UI 제약** | 필수 정보, 숨기면 안 되는 액션 |
191
+ | **접근성** | 다국어, 키보드, 대비, 폰트 제한 |
192
+
193
+ ```text
194
+ ✅ 디자인이 꼭 지켜야 하는 제약/원칙
195
+ ❌ 상세 디자인 아님
68
196
  ```
69
- 어떤 기능이 필요한가요?
70
197
 
71
- 1. 반드시 필요한 기능 (Must Have)
72
- 2. 있으면 좋은 기능 (Nice to Have)
73
- 3. 제외할 (Out of Scope)
198
+ ### 9. 기술/데이터 요구사항
199
+
200
+ | 항목 | 내용 |
201
+ |------|------|
202
+ | **기술 제약** | 스택, 호환성, 아키텍처 연결 |
203
+ | **통합/의존성** | 외부 서비스 API, 내부 시스템 |
204
+ | **데이터** | 저장/조회/집계 데이터, 엔티티 |
205
+ | **보안/규제** | 인증/인가, 개인정보, 감사 로그 |
206
+
207
+ ```text
208
+ ✅ 개발 설계 시작 전 꼭 알아야 할 제약
209
+ ❌ 구현 세부 코드 수준 금지
74
210
  ```
75
211
 
76
- **Q4. 성공 지표**
212
+ ### 10. 성공 지표 & KPI
213
+
214
+ ```markdown
215
+ | 지표 | 현재값 | 목표값 | 측정 방법 |
216
+ |------|--------|--------|----------|
217
+ | 활성 사용자 | 1,000 | 1,500 | GA 이벤트 |
218
+ | 전환율 | 20% | 25% | 결제 완료 / 방문 |
219
+ | 이탈률 | 40% | 25% 이하 | 가입 플로우 |
77
220
  ```
78
- 성공을 어떻게 측정하나요?
79
221
 
80
- 예시:
81
- - 사용자 만족도 80% 이상
82
- - 처리 시간 50% 감소
83
- - 일일 활성 사용자 1000명
222
+ ```text
223
+ 현재값 목표값 형태
224
+ 측정 방법 명시
84
225
  ```
85
226
 
86
- ### 선택 질문 (해당 시만)
227
+ ### 11. 리스크, 가정, 의존성
228
+
229
+ | 분류 | 내용 |
230
+ |------|------|
231
+ | **가정** | "유저는 이메일 인증 완료 상태", "마케팅 캠페인 진행" |
232
+ | **리스크** | 기술/비즈니스/UX 리스크, 심각도/가능성 |
233
+ | **의존성** | 다른 팀/프로젝트/벤더, 선행 작업 |
87
234
 
235
+ ```text
236
+ ✅ 별도 섹션으로 명확히
237
+ ❌ 기능 설명에 섞지 않기
88
238
  ```
89
- 추가 정보가 있나요?
90
239
 
91
- - 기술 제약: 사용해야 하는 기술 스택
92
- - 일정: 목표 출시일
93
- - 참조 문서: 디자인/기획 문서
94
- - AI 사용: AI/ML 기능 포함 여부
240
+ ### 12. 릴리즈 전략 & 마일스톤
95
241
 
96
- 없으면 'N'을 입력하세요.
242
+ ```markdown
243
+ ## 릴리즈 전략
244
+ - 전체 론칭 / 단계적 롤아웃 / A/B 테스트
245
+
246
+ ## 마일스톤
247
+ - 설계 완료: 2025-02-15
248
+ - 개발 완료: 2025-03-01
249
+ - 베타 릴리즈: 2025-03-15
250
+ - GA: 2025-04-01
251
+
252
+ ## 롤백 계획
253
+ - Feature Flag 사용
254
+ - 문제 발생 시 즉시 비활성화
97
255
  ```
98
256
 
99
- ## Sequential Thinking 가이드
100
-
257
+ ```text
258
+ ✅ 타임라인 + 큰 이벤트만
259
+ ❌ 상세 스프린트 계획 금지
101
260
  ```
102
- thought 1: PRD 범위 및 복잡도 판단
103
- thought 2: 핵심 요구사항 정리 (사용자 입력 기반)
104
- thought 3: 기능 상세화 및 우선순위 결정
105
- thought 4: 기술 요구사항 및 제약 정리
106
- thought 5: PRD 문서 구조화 및 작성
261
+
262
+ ### 13. 오픈 이슈 & Todo
263
+
264
+ ```markdown
265
+ ## Open Questions
266
+
267
+ | 질문 | 결정자 | 기한 |
268
+ |------|--------|------|
269
+ | 가격 정책 | PM | 2025-02-10 |
270
+ | 온보딩 플로우 구성 | UX팀 | 2025-02-15 |
271
+ | 정책 문구 확정 | Legal | 2025-02-20 |
107
272
  ```
108
273
 
109
- ## PRD 템플릿
274
+ ```text
275
+ ✅ 불확실한 부분 명시
276
+ ❌ 숨기지 않기
277
+ ```
110
278
 
111
- **파일 위치:** `.claude/prd/[기능명].md`
279
+ ### 14. 작성 스타일 가이드 (Claude용)
112
280
 
113
- ```markdown
114
- # PRD: [제품/기능명]
281
+ | 원칙 | 적용 |
282
+ |------|------|
283
+ | **톤** | 짧고 명확한 문장, 수식어 제거 |
284
+ | **구조** | 1-13 섹션 순서 유지 |
285
+ | **구체성** | "좋은 UX" → 구체적 기준/예시 |
286
+ | **트레이드오프** | 선택 이유 한 줄 설명 |
287
+
288
+ ### 15. Claude 최종 지시
289
+
290
+ ```text
291
+ 1. 15개 섹션 구조 기준으로 PRD 구성
292
+ 2. 입력(아이디어, 회의 메모)을 다음으로 재구성:
293
+ - 문제/목표
294
+ - 범위
295
+ - 기능 요구사항
296
+ - 리스크/가정
297
+ - 성공 지표
298
+
299
+ 3. 기능/요구사항 작성 시 포함:
300
+ - User Stories
301
+ - 기능 설명
302
+ - Functional Requirements
303
+ - Non-functional Requirements
304
+
305
+ 4. 불명확한 부분:
306
+ - "Open Questions" 섹션에 질문 리스트
307
+
308
+ 5. 기존 PRD 수정 시:
309
+ - Change log (변경 요약)
310
+ ```
115
311
 
116
- **상태**: Draft
117
- **작성일**: [YYYY-MM-DD]
118
- **버전**: 1.0
312
+ </prd_structure>
119
313
 
120
314
  ---
121
315
 
122
- ## 1. 개요
316
+ <template>
123
317
 
124
- ### 1.1 배경
125
- [왜 이 제품/기능이 필요한가?]
318
+ ## PRD 템플릿
319
+
320
+ ```markdown
321
+ # [제품/기능명] PRD
126
322
 
127
- ### 1.2 목표
128
- [이 제품/기능이 달성하고자 하는 것]
323
+ ## 메타데이터
129
324
 
130
- ### 1.3 성공 지표
131
- | 지표 | 목표값 | 측정 방법 |
132
- |------|--------|----------|
133
- | [지표1] | [목표] | [방법] |
325
+ | 항목 | 내용 |
326
+ |------|------|
327
+ | **작성자** | [이름] |
328
+ | **버전** | v0.1 |
329
+ | **작성일** | YYYY-MM-DD |
330
+ | **수정일** | YYYY-MM-DD |
331
+ | **관련 문서** | [링크] |
134
332
 
135
333
  ---
136
334
 
137
- ## 2. 사용자 정의
335
+ ## 1. 비전 & 배경
138
336
 
139
- ### 2.1 목표 사용자
140
- | 페르소나 | 특성 | 주요 니즈 |
141
- |----------|------|----------|
142
- | [페르소나1] | [특성] | [니즈] |
337
+ **비전**: [1-2문장]
143
338
 
144
- ### 2.2 사용자 문제
145
- | 문제 | 빈도 | 심각도 |
146
- |------|------|--------|
147
- | [문제1] | High/Med/Low | High/Med/Low |
339
+ **배경**: [왜 지금 하는지]
148
340
 
149
- ### 2.3 사용자 스토리
150
- ```
151
- As a [사용자],
152
- I want to [행동],
153
- So that [가치/결과].
154
- ```
341
+ **기존 한계**: [간단히]
155
342
 
156
343
  ---
157
344
 
158
- ## 3. 기능 정의
345
+ ## 2. 문제 정의 & 목표
159
346
 
160
- ### 3.1 핵심 기능 (P0 - Must Have)
161
- | 기능 | 설명 | 수락 기준 |
162
- |------|------|----------|
163
- | [기능1] | [설명] | [기준] |
347
+ ### 문제
348
+ [어떤 문제/기회]
164
349
 
165
- ### 3.2 부가 기능 (P1 - Nice to Have)
166
- | 기능 | 설명 | 수락 기준 |
167
- |------|------|----------|
168
- | [기능2] | [설명] | [기준] |
350
+ **인사이트**:
351
+ - 유저 피드백: [요약]
352
+ - 지표: 전환율 15%, 이탈률 50%
169
353
 
170
- ### 3.3 범위 외 (Out of Scope)
171
- - [제외 항목1]
354
+ ### 목표
355
+
356
+ | 분류 | 목표 |
357
+ |------|------|
358
+ | **비즈니스** | 결제 완료율 +5% |
359
+ | **사용자** | 작업 시간 30% 단축 |
172
360
 
173
361
  ---
174
362
 
175
- ## 4. 상세 기능
363
+ ## 3. 범위
176
364
 
177
- ### 4.1 [기능명]
365
+ ### In Scope (P0/P1)
366
+ - [ ] 기능 1 (P0)
367
+ - [ ] 기능 2 (P1)
178
368
 
179
- **설명**: [기능 설명]
369
+ ### Out of Scope
370
+ - 기능 X (후속 릴리즈)
180
371
 
181
- **사용자 플로우**:
182
- 1. 사용자가 [행동1]
183
- 2. 시스템이 [응답1]
372
+ ---
184
373
 
185
- **입력/출력**:
186
- | 입력 | 타입 | 필수 | 설명 |
187
- |------|------|------|------|
188
- | [입력1] | string | Y | [설명] |
374
+ ## 4. 타깃 유저 & 페르소나
189
375
 
190
- | 출력 | 타입 | 설명 |
191
- |------|------|------|
192
- | [출력1] | object | [설명] |
376
+ ### 주요 세그먼트
377
+ - 세그먼트 1
378
+ - 세그먼트 2
379
+
380
+ ### 페르소나
193
381
 
194
- **엣지 케이스**:
195
- | 케이스 | 처리 |
196
- |--------|------|
197
- | [케이스1] | [처리 방법] |
382
+ **이름**: 김OO
383
+ **역할**: 소규모 쇼핑몰 운영자
384
+ **목표**: 재고 관리 자동화
385
+ **Pain Point**: 수동 입력 시간 과다
386
+
387
+ **Primary Persona**: 김OO
198
388
 
199
389
  ---
200
390
 
201
- ## 5. 기술 요구사항
391
+ ## 5. 사용자 여정 & 시나리오
202
392
 
203
- ### 5.1 기술 스택
204
- | 영역 | 기술 | 버전 |
205
- |------|------|------|
206
- | Frontend | [기술] | [버전] |
207
- | Backend | [기술] | [버전] |
208
-
209
- ### 5.2 비기능 요구사항
210
- | 항목 | 요구사항 |
211
- |------|----------|
212
- | 성능 | [예: 응답시간 < 500ms] |
213
- | 확장성 | [예: 동시접속 10K] |
214
- | 보안 | [예: HTTPS 필수] |
215
-
216
- ### 5.3 AI 요구사항 (해당 시)
217
- | 항목 | 요구사항 |
218
- |------|----------|
219
- | 모델 | [사용 모델] |
220
- | 정확도 | [목표 정확도] |
221
- | 가드레일 | [안전장치] |
393
+ ### 여정 단계
394
+ `랜딩 [가입 세팅] → 핵심 기능 → 반복 → 업그레이드`
395
+
396
+ ### 대표 시나리오
397
+ 사용자는 재고를 빠르게 등록하기 위해 앱을 연다.
398
+ ...
399
+ 5 안에 100개 상품을 등록할 수 있다.
222
400
 
223
401
  ---
224
402
 
225
- ## 6. 일정
403
+ ## 6. 기능 요구사항
404
+
405
+ ### 기능 1: [이름]
406
+
407
+ **설명**: [1-2문장]
226
408
 
227
- | 마일스톤 | 목표일 | 산출물 |
228
- |----------|--------|--------|
229
- | MVP | [날짜] | [산출물] |
230
- | Beta | [날짜] | [산출물] |
231
- | GA | [날짜] | [산출물] |
409
+ **목표**: [어떤 문제 해결]
410
+
411
+ **우선순위**: P0
412
+
413
+ #### User Stories
414
+ - As a 쇼핑몰 운영자, I want to 엑셀로 재고를 일괄 등록 so that 시간을 절약할 수 있다
415
+
416
+ #### 기능 설명
417
+ - 엑셀 파일 업로드 (최대 1,000행)
418
+ - 검증: 필수 필드, 중복 체크
419
+ - 성공/실패 피드백
420
+
421
+ #### Functional Requirements
422
+ - 시스템은 엑셀 업로드 시 필수 필드(상품명, 가격) 검증해야 함
423
+ - 중복 상품은 경고 표시 후 사용자 선택(덮어쓰기/건너뛰기)
424
+ - 성공 시 재고 목록 페이지로 이동
425
+
426
+ #### Non-functional Requirements
427
+ - 성능: 1,000행 처리 < 3초
428
+ - 보안: 파일 크기 제한 5MB
429
+ - 사용성: 진행률 표시
232
430
 
233
431
  ---
234
432
 
235
- ## 7. 위험 및 의존성
433
+ ### 기능 2: [이름]
434
+ ...
236
435
 
237
- ### 7.1 위험 요소
238
- | 위험 | 영향 | 대응 방안 |
239
- |------|------|----------|
240
- | [위험1] | High/Med/Low | [대응] |
436
+ ---
241
437
 
242
- ### 7.2 의존성
243
- | 항목 | 담당 | 상태 |
244
- |------|------|------|
245
- | [의존1] | [담당] | [상태] |
438
+ ## 7. UX/UI 요구사항
439
+
440
+ | 항목 | 내용 |
441
+ |------|------|
442
+ | **핵심 원칙** | 간편함 우선, 3클릭 이내 완료 |
443
+ | **필수 정보** | 진행률 바, 에러 메시지 |
444
+ | **접근성** | 키보드 네비게이션, 한/영 지원 |
445
+
446
+ ---
447
+
448
+ ## 8. 기술/데이터 요구사항
449
+
450
+ | 항목 | 내용 |
451
+ |------|------|
452
+ | **기술 스택** | React, TanStack Query, Prisma |
453
+ | **통합** | Excel Parser (xlsx.js) |
454
+ | **데이터** | Product 테이블 (name, price, quantity) |
455
+ | **보안** | JWT 인증, File validation |
246
456
 
247
457
  ---
248
458
 
249
- ## 8. 오픈 이슈
459
+ ## 9. 성공 지표 & KPI
250
460
 
251
- | # | 이슈 | 담당 | 상태 |
252
- |---|------|------|------|
253
- | 1 | [이슈1] | [담당] | Open |
461
+ | 지표 | 현재값 | 목표값 | 측정 방법 |
462
+ |------|--------|--------|----------|
463
+ | 등록 시간 | 평균 15분 | 5분 이하 | 업로드 완료 이벤트 |
464
+ | 에러율 | 30% | 10% 이하 | 실패 업로드 / 전체 |
465
+ | 주간 활성 | 500명 | 800명 | GA 이벤트 |
254
466
 
255
467
  ---
256
468
 
257
- ## 부록
469
+ ## 10. 리스크, 가정, 의존성
258
470
 
259
- ### A. 용어 정의
260
- | 용어 | 정의 |
471
+ | 분류 | 내용 |
261
472
  |------|------|
262
- | [용어1] | [정의] |
473
+ | **가정** | 사용자는 엑셀 형식을 알고 있음 |
474
+ | **리스크** | 대용량 파일 처리 성능 (완화: 행 수 제한) |
475
+ | **의존성** | xlsx.js 라이브러리 |
263
476
 
264
- ### B. 변경 이력
265
- | 버전 | 날짜 | 변경 내용 |
266
- |------|------|----------|
267
- | 1.0 | [날짜] | 초안 작성 |
477
+ ---
478
+
479
+ ## 11. 릴리즈 전략
480
+
481
+ **전략**: 단계적 롤아웃 (베타 → GA)
482
+
483
+ **마일스톤**:
484
+ - 설계 완료: 2025-02-20
485
+ - 베타 릴리즈: 2025-03-10 (100명)
486
+ - GA: 2025-03-25
487
+
488
+ **롤백**: Feature Flag 사용
489
+
490
+ ---
491
+
492
+ ## 12. 오픈 이슈
493
+
494
+ | 질문 | 결정자 | 기한 |
495
+ |------|--------|------|
496
+ | 엑셀 템플릿 제공 여부 | PM | 2025-02-15 |
497
+ | 에러 메시지 문구 확정 | UX | 2025-02-20 |
268
498
  ```
269
499
 
270
- ## Claude Code 친화적 PRD 특징
500
+ </template>
271
501
 
272
- | 특징 | 설명 |
273
- |------|------|
274
- | **테이블 형식** | 정보 구조화로 빠른 파악 |
275
- | **명확한 입출력** | 기능별 입력/출력 명시 |
276
- | **우선순위** | P0/P1/P2로 구현 순서 명확 |
277
- | **엣지 케이스** | 예외 상황 사전 정의 |
278
- | **수락 기준** | 구현 완료 기준 명확화 |
502
+ ---
503
+
504
+ <examples>
505
+
506
+ ## 실전 예시
279
507
 
280
- ## 작성 규칙
508
+ ### 예시 1: 사용자 프로필 편집
281
509
 
282
- ### DO
283
- - 구체적인 숫자와 지표 사용
284
- - 사용자 관점에서 기능 설명
285
- - 명확한 범위 정의 (In/Out of Scope)
286
- - 측정 가능한 성공 기준
287
- - 엣지 케이스 미리 정의
510
+ ```bash
511
+ 사용자: /prd 사용자 프로필 편집 기능
288
512
 
289
- ### DON'T
290
- - 모호한 표현 ("빠른", "좋은")
291
- - 기술 구현 세부사항 과도 포함
292
- - 범위 없이 모든 포함
293
- - 검증 없는 가정
513
+ 1. Sequential Thinking (5단계):
514
+ thought 1: "프로필 편집 - 보통 복잡도, CRUD 기본 기능"
515
+ thought 2: "현재 User 모델 확인 필요, 인증 방식 파악"
516
+ thought 3: "편집 가능 필드: 이름, 이메일, 프로필 이미지"
517
+ thought 4: "검증: 이메일 중복, 이미지 크기, 형식"
518
+ thought 5: "API: PUT /api/user/:id, 클라이언트: useQuery + useMutation"
294
519
 
295
- ## 예시 워크플로우
520
+ 2. Task 탐색:
521
+ Task (Explore): "User 모델 및 인증 구조 분석"
296
522
 
523
+ 3. PRD 작성:
524
+ → .claude/plans/profile-edit-prd.md
525
+
526
+ 4. 주요 섹션:
527
+ - 문제: 사용자가 정보를 수정할 방법이 없음
528
+ - 목표: 프로필 편집 완료율 90% 이상
529
+ - 기능: 이름/이메일/이미지 편집, 실시간 검증
530
+ - KPI: 편집 완료율, 에러율
297
531
  ```
298
- 1. 사용자: /prd 사용자 알림 시스템
299
532
 
300
- 2. Claude:
301
- "사용자 알림 시스템 PRD를 작성하겠습니다.
533
+ ### 예시 2: 실시간 알림
534
+
535
+ ```bash
536
+ 사용자: /prd 실시간 알림 시스템 추가
537
+
538
+ 1. Sequential Thinking (7단계):
539
+ thought 1: "실시간 알림 - 복잡도 높음, 새 인프라 필요"
540
+ thought 2: "현재 통신: REST만, 폴링 없음"
541
+ thought 3: "제약: 서버 부하, 클라이언트 연결 관리"
542
+ thought 4: "접근: WebSocket vs SSE vs Firebase"
543
+ thought 5: "WebSocket - 양방향, 복잡. SSE - 단방향, 간단"
544
+ thought 6: "옵션 3개: WebSocket(추천), SSE, Firebase"
545
+ thought 7: "WebSocket 추천 - 확장성, 제어 가능"
546
+
547
+ 2. PRD 작성:
548
+ - 비전: "사용자가 즉시 중요한 업데이트를 받는다"
549
+ - 범위:
550
+ * In: 주문 상태, 메시지 알림
551
+ * Out: 푸시 알림 (후속)
552
+ - 기술: WebSocket (ws 라이브러리), Redis Pub/Sub
553
+ - 리스크: 연결 안정성 (완화: 자동 재연결)
554
+ ```
302
555
 
303
- Q1. 개요
304
- 1. 무엇을 만드나요?
305
- 2. 왜 필요한가요?"
556
+ ### 예시 3: 대시보드 분석 기능
557
+
558
+ ```bash
559
+ 사용자: /prd 대시보드 분석 기능 - 매출, 주문, 트래픽 차트
560
+
561
+ 1. Sequential Thinking (5단계):
562
+ thought 1: "대시보드 - 보통 복잡도, 데이터 집계 + 시각화"
563
+ thought 2: "데이터: Order, Payment, Analytics 테이블"
564
+ thought 3: "차트: 라인(트렌드), 바(비교), 파이(비율)"
565
+ thought 4: "필터: 기간(일/주/월), 카테고리"
566
+ thought 5: "성능: 집계 쿼리 최적화, 캐싱 필요"
567
+
568
+ 2. PRD 핵심:
569
+ - 문제: 매출 데이터를 확인하려면 여러 페이지 접근 필요
570
+ - 목표: 대시보드 사용률 70% 이상
571
+ - 기능 요구사항:
572
+ * User Story: "As a 관리자, I want to 매출 트렌드를 한눈에 보고 싶다"
573
+ * Functional: 기간별 매출 집계, 차트 렌더링
574
+ * Non-functional: 쿼리 < 500ms, 캐싱 5분
575
+ - 성공 지표:
576
+ * 페이지뷰: 0 → 500/일
577
+ * 로딩 시간: - → 500ms 이하
578
+ ```
306
579
 
307
- 3. 사용자: "실시간 알림 기능. 사용자가 중요 이벤트를 놓침."
580
+ </examples>
308
581
 
309
- 4. Claude:
310
- "Q2. 누구를 위한 것인가요?
311
- 1. 주 사용자 그룹
312
- 2. 겪는 문제점"
582
+ ---
313
583
 
314
- 5. 사용자: "모든 로그인 사용자. 이메일 확인 안 함."
584
+ <validation>
315
585
 
316
- 6. (계속 질문...)
586
+ ## 검증 체크리스트
317
587
 
318
- 7. PRD 생성: .claude/prd/notification-system.md
588
+ 실행 전:
589
+
590
+ ```text
591
+ ✅ ARGUMENT 확인 (없으면 질문)
592
+ ✅ Sequential Thinking 3-5단계
593
+ ✅ Task (Explore)로 코드베이스 확인 (필요시)
594
+ ✅ 15개 섹션 구조 준수
595
+ ✅ User Stories 형식 작성
596
+ ✅ Functional/Non-functional 구분
597
+ ✅ 현재값 → 목표값 지표
598
+ ✅ Open Questions 명시 (불확실한 부분)
319
599
  ```
320
600
 
321
- ## CRITICAL: 절대 금지
601
+ 절대 금지:
602
+
603
+ ```text
604
+ ❌ ARGUMENT 없이 PRD 작성
605
+ ❌ Sequential Thinking 3단계 미만
606
+ ❌ 문제 정의에 솔루션 포함
607
+ ❌ In/Out Scope 구분 없이 나열
608
+ ❌ 모호한 표현만 사용 ("좋은 UX")
609
+ ❌ User Stories 없이 기능만 나열
610
+ ❌ 불확실한 부분 숨기기
611
+ ```
322
612
 
323
- | 금지 항목 |
324
- |----------|
325
- | ARGUMENT 없이 PRD 작성 시작 |
326
- | 정보 수집 없이 가정으로 작성 |
327
- | Sequential Thinking 3단계 미만 |
328
- | 성공 지표 없는 PRD |
329
- | 기능 우선순위 없는 PRD |
330
- | 엣지 케이스 고려 없는 기능 정의 |
613
+ </validation>