@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.
Files changed (39) hide show
  1. package/README.md +633 -0
  2. package/bin/install.js +652 -0
  3. package/package.json +29 -0
  4. package/system/README.md +118 -0
  5. package/system/commands/build-fix.md +89 -0
  6. package/system/commands/cancel-ralph.md +90 -0
  7. package/system/commands/checkpoint.md +63 -0
  8. package/system/commands/code-review.md +120 -0
  9. package/system/commands/e2e.md +92 -0
  10. package/system/commands/plan.md +111 -0
  11. package/system/commands/ralph-loop.md +163 -0
  12. package/system/commands/refactor-clean.md +104 -0
  13. package/system/commands/tdd.md +84 -0
  14. package/system/commands/verify.md +71 -0
  15. package/system/stacks/generic.md +96 -0
  16. package/system/stacks/nextjs-supabase.md +114 -0
  17. package/system/stacks/python-fastapi.md +140 -0
  18. package/system/stacks/swift-ios.md +136 -0
  19. package/system/templates/AUTONOMOUS-WORKFLOW.md +1368 -0
  20. package/system/templates/CLAUDE.md.tmpl +141 -0
  21. package/system/templates/guardrails.md.tmpl +39 -0
  22. package/system/templates/settings.json.tmpl +201 -0
  23. package/workshop/knowledge/01-prd-template.md +275 -0
  24. package/workshop/knowledge/02-questioning-framework.md +209 -0
  25. package/workshop/knowledge/03-decomposition-guide.md +234 -0
  26. package/workshop/knowledge/04-examples.md +435 -0
  27. package/workshop/knowledge/05-quality-checklist.md +166 -0
  28. package/workshop/knowledge/06-network-map-guide.md +413 -0
  29. package/workshop/knowledge/07-prompt-templates.md +315 -0
  30. package/workshop/knowledge/08-workflow-modes.md +198 -0
  31. package/workshop/projects/_example-project/PROJECT.md +33 -0
  32. package/workshop/projects/_example-project/notes/decisions.md +15 -0
  33. package/workshop/projects/_example-project/notes/discovery-log.md +9 -0
  34. package/workshop/templates/PROJECT.md +25 -0
  35. package/workshop/templates/network-map.mmd +13 -0
  36. package/workshop/templates/prd.md +133 -0
  37. package/workshop/templates/requirements-map.md +48 -0
  38. package/workshop/templates/shared-contracts.md +89 -0
  39. 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)