@aslomon/effectum 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/README.md +633 -0
- package/bin/install.js +652 -0
- package/package.json +29 -0
- package/system/README.md +118 -0
- package/system/commands/build-fix.md +89 -0
- package/system/commands/cancel-ralph.md +90 -0
- package/system/commands/checkpoint.md +63 -0
- package/system/commands/code-review.md +120 -0
- package/system/commands/e2e.md +92 -0
- package/system/commands/plan.md +111 -0
- package/system/commands/ralph-loop.md +163 -0
- package/system/commands/refactor-clean.md +104 -0
- package/system/commands/tdd.md +84 -0
- package/system/commands/verify.md +71 -0
- package/system/stacks/generic.md +96 -0
- package/system/stacks/nextjs-supabase.md +114 -0
- package/system/stacks/python-fastapi.md +140 -0
- package/system/stacks/swift-ios.md +136 -0
- package/system/templates/AUTONOMOUS-WORKFLOW.md +1368 -0
- package/system/templates/CLAUDE.md.tmpl +141 -0
- package/system/templates/guardrails.md.tmpl +39 -0
- package/system/templates/settings.json.tmpl +201 -0
- package/workshop/knowledge/01-prd-template.md +275 -0
- package/workshop/knowledge/02-questioning-framework.md +209 -0
- package/workshop/knowledge/03-decomposition-guide.md +234 -0
- package/workshop/knowledge/04-examples.md +435 -0
- package/workshop/knowledge/05-quality-checklist.md +166 -0
- package/workshop/knowledge/06-network-map-guide.md +413 -0
- package/workshop/knowledge/07-prompt-templates.md +315 -0
- package/workshop/knowledge/08-workflow-modes.md +198 -0
- package/workshop/projects/_example-project/PROJECT.md +33 -0
- package/workshop/projects/_example-project/notes/decisions.md +15 -0
- package/workshop/projects/_example-project/notes/discovery-log.md +9 -0
- package/workshop/templates/PROJECT.md +25 -0
- package/workshop/templates/network-map.mmd +13 -0
- package/workshop/templates/prd.md +133 -0
- package/workshop/templates/requirements-map.md +48 -0
- package/workshop/templates/shared-contracts.md +89 -0
- package/workshop/templates/vision.md +66 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Questioning Framework — PRD Discovery
|
|
2
|
+
|
|
3
|
+
Structured question progression for extracting requirements from a vague idea to a production-ready PRD.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Principles
|
|
8
|
+
|
|
9
|
+
1. **Batch questions** — max 4-5 per round, thematically grouped
|
|
10
|
+
2. **Summarize after each round** — let the user correct misunderstandings
|
|
11
|
+
3. **Accept short answers** — "yes", "standard", "you decide" are valid responses
|
|
12
|
+
4. **Mark uncertainty** — use [ASSUMPTION] and [NEEDS CLARIFICATION] instead of silent guesses
|
|
13
|
+
5. **Adapt depth to project size** — skip rounds for simple features, go deeper for complex projects
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Phase 1: Vision & Problem Discovery
|
|
18
|
+
|
|
19
|
+
### Round 1 — The Foundation (always ask)
|
|
20
|
+
|
|
21
|
+
1. **What are you building?** Describe it in 1-2 sentences.
|
|
22
|
+
2. **What problem does it solve?** Who suffers from this problem today?
|
|
23
|
+
3. **How is this problem solved today?** (Workarounds, competitors, manual processes)
|
|
24
|
+
4. **Why now?** What makes this the right time? (Market timing, strategic context, dependency unblocked)
|
|
25
|
+
|
|
26
|
+
### Round 2 — Depth (always ask)
|
|
27
|
+
|
|
28
|
+
5. **Who are the primary users?** Describe concrete personas, not "everyone".
|
|
29
|
+
6. **What is the cost of inaction?** What happens if you do NOT build this?
|
|
30
|
+
7. **Greenfield or brownfield?** Is there existing code, an existing product, or starting from scratch?
|
|
31
|
+
8. **Tech stack?** What technology is used or preferred? (Framework, database, hosting, etc.)
|
|
32
|
+
|
|
33
|
+
### Round 3 — Constraints (ask if project is non-trivial)
|
|
34
|
+
|
|
35
|
+
9. **Timeline or budget constraints?**
|
|
36
|
+
10. **Regulatory or compliance requirements?** (GDPR, accessibility, industry-specific)
|
|
37
|
+
11. **Dependencies on external systems or teams?**
|
|
38
|
+
12. **Known technical risks or uncertainties?**
|
|
39
|
+
|
|
40
|
+
### After Round 1-3: Vision Summary
|
|
41
|
+
|
|
42
|
+
Present a structured summary:
|
|
43
|
+
|
|
44
|
+
- Problem Statement (2-3 sentences)
|
|
45
|
+
- Target Users (personas)
|
|
46
|
+
- Proposed Solution (high-level)
|
|
47
|
+
- Tech Stack
|
|
48
|
+
- Key Constraints
|
|
49
|
+
- [ASSUMPTION] list
|
|
50
|
+
- [NEEDS CLARIFICATION] list
|
|
51
|
+
|
|
52
|
+
Let the user validate and correct.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Phase 2: Scope Definition
|
|
57
|
+
|
|
58
|
+
### Round 4 — Feature Sorting
|
|
59
|
+
|
|
60
|
+
Present all identified features/capabilities and ask the user to sort:
|
|
61
|
+
|
|
62
|
+
13. **v1 (Must-have):** What absolutely must be in the first release?
|
|
63
|
+
14. **v2 (Nice-to-have):** What can wait for a later iteration?
|
|
64
|
+
15. **Out-of-scope:** What should explicitly NOT be built?
|
|
65
|
+
16. **Non-Goals:** What could someone reasonably expect to be included, but is intentionally excluded? (These prevent scope creep)
|
|
66
|
+
|
|
67
|
+
### Round 5 — Assumptions & Open Questions
|
|
68
|
+
|
|
69
|
+
17. **Review assumptions:** Present all [ASSUMPTION] items and ask: "Are these correct?"
|
|
70
|
+
18. **Review open questions:** Present all [NEEDS CLARIFICATION] items and ask: "Can you clarify these?"
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Phase 3: Decomposition Check
|
|
75
|
+
|
|
76
|
+
### Round 6 — Project Size Assessment (ask if project has 8+ features)
|
|
77
|
+
|
|
78
|
+
19. **Independent user groups?** Do different user types have completely different journeys? (If yes → separate PRDs)
|
|
79
|
+
20. **Independent domains?** Can you identify bounded contexts that have no shared data? (If yes → separate PRDs)
|
|
80
|
+
21. **Phased delivery?** Are there natural milestones where value can be delivered incrementally? (If yes → PRDs per phase)
|
|
81
|
+
|
|
82
|
+
If multiple PRDs are needed, create:
|
|
83
|
+
|
|
84
|
+
- Project Vision Document (artifact)
|
|
85
|
+
- Requirements Map with PRD assignments (artifact)
|
|
86
|
+
- Dependency Graph between PRDs (artifact)
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Phase 4: Discuss (per PRD)
|
|
91
|
+
|
|
92
|
+
### Feature-Type Detection
|
|
93
|
+
|
|
94
|
+
Identify the primary type of the feature and ask type-specific questions:
|
|
95
|
+
|
|
96
|
+
### For Visual/UI Features
|
|
97
|
+
|
|
98
|
+
22. **Layout:** Cards, list, table, grid? Dense or spacious?
|
|
99
|
+
23. **Interactions:** Modals, inline editing, drag-and-drop, keyboard shortcuts?
|
|
100
|
+
24. **States:** What does the empty state look like? Loading state? Error state?
|
|
101
|
+
25. **Responsive:** Mobile-first? Key breakpoints? What changes on mobile?
|
|
102
|
+
26. **Existing patterns:** Should this match existing UI patterns in the project? Which ones?
|
|
103
|
+
|
|
104
|
+
### For APIs/Backend Features
|
|
105
|
+
|
|
106
|
+
22. **Response format:** JSON structure? Pagination style? (offset, cursor, keyset)
|
|
107
|
+
23. **Error handling:** Error response format? Specific error codes? User-facing messages?
|
|
108
|
+
24. **Authentication:** Which auth method? Role-based access?
|
|
109
|
+
25. **Rate limiting:** Requests per minute/hour? Per user or per API key?
|
|
110
|
+
26. **Idempotency:** Which operations must be idempotent?
|
|
111
|
+
|
|
112
|
+
### For Data/Content Features
|
|
113
|
+
|
|
114
|
+
22. **Data structure:** Hierarchical, flat, graph? Nesting depth?
|
|
115
|
+
23. **Validation rules:** Field-level constraints? Cross-field validations?
|
|
116
|
+
24. **Migration strategy:** How to handle existing data? Backfill needed?
|
|
117
|
+
25. **Retention:** Data lifecycle? Soft delete or hard delete?
|
|
118
|
+
|
|
119
|
+
### For Integration Features
|
|
120
|
+
|
|
121
|
+
22. **External API:** Which API version? Authentication method? Rate limits?
|
|
122
|
+
23. **Error recovery:** Retry strategy? Circuit breaker? Fallback behavior?
|
|
123
|
+
24. **Data mapping:** How do external data models map to internal ones?
|
|
124
|
+
25. **Sync strategy:** Real-time (webhooks), polling, or batch?
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Phase 5: Requirements Deep-Dive (per PRD)
|
|
129
|
+
|
|
130
|
+
### Round 7 — User Stories
|
|
131
|
+
|
|
132
|
+
Frame each story using Jobs-to-be-Done:
|
|
133
|
+
|
|
134
|
+
27. **For each user persona:** What is the main job they are trying to accomplish?
|
|
135
|
+
28. **Happy path:** What does the ideal flow look like, step by step?
|
|
136
|
+
29. **Edge cases:** What happens when [unusual input / missing data / concurrent access / timeout]?
|
|
137
|
+
30. **Error recovery:** When something goes wrong, how does the user get back on track?
|
|
138
|
+
|
|
139
|
+
### Round 8 — Data Model
|
|
140
|
+
|
|
141
|
+
31. **Core entities:** What are the main data objects? What are their relationships?
|
|
142
|
+
32. **Multi-tenancy:** Is tenant/org isolation needed? (If yes, org_id on every table)
|
|
143
|
+
33. **Audit trail:** Do changes need to be tracked? (created_at, updated_at, created_by)
|
|
144
|
+
34. **Soft delete:** Should records be deletable? Soft or hard delete?
|
|
145
|
+
35. **Access control:** Who can see/edit/delete what? (RLS policy requirements)
|
|
146
|
+
|
|
147
|
+
### Round 9 — API Design
|
|
148
|
+
|
|
149
|
+
36. **Endpoints:** List the CRUD operations needed. Any non-standard operations?
|
|
150
|
+
37. **Request/Response shapes:** Suggest shapes and ask: "Does this match your expectation?"
|
|
151
|
+
38. **Validation:** Which fields are required? Max lengths? Allowed formats?
|
|
152
|
+
39. **Versioning:** Is API versioning needed?
|
|
153
|
+
|
|
154
|
+
### Round 10 — Non-Functional Requirements
|
|
155
|
+
|
|
156
|
+
40. **Performance:** Expected response time? Concurrent users?
|
|
157
|
+
41. **Scalability:** Expected data volume? Growth rate?
|
|
158
|
+
42. **Security:** Beyond standard auth — any specific requirements?
|
|
159
|
+
43. **Accessibility:** WCAG level? Keyboard navigation? Screen reader support?
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Phase 6: Verification Questions
|
|
164
|
+
|
|
165
|
+
After the PRD draft is complete, verify with these meta-questions:
|
|
166
|
+
|
|
167
|
+
44. **Testability:** "Can every acceptance criterion be verified by an automated test?"
|
|
168
|
+
45. **Completeness:** "Is anything missing that a developer would need to ask about?"
|
|
169
|
+
46. **Boundaries:** "Is it clear what is NOT being built?"
|
|
170
|
+
47. **Dependencies:** "Are all dependencies on other systems/features documented?"
|
|
171
|
+
48. **Success:** "How will you know this feature is successful after launch?"
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Adaptation Guide
|
|
176
|
+
|
|
177
|
+
### For Tiny Features (1-3 AC)
|
|
178
|
+
|
|
179
|
+
- Skip Phase 3 (Decomposition)
|
|
180
|
+
- Compress Phase 4 (Discuss) to 2-3 questions
|
|
181
|
+
- Skip Non-Functional Requirements unless relevant
|
|
182
|
+
- Total: ~12-15 questions
|
|
183
|
+
|
|
184
|
+
### For Standard Features (4-8 AC)
|
|
185
|
+
|
|
186
|
+
- Full Phase 1-2
|
|
187
|
+
- Quick Phase 3 check
|
|
188
|
+
- Full Phase 4-5
|
|
189
|
+
- Total: ~25-30 questions
|
|
190
|
+
|
|
191
|
+
### For Large Projects (9+ AC, multiple PRDs)
|
|
192
|
+
|
|
193
|
+
- Full all phases
|
|
194
|
+
- Multiple rounds in Phase 4-5
|
|
195
|
+
- Explicit Decomposition with Vision Document
|
|
196
|
+
- Total: ~35-45 questions across multiple sessions
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Anti-Patterns to Avoid
|
|
201
|
+
|
|
202
|
+
1. **Asking all questions at once** — overwhelms the user, produces shallow answers
|
|
203
|
+
2. **Accepting "it should be user-friendly"** — push for concrete criteria (what does friendly mean HERE?)
|
|
204
|
+
3. **Skipping Non-Goals** — the most common cause of scope creep
|
|
205
|
+
4. **Assuming technical details** — always ask about stack, patterns, and constraints
|
|
206
|
+
5. **Writing the PRD before understanding the problem** — resist the urge to jump to solutions
|
|
207
|
+
6. **Over-specifying implementation** — describe WHAT, not HOW (unless the user has strong opinions)
|
|
208
|
+
7. **Ignoring edge cases** — "what happens when..." questions reveal most requirements
|
|
209
|
+
8. **Single-perspective thinking** — consider engineer, executive, and end-user perspectives
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# Project Decomposition Guide
|
|
2
|
+
|
|
3
|
+
When and how to split a large project into multiple PRDs.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to Split
|
|
8
|
+
|
|
9
|
+
A project needs multiple PRDs when ANY of these signals are present:
|
|
10
|
+
|
|
11
|
+
| Signal | Threshold | Example |
|
|
12
|
+
| ------------------------- | ------------------------------- | ------------------------------------------------------------ |
|
|
13
|
+
| Acceptance Criteria count | > 8-10 for v1 | 15 ACs across auth, billing, and dashboard |
|
|
14
|
+
| Independent user journeys | 2+ distinct user types | Admin flow vs. end-user flow |
|
|
15
|
+
| Bounded contexts | 2+ domains with own data | Auth (users, sessions) vs. Billing (invoices, subscriptions) |
|
|
16
|
+
| Phased delivery | Natural milestones | "Auth must work before we build teams" |
|
|
17
|
+
| Team parallelization | 2+ teams can work independently | Frontend team + backend team + data team |
|
|
18
|
+
| Context window risk | PRD > 5 pages of core content | Agent quality degrades with oversized specs |
|
|
19
|
+
|
|
20
|
+
## When NOT to Split
|
|
21
|
+
|
|
22
|
+
- Simple CRUD features (even with 6-8 ACs) — keep in one PRD
|
|
23
|
+
- Features that share the same data model — splitting creates unnecessary API contracts
|
|
24
|
+
- Features that cannot be tested independently — keep together
|
|
25
|
+
- "Just in case" splitting — only split when there is a clear benefit
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Decomposition Strategies
|
|
30
|
+
|
|
31
|
+
### 1. Domain-Based (recommended for most projects)
|
|
32
|
+
|
|
33
|
+
Split by bounded context. Each domain gets its own PRD with its own data model.
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Project: SaaS Platform
|
|
37
|
+
├── PRD-001: Authentication & Authorization
|
|
38
|
+
│ └── users, sessions, roles, permissions
|
|
39
|
+
├── PRD-002: Team Management
|
|
40
|
+
│ └── teams, memberships, invitations
|
|
41
|
+
├── PRD-003: Billing & Subscriptions
|
|
42
|
+
│ └── plans, subscriptions, invoices, payments
|
|
43
|
+
└── PRD-004: Core Product Feature
|
|
44
|
+
└── [domain-specific tables]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Best when: Clear domain boundaries, different data models, can be developed in parallel.
|
|
48
|
+
|
|
49
|
+
### 2. User-Journey-Based
|
|
50
|
+
|
|
51
|
+
Split by complete user flow. Each PRD delivers a full vertical slice.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Project: E-Commerce
|
|
55
|
+
├── PRD-001: Product Browsing & Search
|
|
56
|
+
│ └── Browse → Search → Filter → View Product
|
|
57
|
+
├── PRD-002: Cart & Checkout
|
|
58
|
+
│ └── Add to Cart → Review → Payment → Confirmation
|
|
59
|
+
├── PRD-003: Order Management
|
|
60
|
+
│ └── View Orders → Track → Return → Refund
|
|
61
|
+
└── PRD-004: Seller Dashboard
|
|
62
|
+
└── List Products → Manage Inventory → View Sales
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Best when: Different user personas, independent flows, phased rollout.
|
|
66
|
+
|
|
67
|
+
### 3. Layer-Based (use sparingly)
|
|
68
|
+
|
|
69
|
+
Split by architecture layer. Only when teams are organized this way.
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Project: Data Pipeline
|
|
73
|
+
├── PRD-001: Data Ingestion API
|
|
74
|
+
├── PRD-002: Processing Pipeline
|
|
75
|
+
├── PRD-003: Storage & Query Layer
|
|
76
|
+
└── PRD-004: Dashboard & Reporting UI
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Best when: Specialized teams (data engineering, frontend, infrastructure). Warning: Creates integration risk — test interfaces early.
|
|
80
|
+
|
|
81
|
+
### 4. Phase-Based
|
|
82
|
+
|
|
83
|
+
Split by delivery milestone. Each phase builds on the previous.
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Project: Collaboration Tool
|
|
87
|
+
├── PRD-001: Phase 1 — Core (Users, Auth, Workspaces)
|
|
88
|
+
├── PRD-002: Phase 2 — Collaboration (Real-time, Comments, Mentions)
|
|
89
|
+
├── PRD-003: Phase 3 — Integrations (Slack, GitHub, Calendar)
|
|
90
|
+
└── PRD-004: Phase 4 — Analytics (Usage, Reporting, Exports)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Best when: Clear dependency chain, incremental value delivery, MVP-first approach.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Dependency Types Between PRDs
|
|
98
|
+
|
|
99
|
+
| Type | Symbol | Meaning | Example |
|
|
100
|
+
| --------------- | ------ | -------------------------------------- | ---------------------------------- |
|
|
101
|
+
| Finish-to-Start | A → B | B cannot start until A is complete | Auth → Team Management |
|
|
102
|
+
| Start-to-Start | A ↔ B | A and B can start simultaneously | Product Catalog ↔ Search |
|
|
103
|
+
| Shared Contract | A ⇆ B | Both use the same API or data model | Cart ⇆ Checkout (share cart model) |
|
|
104
|
+
| Milestone Gate | A ⊳ B | B Phase 2 waits for A Phase 1 approval | Core MVP ⊳ Integrations |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Output Documents for Multi-PRD Projects
|
|
109
|
+
|
|
110
|
+
### 1. Project Vision Document
|
|
111
|
+
|
|
112
|
+
One page that connects everything. Created BEFORE individual PRDs.
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
# Project Vision: [Project Name]
|
|
116
|
+
|
|
117
|
+
## Problem
|
|
118
|
+
|
|
119
|
+
[2-3 sentences: What problem are we solving?]
|
|
120
|
+
|
|
121
|
+
## Goal
|
|
122
|
+
|
|
123
|
+
[1-2 sentences: What does success look like?]
|
|
124
|
+
|
|
125
|
+
## Target Users
|
|
126
|
+
|
|
127
|
+
- [Persona 1]: [role, goal, context]
|
|
128
|
+
- [Persona 2]: [role, goal, context]
|
|
129
|
+
|
|
130
|
+
## Tech Stack
|
|
131
|
+
|
|
132
|
+
- Frontend: [framework]
|
|
133
|
+
- Backend: [framework/platform]
|
|
134
|
+
- Database: [database]
|
|
135
|
+
- Hosting: [platform]
|
|
136
|
+
- Auth: [provider]
|
|
137
|
+
|
|
138
|
+
## Constraints
|
|
139
|
+
|
|
140
|
+
- [Timeline, budget, regulatory, technical constraints]
|
|
141
|
+
|
|
142
|
+
## PRD Overview
|
|
143
|
+
|
|
144
|
+
| PRD | Name | Description | Dependencies |
|
|
145
|
+
| --- | --------------- | ------------------------------------------ | ------------- |
|
|
146
|
+
| 001 | Authentication | User registration, login, password reset | None |
|
|
147
|
+
| 002 | Team Management | Create teams, invite members, manage roles | 001 |
|
|
148
|
+
| 003 | Core Feature X | [description] | 001, 002 |
|
|
149
|
+
| 004 | Admin Dashboard | Organization settings, billing, analytics | 001, 002, 003 |
|
|
150
|
+
|
|
151
|
+
## Dependency Graph
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
001-Auth ──────► 002-Teams ──────► 004-Admin
|
|
155
|
+
│ │
|
|
156
|
+
└────────────────┴──────► 003-Core Feature
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Roadmap
|
|
161
|
+
|
|
162
|
+
| Phase | PRDs | Milestone | Estimated Effort |
|
|
163
|
+
|-------|------|-----------|-----------------|
|
|
164
|
+
| 1 | 001 | Users can register and log in | [size] |
|
|
165
|
+
| 2 | 002, 003 (parallel) | Teams and core feature functional | [size] |
|
|
166
|
+
| 3 | 004 | Admin dashboard complete | [size] |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### 2. Requirements Map
|
|
170
|
+
|
|
171
|
+
All requirements with PRD assignment and priority.
|
|
172
|
+
|
|
173
|
+
```markdown
|
|
174
|
+
# Requirements Map
|
|
175
|
+
|
|
176
|
+
## v1 (Must-Have)
|
|
177
|
+
|
|
178
|
+
| ID | Requirement | PRD | Priority |
|
|
179
|
+
| ----- | ---------------------------- | --------- | -------- |
|
|
180
|
+
| R-001 | User registration with email | 001-Auth | P0 |
|
|
181
|
+
| R-002 | Password reset flow | 001-Auth | P0 |
|
|
182
|
+
| R-003 | Team creation | 002-Teams | P0 |
|
|
183
|
+
| R-004 | Member invitation | 002-Teams | P1 |
|
|
184
|
+
| ... | ... | ... | ... |
|
|
185
|
+
|
|
186
|
+
## v2 (Nice-to-Have)
|
|
187
|
+
|
|
188
|
+
| ID | Requirement | PRD | Priority |
|
|
189
|
+
| ----- | ---------------------------- | -------- | -------- |
|
|
190
|
+
| R-010 | OAuth login (Google, GitHub) | 001-Auth | P2 |
|
|
191
|
+
| ... | ... | ... | ... |
|
|
192
|
+
|
|
193
|
+
## Out of Scope
|
|
194
|
+
|
|
195
|
+
- [Explicit list of what is NOT being built]
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 3. Shared Contracts (if PRDs share data models or APIs)
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
# Shared Contracts
|
|
202
|
+
|
|
203
|
+
## Shared Data Models
|
|
204
|
+
|
|
205
|
+
### User (owned by PRD-001, consumed by all)
|
|
206
|
+
|
|
207
|
+
| Field | Type | Used By |
|
|
208
|
+
| ------ | ---- | ------------------ |
|
|
209
|
+
| id | uuid | 001, 002, 003, 004 |
|
|
210
|
+
| email | text | 001 |
|
|
211
|
+
| org_id | uuid | 001, 002, 003, 004 |
|
|
212
|
+
|
|
213
|
+
## Shared API Contracts
|
|
214
|
+
|
|
215
|
+
### GET /api/users/me
|
|
216
|
+
|
|
217
|
+
- Owner: PRD-001
|
|
218
|
+
- Consumers: PRD-002, PRD-003, PRD-004
|
|
219
|
+
- Response shape: [define once, use everywhere]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Decomposition Checklist
|
|
225
|
+
|
|
226
|
+
Before finalizing the split:
|
|
227
|
+
|
|
228
|
+
- [ ] Each PRD can be implemented and tested independently
|
|
229
|
+
- [ ] Each PRD delivers measurable user value on its own
|
|
230
|
+
- [ ] Dependencies between PRDs are documented and minimal
|
|
231
|
+
- [ ] Shared data models and APIs are identified and assigned to an owner PRD
|
|
232
|
+
- [ ] No two PRDs modify the same database table (one owner, multiple consumers)
|
|
233
|
+
- [ ] The implementation order is clear (dependency graph has no cycles)
|
|
234
|
+
- [ ] Each PRD fits comfortably in a single AI agent context window (< 5 pages core content)
|