@qazuor/claude-code-config 0.1.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.
- package/LICENSE +21 -0
- package/README.md +1248 -0
- package/dist/bin.cjs +11886 -0
- package/dist/bin.cjs.map +1 -0
- package/dist/bin.d.cts +1 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +11869 -0
- package/dist/bin.js.map +1 -0
- package/dist/index.cjs +3887 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1325 -0
- package/dist/index.d.ts +1325 -0
- package/dist/index.js +3835 -0
- package/dist/index.js.map +1 -0
- package/package.json +86 -0
- package/templates/.log/notifications.log +1775 -0
- package/templates/agents/README.md +164 -0
- package/templates/agents/_registry.json +443 -0
- package/templates/agents/design/content-writer.md +353 -0
- package/templates/agents/design/ux-ui-designer.md +382 -0
- package/templates/agents/engineering/astro-engineer.md +293 -0
- package/templates/agents/engineering/db-drizzle-engineer.md +360 -0
- package/templates/agents/engineering/express-engineer.md +316 -0
- package/templates/agents/engineering/fastify-engineer.md +399 -0
- package/templates/agents/engineering/hono-engineer.md +263 -0
- package/templates/agents/engineering/mongoose-engineer.md +473 -0
- package/templates/agents/engineering/nestjs-engineer.md +429 -0
- package/templates/agents/engineering/nextjs-engineer.md +451 -0
- package/templates/agents/engineering/node-typescript-engineer.md +347 -0
- package/templates/agents/engineering/prisma-engineer.md +432 -0
- package/templates/agents/engineering/react-senior-dev.md +394 -0
- package/templates/agents/engineering/tanstack-start-engineer.md +447 -0
- package/templates/agents/engineering/tech-lead.md +269 -0
- package/templates/agents/product/product-functional.md +329 -0
- package/templates/agents/product/product-technical.md +578 -0
- package/templates/agents/quality/debugger.md +514 -0
- package/templates/agents/quality/qa-engineer.md +390 -0
- package/templates/agents/specialized/enrichment-agent.md +277 -0
- package/templates/agents/specialized/i18n-specialist.md +322 -0
- package/templates/agents/specialized/seo-ai-specialist.md +387 -0
- package/templates/agents/specialized/tech-writer.md +300 -0
- package/templates/code-style/.editorconfig +27 -0
- package/templates/code-style/.prettierignore +25 -0
- package/templates/code-style/.prettierrc +12 -0
- package/templates/code-style/biome.json +78 -0
- package/templates/code-style/commitlint.config.js +44 -0
- package/templates/commands/README.md +175 -0
- package/templates/commands/_registry.json +420 -0
- package/templates/commands/add-new-entity.md +211 -0
- package/templates/commands/audit/accessibility-audit.md +360 -0
- package/templates/commands/audit/performance-audit.md +290 -0
- package/templates/commands/audit/security-audit.md +231 -0
- package/templates/commands/code-check.md +127 -0
- package/templates/commands/five-why.md +225 -0
- package/templates/commands/formatting/format-markdown.md +197 -0
- package/templates/commands/git/commit.md +247 -0
- package/templates/commands/meta/create-agent.md +257 -0
- package/templates/commands/meta/create-command.md +312 -0
- package/templates/commands/meta/create-skill.md +321 -0
- package/templates/commands/meta/help.md +318 -0
- package/templates/commands/planning/check-completed-tasks.md +224 -0
- package/templates/commands/planning/cleanup-issues.md +248 -0
- package/templates/commands/planning/planning-cleanup.md +251 -0
- package/templates/commands/planning/sync-planning-github.md +133 -0
- package/templates/commands/planning/sync-todos-github.md +203 -0
- package/templates/commands/quality-check.md +211 -0
- package/templates/commands/run-tests.md +159 -0
- package/templates/commands/start-feature-plan.md +232 -0
- package/templates/commands/start-refactor-plan.md +244 -0
- package/templates/commands/sync-planning.md +176 -0
- package/templates/commands/update-docs.md +242 -0
- package/templates/docs/CHECKPOINT-SYSTEM.md +504 -0
- package/templates/docs/INDEX.md +677 -0
- package/templates/docs/RECOMMENDED-HOOKS.md +415 -0
- package/templates/docs/_registry.json +329 -0
- package/templates/docs/diagrams/README.md +220 -0
- package/templates/docs/diagrams/agent-hierarchy.mmd +55 -0
- package/templates/docs/diagrams/documentation-map.mmd +61 -0
- package/templates/docs/diagrams/tools-relationship.mmd +55 -0
- package/templates/docs/diagrams/workflow-decision-tree.mmd +38 -0
- package/templates/docs/doc-sync.md +533 -0
- package/templates/docs/examples/end-to-end-workflow.md +1505 -0
- package/templates/docs/glossary.md +495 -0
- package/templates/docs/guides/mockup-prompt-engineering.md +644 -0
- package/templates/docs/guides/mockup-setup.md +737 -0
- package/templates/docs/learnings/README.md +250 -0
- package/templates/docs/learnings/common-architectural-patterns.md +123 -0
- package/templates/docs/learnings/common-mistakes-to-avoid.md +149 -0
- package/templates/docs/learnings/markdown-formatting-standards.md +104 -0
- package/templates/docs/learnings/monorepo-command-execution.md +64 -0
- package/templates/docs/learnings/optimization-tips.md +146 -0
- package/templates/docs/learnings/planning-linear-sync-workflow.md +70 -0
- package/templates/docs/learnings/shell-compatibility-fish.md +46 -0
- package/templates/docs/learnings/test-organization-structure.md +68 -0
- package/templates/docs/mcp-installation.md +613 -0
- package/templates/docs/mcp-servers.md +989 -0
- package/templates/docs/notification-installation.md +570 -0
- package/templates/docs/quick-start.md +354 -0
- package/templates/docs/standards/architecture-patterns.md +1064 -0
- package/templates/docs/standards/atomic-commits.md +513 -0
- package/templates/docs/standards/code-standards.md +993 -0
- package/templates/docs/standards/design-standards.md +656 -0
- package/templates/docs/standards/documentation-standards.md +1160 -0
- package/templates/docs/standards/testing-standards.md +969 -0
- package/templates/docs/system-maintenance.md +604 -0
- package/templates/docs/templates/PDR-template.md +561 -0
- package/templates/docs/templates/TODOs-template.md +534 -0
- package/templates/docs/templates/tech-analysis-template.md +800 -0
- package/templates/docs/workflows/README.md +519 -0
- package/templates/docs/workflows/atomic-task-protocol.md +955 -0
- package/templates/docs/workflows/decision-tree.md +482 -0
- package/templates/docs/workflows/edge-cases.md +856 -0
- package/templates/docs/workflows/phase-1-planning.md +957 -0
- package/templates/docs/workflows/phase-2-implementation.md +896 -0
- package/templates/docs/workflows/phase-3-validation.md +792 -0
- package/templates/docs/workflows/phase-4-finalization.md +927 -0
- package/templates/docs/workflows/quick-fix-protocol.md +505 -0
- package/templates/docs/workflows/task-atomization.md +537 -0
- package/templates/docs/workflows/task-completion-protocol.md +448 -0
- package/templates/hooks/on-notification.sh +28 -0
- package/templates/schemas/checkpoint.schema.json +97 -0
- package/templates/schemas/code-registry.schema.json +84 -0
- package/templates/schemas/pdr.schema.json +314 -0
- package/templates/schemas/problems.schema.json +55 -0
- package/templates/schemas/tech-analysis.schema.json +404 -0
- package/templates/schemas/telemetry.schema.json +298 -0
- package/templates/schemas/todos.schema.json +234 -0
- package/templates/schemas/workflows.schema.json +69 -0
- package/templates/scripts/add-changelogs.sh +105 -0
- package/templates/scripts/generate-code-registry.ts +270 -0
- package/templates/scripts/health-check.sh +343 -0
- package/templates/scripts/sync-registry.sh +40 -0
- package/templates/scripts/telemetry-report.ts +36 -0
- package/templates/scripts/validate-docs.sh +224 -0
- package/templates/scripts/validate-registry.sh +225 -0
- package/templates/scripts/validate-schemas.ts +283 -0
- package/templates/scripts/validate-structure.sh +165 -0
- package/templates/scripts/worktree-cleanup.sh +81 -0
- package/templates/scripts/worktree-create.sh +63 -0
- package/templates/sessions/planning/.gitkeep +0 -0
- package/templates/sessions/planning/archived/.gitkeep +0 -0
- package/templates/settings.json +202 -0
- package/templates/settings.local.json +138 -0
- package/templates/skills/README.md +197 -0
- package/templates/skills/_registry.json +473 -0
- package/templates/skills/audit/accessibility-audit.md +309 -0
- package/templates/skills/audit/performance-audit.md +257 -0
- package/templates/skills/audit/security-audit.md +217 -0
- package/templates/skills/auth/nextauth-patterns.md +308 -0
- package/templates/skills/brand-guidelines.md +240 -0
- package/templates/skills/documentation/markdown-formatter.md +302 -0
- package/templates/skills/git/git-commit-helper.md +321 -0
- package/templates/skills/i18n/i18n-patterns.md +251 -0
- package/templates/skills/patterns/error-handling-patterns.md +242 -0
- package/templates/skills/patterns/tdd-methodology.md +342 -0
- package/templates/skills/qa/qa-criteria-validator.md +383 -0
- package/templates/skills/qa/web-app-testing.md +398 -0
- package/templates/skills/react/react-hook-form-patterns.md +359 -0
- package/templates/skills/state/redux-toolkit-patterns.md +272 -0
- package/templates/skills/state/tanstack-query-patterns.md +299 -0
- package/templates/skills/state/zustand-patterns.md +301 -0
- package/templates/skills/tech/mermaid-diagram-specialist.md +195 -0
- package/templates/skills/tech/shadcn-specialist.md +252 -0
- package/templates/skills/tech/vercel-specialist.md +297 -0
- package/templates/skills/testing/api-app-testing.md +254 -0
- package/templates/skills/testing/performance-testing.md +275 -0
- package/templates/skills/testing/security-testing.md +348 -0
- package/templates/skills/utils/add-memory.md +295 -0
- package/templates/skills/utils/json-data-auditor.md +283 -0
- package/templates/skills/utils/pdf-creator-editor.md +342 -0
- package/templates/tools/format-markdown.sh +185 -0
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
# Product Design Requirements (PDR)
|
|
2
|
+
|
|
3
|
+
## {Feature Name}
|
|
4
|
+
|
|
5
|
+
**Date**: YYYY-MM-DD
|
|
6
|
+
**Status**: Draft | In Review | Approved | In Progress | Completed
|
|
7
|
+
**Priority**: P0 (Critical) | P1 (High) | P2 (Medium) | P3 (Low)
|
|
8
|
+
**Owner**: {Name/Team}
|
|
9
|
+
**Feature Type**: New Feature | Enhancement | Bug Fix | Refactor
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Overview
|
|
14
|
+
|
|
15
|
+
### 1.1 Problem Statement
|
|
16
|
+
|
|
17
|
+
{Clear, concise description of the problem we're solving. Why does this matter? Who is affected?}
|
|
18
|
+
|
|
19
|
+
**Context:**
|
|
20
|
+
|
|
21
|
+
- {Business context}
|
|
22
|
+
- {Technical context}
|
|
23
|
+
- {User context}
|
|
24
|
+
|
|
25
|
+
### 1.2 Goals & Success Metrics
|
|
26
|
+
|
|
27
|
+
**Primary Goal:**
|
|
28
|
+
{Main objective of this feature}
|
|
29
|
+
|
|
30
|
+
**Success Metrics:**
|
|
31
|
+
|
|
32
|
+
- **Metric 1**: {Description} - Target: {Value}
|
|
33
|
+
- How measured: {Method}
|
|
34
|
+
- **Metric 2**: {Description} - Target: {Value}
|
|
35
|
+
- How measured: {Method}
|
|
36
|
+
- **Metric 3**: {Description} - Target: {Value}
|
|
37
|
+
- How measured: {Method}
|
|
38
|
+
|
|
39
|
+
### 1.3 Non-Goals
|
|
40
|
+
|
|
41
|
+
{What we explicitly won't do in this iteration}
|
|
42
|
+
|
|
43
|
+
- {Non-goal 1}
|
|
44
|
+
- {Non-goal 2}
|
|
45
|
+
- {Non-goal 3}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. User Stories
|
|
50
|
+
|
|
51
|
+
### US-001: {User Story Title}
|
|
52
|
+
|
|
53
|
+
**As a** {user type/role}
|
|
54
|
+
**I want to** {action/capability}
|
|
55
|
+
**So that** {benefit/value}
|
|
56
|
+
|
|
57
|
+
**Priority**: P0 | P1 | P2 | P3
|
|
58
|
+
|
|
59
|
+
**Acceptance Criteria**:
|
|
60
|
+
|
|
61
|
+
- [ ] **AC-001**: {Specific, testable criterion}
|
|
62
|
+
- Given: {precondition}
|
|
63
|
+
- When: {action}
|
|
64
|
+
- Then: {expected result}
|
|
65
|
+
|
|
66
|
+
- [ ] **AC-002**: {Specific, testable criterion}
|
|
67
|
+
- Given: {precondition}
|
|
68
|
+
- When: {action}
|
|
69
|
+
- Then: {expected result}
|
|
70
|
+
|
|
71
|
+
- [ ] **AC-003**: {Specific, testable criterion}
|
|
72
|
+
- Given: {precondition}
|
|
73
|
+
- When: {action}
|
|
74
|
+
- Then: {expected result}
|
|
75
|
+
|
|
76
|
+
**Edge Cases:**
|
|
77
|
+
|
|
78
|
+
- {Edge case 1 and how to handle it}
|
|
79
|
+
- {Edge case 2 and how to handle it}
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### US-002: {User Story Title}
|
|
84
|
+
|
|
85
|
+
**As a** {user type/role}
|
|
86
|
+
**I want to** {action/capability}
|
|
87
|
+
**So that** {benefit/value}
|
|
88
|
+
|
|
89
|
+
**Priority**: P0 | P1 | P2 | P3
|
|
90
|
+
|
|
91
|
+
**Acceptance Criteria**:
|
|
92
|
+
|
|
93
|
+
- [ ] **AC-001**: {Specific, testable criterion}
|
|
94
|
+
- [ ] **AC-002**: {Specific, testable criterion}
|
|
95
|
+
- [ ] **AC-003**: {Specific, testable criterion}
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### US-003: {User Story Title}
|
|
100
|
+
|
|
101
|
+
{Continue with additional user stories as needed}
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 3. Design & Mockups
|
|
106
|
+
|
|
107
|
+
### 3.1 User Flow Diagram
|
|
108
|
+
|
|
109
|
+
```mermaid
|
|
110
|
+
flowchart TD
|
|
111
|
+
A[User Entry Point] --> B{Condition?}
|
|
112
|
+
B -->|Yes| C[Action 1]
|
|
113
|
+
B -->|No| D[Action 2]
|
|
114
|
+
C --> E[Result]
|
|
115
|
+
D --> E
|
|
116
|
+
E --> F[End State]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Description:**
|
|
120
|
+
{Explain the user flow in detail}
|
|
121
|
+
|
|
122
|
+
### 3.2 User Interface Design
|
|
123
|
+
|
|
124
|
+
<!--
|
|
125
|
+
NOTE: This section can include AI-generated mockups for complex UI flows.
|
|
126
|
+
Use the ux-ui-designer agent's MockupGenerator to create visual mockups when:
|
|
127
|
+
- The UI flow is complex (multi-step processes, dashboards)
|
|
128
|
+
- The interaction pattern is novel or hard to describe in text
|
|
129
|
+
- Specific layout/spacing requirements need visualization
|
|
130
|
+
- User explicitly requests visual mockups
|
|
131
|
+
|
|
132
|
+
Always include a descriptive caption explaining what the mockup shows.
|
|
133
|
+
Failed mockup generation should NOT block PDR creation - fall back to text wireframes.
|
|
134
|
+
-->
|
|
135
|
+
|
|
136
|
+
#### {Screen/Feature Name}
|
|
137
|
+
|
|
138
|
+
<!-- EXAMPLE: AI-Generated Mockup Reference -->
|
|
139
|
+
|
|
140
|
+

|
|
141
|
+
*Desktop mockup showing {brief description of what's in the mockup}. {Key design decisions or highlights}.*
|
|
142
|
+
|
|
143
|
+
**Key Elements:**
|
|
144
|
+
|
|
145
|
+
- **{Section 1}**: {Description and purpose}
|
|
146
|
+
- **{Section 2}**: {Description and purpose}
|
|
147
|
+
- **{Section 3}**: {Description and purpose}
|
|
148
|
+
|
|
149
|
+
**Interaction Flow:**
|
|
150
|
+
|
|
151
|
+
1. {Step 1 and what happens}
|
|
152
|
+
2. {Step 2 and what happens}
|
|
153
|
+
3. {Step 3 and what happens}
|
|
154
|
+
|
|
155
|
+
<!-- EXAMPLE: Mobile Variant -->
|
|
156
|
+
|
|
157
|
+

|
|
158
|
+
*Mobile-optimized version with {responsive adaptations}. Touch-friendly targets (minimum 44x44px).*
|
|
159
|
+
|
|
160
|
+
**Mobile-Specific Adaptations:**
|
|
161
|
+
|
|
162
|
+
- {Adaptation 1}
|
|
163
|
+
- {Adaptation 2}
|
|
164
|
+
- {Adaptation 3}
|
|
165
|
+
|
|
166
|
+
<!-- Alternative: Text-based wireframe if mockup not needed -->
|
|
167
|
+
|
|
168
|
+
#### Desktop View
|
|
169
|
+
|
|
170
|
+
- **Location**: {Link to Figma/image or describe}
|
|
171
|
+
- **Key Elements**:
|
|
172
|
+
- {Element 1 and its purpose}
|
|
173
|
+
- {Element 2 and its purpose}
|
|
174
|
+
- {Element 3 and its purpose}
|
|
175
|
+
|
|
176
|
+
#### Tablet View
|
|
177
|
+
|
|
178
|
+
- **Location**: {Link to Figma/image or describe}
|
|
179
|
+
- **Responsive Changes**:
|
|
180
|
+
- {Change 1}
|
|
181
|
+
- {Change 2}
|
|
182
|
+
|
|
183
|
+
#### Mobile View
|
|
184
|
+
|
|
185
|
+
- **Location**: {Link to Figma/image or describe}
|
|
186
|
+
- **Mobile-Specific Features**:
|
|
187
|
+
- {Feature 1}
|
|
188
|
+
- {Feature 2}
|
|
189
|
+
|
|
190
|
+
### 3.3 Component Specifications
|
|
191
|
+
|
|
192
|
+
<!--
|
|
193
|
+
NOTE: For complex custom components, consider generating a mockup to show:
|
|
194
|
+
- Exact layout and spacing
|
|
195
|
+
- Different states (default, hover, active, disabled, error, loading)
|
|
196
|
+
- Responsive behavior across breakpoints
|
|
197
|
+
|
|
198
|
+
Simple standard components (buttons, inputs) don't need mockups.
|
|
199
|
+
-->
|
|
200
|
+
|
|
201
|
+
#### {Screen/Component Name}
|
|
202
|
+
|
|
203
|
+
<!-- EXAMPLE: Component with visual mockup -->
|
|
204
|
+
|
|
205
|
+

|
|
206
|
+
*Component mockup showing all interactive states: default, hover, active, disabled, error, and loading.*
|
|
207
|
+
|
|
208
|
+
- **Location**: {Link to mockup or Figma}
|
|
209
|
+
- **Description**: {What this component does}
|
|
210
|
+
- **States**:
|
|
211
|
+
- **Default**: {Appearance and behavior}
|
|
212
|
+
- **Hover**: {Visual feedback}
|
|
213
|
+
- **Active/Focus**: {Visual feedback}
|
|
214
|
+
- **Disabled**: {Appearance}
|
|
215
|
+
- **Error**: {Error indication}
|
|
216
|
+
- **Loading**: {Loading state}
|
|
217
|
+
- **Interactive Elements**:
|
|
218
|
+
- {Element 1}: {Behavior}
|
|
219
|
+
- {Element 2}: {Behavior}
|
|
220
|
+
- {Element 3}: {Behavior}
|
|
221
|
+
|
|
222
|
+
<!-- Alternative: Text-based specification -->
|
|
223
|
+
|
|
224
|
+
#### Component 2: {Component Name}
|
|
225
|
+
|
|
226
|
+
{Continue with additional components/screens}
|
|
227
|
+
|
|
228
|
+
**Mockup Usage Guidelines:**
|
|
229
|
+
|
|
230
|
+
- **When to include mockups**: Complex flows, novel patterns, specific layout requirements, user request
|
|
231
|
+
- **When to skip mockups**: Simple layouts, standard components, unclear requirements
|
|
232
|
+
- **Caption format**: `` + italic caption
|
|
233
|
+
- **File location**: `./mockups/` folder in session directory
|
|
234
|
+
- **Naming convention**: `{feature}-{device}-YYYYMMDD-HHMMSS.png`
|
|
235
|
+
- **Cost awareness**: Use judiciously (2-4 key mockups per feature, flux-schnell model default)
|
|
236
|
+
- **Fallback**: Always have text wireframes as backup if generation fails
|
|
237
|
+
|
|
238
|
+
### 3.4 UI Components
|
|
239
|
+
|
|
240
|
+
| Component | Description | Behavior | States |
|
|
241
|
+
|-----------|-------------|----------|--------|
|
|
242
|
+
| {Component Name} | {What it displays} | {How it behaves} | Default, Hover, Active, Disabled, Error |
|
|
243
|
+
| {Component Name} | {What it displays} | {How it behaves} | Default, Loading, Success, Error |
|
|
244
|
+
|
|
245
|
+
**Component Details:**
|
|
246
|
+
|
|
247
|
+
- **Component 1**: {Detailed description, props, variants}
|
|
248
|
+
- **Component 2**: {Detailed description, props, variants}
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 4. Technical Constraints
|
|
253
|
+
|
|
254
|
+
### 4.1 Performance Requirements
|
|
255
|
+
|
|
256
|
+
**Page Load Time:**
|
|
257
|
+
|
|
258
|
+
- Desktop: < {X} seconds
|
|
259
|
+
- Mobile: < {Y} seconds
|
|
260
|
+
|
|
261
|
+
**API Response Time:**
|
|
262
|
+
|
|
263
|
+
- Critical endpoints: < {X} ms
|
|
264
|
+
- Standard endpoints: < {Y} ms
|
|
265
|
+
|
|
266
|
+
**Database Query Time:**
|
|
267
|
+
|
|
268
|
+
- Simple queries: < {X} ms
|
|
269
|
+
- Complex queries: < {Y} ms
|
|
270
|
+
|
|
271
|
+
**Bundle Size:**
|
|
272
|
+
|
|
273
|
+
- JavaScript: < {X} KB
|
|
274
|
+
- CSS: < {Y} KB
|
|
275
|
+
|
|
276
|
+
**Other Performance Metrics:**
|
|
277
|
+
|
|
278
|
+
- {Metric 1}: {Target}
|
|
279
|
+
- {Metric 2}: {Target}
|
|
280
|
+
|
|
281
|
+
### 4.2 Security Requirements
|
|
282
|
+
|
|
283
|
+
**Authentication:**
|
|
284
|
+
|
|
285
|
+
- Required: Yes | No
|
|
286
|
+
- Level: {Public | User | Admin | Custom}
|
|
287
|
+
- Provider: {Clerk | Custom}
|
|
288
|
+
|
|
289
|
+
**Authorization:**
|
|
290
|
+
|
|
291
|
+
- Who can access: {Roles/permissions}
|
|
292
|
+
- Who can modify: {Roles/permissions}
|
|
293
|
+
- Who can delete: {Roles/permissions}
|
|
294
|
+
|
|
295
|
+
**Data Privacy:**
|
|
296
|
+
|
|
297
|
+
- PII involved: Yes | No
|
|
298
|
+
- Data classification: Public | Internal | Confidential | Restricted
|
|
299
|
+
- Compliance: {GDPR | CCPA | etc. if applicable}
|
|
300
|
+
- Encryption: {At rest | In transit | Both}
|
|
301
|
+
|
|
302
|
+
**Input Validation:**
|
|
303
|
+
|
|
304
|
+
- Client-side: {Required validations}
|
|
305
|
+
- Server-side: {Required validations}
|
|
306
|
+
- Sanitization: {XSS | SQL Injection | etc.}
|
|
307
|
+
|
|
308
|
+
**Rate Limiting:**
|
|
309
|
+
|
|
310
|
+
- API calls: {X} requests per {time period}
|
|
311
|
+
- User actions: {Y} actions per {time period}
|
|
312
|
+
|
|
313
|
+
### 4.3 Accessibility Requirements
|
|
314
|
+
|
|
315
|
+
**WCAG Level**: A | AA | AAA
|
|
316
|
+
|
|
317
|
+
**Required Support:**
|
|
318
|
+
|
|
319
|
+
- [ ] Keyboard navigation (Tab, Enter, Esc, Arrow keys)
|
|
320
|
+
- [ ] Screen reader compatibility (NVDA, JAWS, VoiceOver)
|
|
321
|
+
- [ ] Focus indicators visible
|
|
322
|
+
- [ ] Color contrast ratio ≥ 4.5:1 (AA) or ≥ 7:1 (AAA)
|
|
323
|
+
- [ ] Alt text for all images
|
|
324
|
+
- [ ] ARIA labels where needed
|
|
325
|
+
- [ ] Form labels properly associated
|
|
326
|
+
- [ ] Error messages accessible
|
|
327
|
+
|
|
328
|
+
**Exceptions:**
|
|
329
|
+
{Any exceptions and justification}
|
|
330
|
+
|
|
331
|
+
### 4.4 Browser/Device Support
|
|
332
|
+
|
|
333
|
+
**Desktop Browsers:**
|
|
334
|
+
|
|
335
|
+
- Chrome: {Minimum version}
|
|
336
|
+
- Firefox: {Minimum version}
|
|
337
|
+
- Safari: {Minimum version}
|
|
338
|
+
- Edge: {Minimum version}
|
|
339
|
+
|
|
340
|
+
**Mobile Devices:**
|
|
341
|
+
|
|
342
|
+
- iOS: {Minimum version}
|
|
343
|
+
- Android: {Minimum version}
|
|
344
|
+
|
|
345
|
+
**Screen Sizes:**
|
|
346
|
+
|
|
347
|
+
- Mobile: 320px - 767px
|
|
348
|
+
- Tablet: 768px - 1023px
|
|
349
|
+
- Desktop: 1024px+
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 5. Dependencies & Integrations
|
|
354
|
+
|
|
355
|
+
### 5.1 Internal Dependencies
|
|
356
|
+
|
|
357
|
+
| Package/Service | Version | Why Needed | Impact if Unavailable |
|
|
358
|
+
|----------------|---------|------------|----------------------|
|
|
359
|
+
| @repo/db | {version} | {reason} | {impact} |
|
|
360
|
+
| @repo/schemas | {version} | {reason} | {impact} |
|
|
361
|
+
| {service} | {version} | {reason} | {impact} |
|
|
362
|
+
|
|
363
|
+
### 5.2 External Dependencies
|
|
364
|
+
|
|
365
|
+
| Service/API | Version | Why Needed | Rate Limits | Fallback |
|
|
366
|
+
|-------------|---------|------------|-------------|----------|
|
|
367
|
+
| {API name} | {version} | {reason} | {limits} | {fallback plan} |
|
|
368
|
+
| {Service} | {version} | {reason} | {limits} | {fallback plan} |
|
|
369
|
+
|
|
370
|
+
### 5.3 New Dependencies
|
|
371
|
+
|
|
372
|
+
**Packages to Add:**
|
|
373
|
+
|
|
374
|
+
- {package-name}: {version} - {reason} - {bundle size impact}
|
|
375
|
+
|
|
376
|
+
**Justification:**
|
|
377
|
+
{Why these dependencies are necessary and alternatives considered}
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## 6. Risks & Mitigations
|
|
382
|
+
|
|
383
|
+
| Risk | Impact | Probability | Mitigation Strategy | Owner |
|
|
384
|
+
|------|--------|-------------|-------------------|-------|
|
|
385
|
+
| {Risk description} | High/Med/Low | High/Med/Low | {How we'll handle it} | {Who} |
|
|
386
|
+
| {Database performance degradation} | High | Medium | {Add indexes, optimize queries, implement caching} | {DB Engineer} |
|
|
387
|
+
| {Third-party API unavailable} | High | Low | {Implement retry logic, fallback service, graceful degradation} | {Backend Dev} |
|
|
388
|
+
|
|
389
|
+
**Risk Details:**
|
|
390
|
+
|
|
391
|
+
### Risk 1: {Risk Name}
|
|
392
|
+
|
|
393
|
+
- **Description**: {Detailed description}
|
|
394
|
+
- **Impact if occurs**: {What happens}
|
|
395
|
+
- **Mitigation**: {Specific steps}
|
|
396
|
+
- **Monitoring**: {How we'll detect it}
|
|
397
|
+
|
|
398
|
+
### Risk 2: {Risk Name}
|
|
399
|
+
|
|
400
|
+
{Continue with additional risks}
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 7. Out of Scope / Future Work
|
|
405
|
+
|
|
406
|
+
**Explicitly Out of Scope:**
|
|
407
|
+
|
|
408
|
+
- {Feature/improvement for later - reason why}
|
|
409
|
+
- {Feature/improvement for later - reason why}
|
|
410
|
+
|
|
411
|
+
**Future Enhancements:**
|
|
412
|
+
|
|
413
|
+
- {Enhancement 1 - when we might do it}
|
|
414
|
+
- {Enhancement 2 - when we might do it}
|
|
415
|
+
|
|
416
|
+
**Technical Debt Created:**
|
|
417
|
+
|
|
418
|
+
- {Known debt item 1 - plan to address}
|
|
419
|
+
- {Known debt item 2 - plan to address}
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 8. Testing Strategy
|
|
424
|
+
|
|
425
|
+
### 8.1 Test Coverage Requirements
|
|
426
|
+
|
|
427
|
+
- Unit tests: 90%+ coverage
|
|
428
|
+
- Integration tests: Critical paths
|
|
429
|
+
- E2E tests: Main user flows
|
|
430
|
+
|
|
431
|
+
### 8.2 Test Scenarios
|
|
432
|
+
|
|
433
|
+
**Unit Tests:**
|
|
434
|
+
|
|
435
|
+
- {Scenario 1}
|
|
436
|
+
- {Scenario 2}
|
|
437
|
+
|
|
438
|
+
**Integration Tests:**
|
|
439
|
+
|
|
440
|
+
- {Scenario 1}
|
|
441
|
+
- {Scenario 2}
|
|
442
|
+
|
|
443
|
+
**E2E Tests:**
|
|
444
|
+
|
|
445
|
+
- {User flow 1}
|
|
446
|
+
- {User flow 2}
|
|
447
|
+
|
|
448
|
+
### 8.3 Performance Testing
|
|
449
|
+
|
|
450
|
+
- Load test: {X} concurrent users
|
|
451
|
+
- Stress test: {Y} concurrent users
|
|
452
|
+
- Endurance test: {Z} hours
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## 9. Documentation Requirements
|
|
457
|
+
|
|
458
|
+
**Documentation to Create/Update:**
|
|
459
|
+
|
|
460
|
+
- [ ] API documentation (OpenAPI)
|
|
461
|
+
- [ ] Component usage guide
|
|
462
|
+
- [ ] User guide (if user-facing)
|
|
463
|
+
- [ ] Deployment guide (if infrastructure changes)
|
|
464
|
+
- [ ] Architecture decision record (if architectural changes)
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## 10. Deployment Plan
|
|
469
|
+
|
|
470
|
+
**Deployment Type**: Big Bang | Phased Rollout | Feature Flag | Blue-Green
|
|
471
|
+
|
|
472
|
+
**Rollout Plan:**
|
|
473
|
+
|
|
474
|
+
1. {Step 1}
|
|
475
|
+
2. {Step 2}
|
|
476
|
+
3. {Step 3}
|
|
477
|
+
|
|
478
|
+
**Rollback Plan:**
|
|
479
|
+
|
|
480
|
+
- Trigger: {What indicates we need to rollback}
|
|
481
|
+
- Steps: {How to rollback}
|
|
482
|
+
- Data: {How to handle data created during deployment}
|
|
483
|
+
|
|
484
|
+
**Feature Flags:**
|
|
485
|
+
|
|
486
|
+
- {Flag name}: {Purpose}
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
## 11. Related Documents
|
|
491
|
+
|
|
492
|
+
**Planning Documents:**
|
|
493
|
+
|
|
494
|
+
- [Technical Analysis](./tech-analysis.md) - Technical implementation details
|
|
495
|
+
- [TODOs & Progress](./TODOs.md) - Task breakdown and progress tracking
|
|
496
|
+
|
|
497
|
+
**Design Documents:**
|
|
498
|
+
|
|
499
|
+
- Mockups: {Link to Figma/design tool}
|
|
500
|
+
- User flows: {Link to diagrams}
|
|
501
|
+
- Wireframes: {Link to wireframes}
|
|
502
|
+
|
|
503
|
+
**Technical Documents:**
|
|
504
|
+
|
|
505
|
+
- Architecture decisions: {Link if applicable}
|
|
506
|
+
- API specifications: {Link if applicable}
|
|
507
|
+
|
|
508
|
+
**External References:**
|
|
509
|
+
|
|
510
|
+
- {Reference 1}
|
|
511
|
+
- {Reference 2}
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
## 12. Stakeholder Sign-Off
|
|
516
|
+
|
|
517
|
+
| Role | Name | Status | Date | Comments |
|
|
518
|
+
|------|------|--------|------|----------|
|
|
519
|
+
| Product Owner | {Name} | Pending/Approved | YYYY-MM-DD | {Comments} |
|
|
520
|
+
| Tech Lead | {Name} | Pending/Approved | YYYY-MM-DD | {Comments} |
|
|
521
|
+
| UX Designer | {Name} | Pending/Approved | YYYY-MM-DD | {Comments} |
|
|
522
|
+
| Security | {Name} | Pending/Approved | YYYY-MM-DD | {Comments} |
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## 13. Changelog
|
|
527
|
+
|
|
528
|
+
| Date | Author | Changes | Version |
|
|
529
|
+
|------|--------|---------|---------|
|
|
530
|
+
| YYYY-MM-DD | {Name} | Initial draft | 0.1 |
|
|
531
|
+
| YYYY-MM-DD | {Name} | Added acceptance criteria | 0.2 |
|
|
532
|
+
| YYYY-MM-DD | {Name} | Updated mockups | 0.3 |
|
|
533
|
+
| YYYY-MM-DD | {Name} | Approved for implementation | 1.0 |
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## 14. Questions & Answers
|
|
538
|
+
|
|
539
|
+
**Q1**: {Question}
|
|
540
|
+
**A1**: {Answer} - {Date} - {Who answered}
|
|
541
|
+
|
|
542
|
+
**Q2**: {Question}
|
|
543
|
+
**A2**: {Answer} - {Date} - {Who answered}
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## Notes
|
|
548
|
+
|
|
549
|
+
**General Notes:**
|
|
550
|
+
{Any additional context, decisions, or information that doesn't fit elsewhere}
|
|
551
|
+
|
|
552
|
+
**Meeting Notes:**
|
|
553
|
+
|
|
554
|
+
- {Date}: {Key decisions from meeting}
|
|
555
|
+
- {Date}: {Key decisions from meeting}
|
|
556
|
+
|
|
557
|
+
---
|
|
558
|
+
|
|
559
|
+
**Status**: This PDR is {Draft/In Review/Approved/In Progress/Completed}
|
|
560
|
+
**Next Actions**: {What needs to happen next}
|
|
561
|
+
**Owner**: {Who is responsible for next steps}
|