@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,413 @@
1
+ # Project Network Map Guide
2
+
3
+ The Project Network Map is a living Mermaid diagram that visualizes the entire project architecture: features, modules, data entities, connections, and dependencies. It grows with every PRD and every new insight.
4
+
5
+ ---
6
+
7
+ ## Purpose
8
+
9
+ The Network Map answers these questions at a glance:
10
+
11
+ 1. **What exists?** — All features, modules, and data entities
12
+ 2. **How does it connect?** — Dependencies, data flows, API calls, user journeys
13
+ 3. **What belongs together?** — Bounded contexts, PRD boundaries
14
+ 4. **What comes first?** — Build order based on dependencies
15
+ 5. **Where is complexity?** — Nodes with many connections = high risk, plan carefully
16
+
17
+ ---
18
+
19
+ ## Mermaid Syntax Reference
20
+
21
+ ### Basic Graph Structure
22
+
23
+ ```mermaid
24
+ graph TB
25
+ %% Direction: TB (top-bottom), LR (left-right)
26
+
27
+ %% === NODES ===
28
+ %% Rectangles for features/modules
29
+ AUTH[Authentication]
30
+ TEAMS[Team Management]
31
+ TASKS[Task CRUD]
32
+
33
+ %% Rounded for UI components
34
+ AUTH_UI(Login Page)
35
+ DASH_UI(Dashboard)
36
+
37
+ %% Cylinders for data/storage
38
+ DB_USERS[(users)]
39
+ DB_TEAMS[(teams)]
40
+
41
+ %% Hexagons for external services
42
+ SUPA{{Supabase Auth}}
43
+ EMAIL{{Email Service}}
44
+
45
+ %% Stadiums for API endpoints
46
+ API_AUTH([POST /api/auth/login])
47
+ API_TEAMS([GET /api/teams])
48
+
49
+ %% === CONNECTIONS ===
50
+ AUTH --> TEAMS
51
+ TEAMS --> TASKS
52
+ AUTH_UI --> API_AUTH
53
+ API_AUTH --> DB_USERS
54
+ SUPA --> AUTH
55
+ ```
56
+
57
+ ### Styling for Status and PRD Assignment
58
+
59
+ ```mermaid
60
+ graph TB
61
+ %% Status colors
62
+ classDef planned fill:#f3f4f6,stroke:#9ca3af,stroke-width:2px,color:#374151
63
+ classDef inProgress fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e40af
64
+ classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:2px,color:#166534
65
+
66
+ %% PRD colors (use for subgraph borders)
67
+ classDef prd001 fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
68
+ classDef prd002 fill:#e0e7ff,stroke:#6366f1,stroke-width:2px
69
+ classDef prd003 fill:#fce7f3,stroke:#ec4899,stroke-width:2px
70
+
71
+ %% Nodes with status
72
+ AUTH[Authentication]:::done
73
+ TEAMS[Team Management]:::inProgress
74
+ BILLING[Billing]:::planned
75
+
76
+ %% PRD grouping via subgraphs
77
+ subgraph PRD-001 [PRD-001: Auth & Users]
78
+ AUTH
79
+ PROFILES[User Profiles]
80
+ ROLES[Role Management]
81
+ end
82
+
83
+ subgraph PRD-002 [PRD-002: Teams]
84
+ TEAMS
85
+ INVITES[Invitations]
86
+ MEMBERS[Member Management]
87
+ end
88
+ ```
89
+
90
+ ### Connection Types
91
+
92
+ ```mermaid
93
+ graph LR
94
+ %% Solid arrow: direct dependency (A must exist before B)
95
+ A[Auth] --> B[Teams]
96
+
97
+ %% Dashed arrow: optional/soft dependency
98
+ C[Dashboard] -.-> D[Analytics]
99
+
100
+ %% Thick arrow: data flow
101
+ E[API] ==> F[(Database)]
102
+
103
+ %% Labeled connections
104
+ G[Frontend] -->|REST API| H[Backend]
105
+ I[Backend] -->|Realtime| J[WebSocket]
106
+
107
+ %% Bidirectional
108
+ K[Service A] <--> L[Service B]
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Map Evolution Stages
114
+
115
+ ### Stage 1: After Scope Definition (Phase 2)
116
+
117
+ High-level feature overview. No technical details yet.
118
+
119
+ ```mermaid
120
+ graph TB
121
+ subgraph Core
122
+ AUTH[Authentication]
123
+ PROJECTS[Projects]
124
+ TASKS[Tasks]
125
+ end
126
+
127
+ subgraph Extended
128
+ NOTIF[Notifications]
129
+ AI[AI Insights]
130
+ end
131
+
132
+ AUTH --> PROJECTS
133
+ AUTH --> TASKS
134
+ PROJECTS --> TASKS
135
+ TASKS --> NOTIF
136
+ TASKS --> AI
137
+
138
+ classDef planned fill:#f3f4f6,stroke:#9ca3af,stroke-width:2px,color:#374151
139
+ class AUTH,PROJECTS,TASKS,NOTIF,AI planned
140
+ ```
141
+
142
+ ### Stage 2: After Decomposition (Phase 3)
143
+
144
+ PRD boundaries and dependencies visible.
145
+
146
+ ```mermaid
147
+ graph TB
148
+ subgraph PRD-001 [PRD-001: Auth & Org Setup]
149
+ AUTH[Authentication]
150
+ ORG[Organizations]
151
+ MEMBERS[Member Management]
152
+ end
153
+
154
+ subgraph PRD-002 [PRD-002: Projects & Tasks]
155
+ PROJECTS[Projects]
156
+ TASKS[Tasks]
157
+ KANBAN[Kanban Board]
158
+ end
159
+
160
+ subgraph PRD-003 [PRD-003: AI Insights]
161
+ SUMMARY[Project Summary]
162
+ RISK[Risk Detection]
163
+ end
164
+
165
+ subgraph PRD-004 [PRD-004: Notifications]
166
+ NOTIF_PUSH[Push Notifications]
167
+ NOTIF_EMAIL[Email Digest]
168
+ ACTIVITY[Activity Feed]
169
+ end
170
+
171
+ %% Cross-PRD dependencies
172
+ AUTH --> PROJECTS
173
+ AUTH --> MEMBERS
174
+ ORG --> PROJECTS
175
+ PROJECTS --> TASKS
176
+ TASKS --> KANBAN
177
+ TASKS --> SUMMARY
178
+ TASKS --> RISK
179
+ TASKS --> ACTIVITY
180
+ MEMBERS --> NOTIF_PUSH
181
+
182
+ %% Build order arrows
183
+ PRD-001 --> PRD-002
184
+ PRD-002 --> PRD-003
185
+ PRD-002 --> PRD-004
186
+
187
+ classDef planned fill:#f3f4f6,stroke:#9ca3af,stroke-width:2px,color:#374151
188
+ classDef inProgress fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e40af
189
+ classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:2px,color:#166534
190
+
191
+ class AUTH,ORG,MEMBERS done
192
+ class PROJECTS,TASKS,KANBAN inProgress
193
+ class SUMMARY,RISK,NOTIF_PUSH,NOTIF_EMAIL,ACTIVITY planned
194
+ ```
195
+
196
+ ### Stage 3: After PRD Details (Phase 5)
197
+
198
+ Full technical detail: data entities, API endpoints, UI components.
199
+
200
+ ```mermaid
201
+ graph TB
202
+ subgraph PRD-001 [PRD-001: Auth & Org Setup]
203
+ direction TB
204
+
205
+ subgraph AUTH_UI [UI Layer]
206
+ LOGIN(Login Page)
207
+ REGISTER(Register Page)
208
+ SETTINGS(Org Settings)
209
+ end
210
+
211
+ subgraph AUTH_API [API Layer]
212
+ API_LOGIN([POST /api/auth/login])
213
+ API_REGISTER([POST /api/auth/register])
214
+ API_INVITE([POST /api/invitations])
215
+ end
216
+
217
+ subgraph AUTH_DATA [Data Layer]
218
+ DB_USERS[(users)]
219
+ DB_ORGS[(organizations)]
220
+ DB_MEMBERS[(memberships)]
221
+ DB_INVITES[(invitations)]
222
+ end
223
+
224
+ subgraph AUTH_EXT [External]
225
+ SUPA_AUTH{{Supabase Auth}}
226
+ EMAIL_SVC{{Email Service}}
227
+ end
228
+
229
+ LOGIN --> API_LOGIN
230
+ REGISTER --> API_REGISTER
231
+ SETTINGS --> API_INVITE
232
+ API_LOGIN --> DB_USERS
233
+ API_LOGIN --> SUPA_AUTH
234
+ API_REGISTER --> DB_USERS
235
+ API_REGISTER --> DB_ORGS
236
+ API_INVITE --> DB_INVITES
237
+ API_INVITE --> EMAIL_SVC
238
+ DB_USERS --> DB_MEMBERS
239
+ DB_ORGS --> DB_MEMBERS
240
+ end
241
+
242
+ subgraph PRD-002 [PRD-002: Projects & Tasks]
243
+ direction TB
244
+ PROJ_LIST(Project List)
245
+ TASK_BOARD(Kanban Board)
246
+ API_PROJ([CRUD /api/projects])
247
+ API_TASKS([CRUD /api/tasks])
248
+ DB_PROJ[(projects)]
249
+ DB_TASKS[(tasks)]
250
+
251
+ PROJ_LIST --> API_PROJ
252
+ TASK_BOARD --> API_TASKS
253
+ API_PROJ --> DB_PROJ
254
+ API_TASKS --> DB_TASKS
255
+ DB_PROJ --> DB_TASKS
256
+ end
257
+
258
+ %% Cross-PRD connections
259
+ DB_USERS -.->|created_by| DB_PROJ
260
+ DB_MEMBERS -.->|assignee| DB_TASKS
261
+ DB_ORGS -.->|org_id| DB_PROJ
262
+
263
+ classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:2px,color:#166534
264
+ classDef inProgress fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e40af
265
+
266
+ class LOGIN,REGISTER,SETTINGS,API_LOGIN,API_REGISTER,API_INVITE,DB_USERS,DB_ORGS,DB_MEMBERS,DB_INVITES,SUPA_AUTH,EMAIL_SVC done
267
+ class PROJ_LIST,TASK_BOARD,API_PROJ,API_TASKS,DB_PROJ,DB_TASKS inProgress
268
+ ```
269
+
270
+ ---
271
+
272
+ ## Node Type Conventions
273
+
274
+ | Shape | Mermaid Syntax | Represents | Example |
275
+ | --------- | -------------- | ------------------------ | ----------------------- |
276
+ | Rectangle | `A[text]` | Feature / Module | `AUTH[Authentication]` |
277
+ | Rounded | `A(text)` | UI Component / Page | `LOGIN(Login Page)` |
278
+ | Cylinder | `A[(text)]` | Database Table / Storage | `DB_USERS[(users)]` |
279
+ | Hexagon | `A{{text}}` | External Service | `SUPA{{Supabase Auth}}` |
280
+ | Stadium | `A([text])` | API Endpoint | `API([POST /api/auth])` |
281
+ | Diamond | `A{text}` | Decision Point | `CHECK{Has Account?}` |
282
+ | Circle | `A((text))` | Event / Trigger | `EVT((user.created))` |
283
+
284
+ ## Connection Type Conventions
285
+
286
+ | Style | Mermaid Syntax | Represents |
287
+ | ------------- | ----------------- | --------------------------------------- |
288
+ | Solid arrow | `A --> B` | Hard dependency (A must exist before B) |
289
+ | Dashed arrow | `A -.-> B` | Soft/optional dependency |
290
+ | Thick arrow | `A ==> B` | Primary data flow |
291
+ | Labeled | `A --\|label\| B` | Specific relationship type |
292
+ | Bidirectional | `A <--> B` | Two-way communication |
293
+
294
+ ## Color Conventions
295
+
296
+ | Color | Class | Meaning |
297
+ | --------------- | ------------ | ------------------------- |
298
+ | Gray (#f3f4f6) | `planned` | Not yet started |
299
+ | Blue (#dbeafe) | `inProgress` | Currently being developed |
300
+ | Green (#dcfce7) | `done` | Implemented and verified |
301
+ | Yellow border | — | PRD-001 subgraph |
302
+ | Indigo border | — | PRD-002 subgraph |
303
+ | Pink border | — | PRD-003 subgraph |
304
+
305
+ ---
306
+
307
+ ## Best Practices
308
+
309
+ 1. **Start simple, grow complex** — Stage 1 maps have 5-10 nodes. Stage 3 maps have 30-50. Never start at Stage 3.
310
+ 2. **Update after every PRD** — The map should always reflect the latest understanding.
311
+ 3. **Use subgraphs for PRD boundaries** — Makes it instantly clear which PRD owns what.
312
+ 4. **Cross-PRD connections are critical** — These are the integration points that need the most attention.
313
+ 5. **Status colors = progress tracking** — Flip nodes from planned → inProgress → done as work progresses.
314
+ 6. **Direction matters** — Use `TB` (top-bottom) for hierarchical views, `LR` (left-right) for flow/sequence views.
315
+ 7. **Keep labels short** — Node labels should be 1-3 words. Use the PRD for details.
316
+ 8. **Highlight complexity** — If a node has 5+ connections, it is a complexity hotspot. Call it out.
317
+
318
+ ---
319
+
320
+ ## Example: Complete Map for a SaaS MVP
321
+
322
+ ```mermaid
323
+ graph TB
324
+ subgraph PRD-001 [PRD-001: Auth]
325
+ AUTH[Authentication]:::done
326
+ PROFILES[User Profiles]:::done
327
+ ORGS[Organizations]:::done
328
+ INVITES[Invitations]:::inProgress
329
+ end
330
+
331
+ subgraph PRD-002 [PRD-002: Core Product]
332
+ PROJECTS[Projects]:::planned
333
+ TASKS[Task Management]:::planned
334
+ KANBAN(Kanban Board):::planned
335
+ TIMELINE(Timeline View):::planned
336
+ end
337
+
338
+ subgraph PRD-003 [PRD-003: AI Layer]
339
+ AI_SUMMARY[Project Summary]:::planned
340
+ AI_RISK[Risk Detection]:::planned
341
+ AI_SUGGEST[Task Suggestions]:::planned
342
+ end
343
+
344
+ subgraph PRD-004 [PRD-004: Notifications]
345
+ NOTIF_PUSH[Push]:::planned
346
+ NOTIF_EMAIL[Email Digest]:::planned
347
+ FEED(Activity Feed):::planned
348
+ end
349
+
350
+ subgraph Data [Shared Data Layer]
351
+ DB_USERS[(users)]:::done
352
+ DB_ORGS[(organizations)]:::done
353
+ DB_PROJECTS[(projects)]:::planned
354
+ DB_TASKS[(tasks)]:::planned
355
+ end
356
+
357
+ subgraph External [External Services]
358
+ SUPA{{Supabase}}
359
+ CLAUDE_API{{Claude API}}
360
+ RESEND{{Email Provider}}
361
+ end
362
+
363
+ %% Auth dependencies
364
+ AUTH --> PROFILES
365
+ AUTH --> ORGS
366
+ ORGS --> INVITES
367
+ INVITES --> RESEND
368
+
369
+ %% Core dependencies
370
+ ORGS --> PROJECTS
371
+ PROJECTS --> TASKS
372
+ TASKS --> KANBAN
373
+ TASKS --> TIMELINE
374
+
375
+ %% AI dependencies
376
+ TASKS ==> AI_SUMMARY
377
+ TASKS ==> AI_RISK
378
+ AI_RISK --> AI_SUGGEST
379
+ AI_SUMMARY --> CLAUDE_API
380
+ AI_RISK --> CLAUDE_API
381
+
382
+ %% Notification dependencies
383
+ TASKS -.-> NOTIF_PUSH
384
+ TASKS -.-> FEED
385
+ AI_RISK -.-> NOTIF_EMAIL
386
+
387
+ %% Data layer
388
+ AUTH --> DB_USERS
389
+ ORGS --> DB_ORGS
390
+ PROJECTS --> DB_PROJECTS
391
+ TASKS --> DB_TASKS
392
+ DB_USERS -.-> DB_PROJECTS
393
+ DB_ORGS -.-> DB_PROJECTS
394
+ DB_PROJECTS --> DB_TASKS
395
+
396
+ %% Supabase
397
+ DB_USERS --> SUPA
398
+ DB_ORGS --> SUPA
399
+ DB_PROJECTS --> SUPA
400
+ DB_TASKS --> SUPA
401
+
402
+ classDef planned fill:#f3f4f6,stroke:#9ca3af,stroke-width:2px,color:#374151
403
+ classDef inProgress fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e40af
404
+ classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:2px,color:#166534
405
+ ```
406
+
407
+ This map shows at a glance:
408
+
409
+ - PRD-001 is mostly done (green), with Invitations still in progress (blue)
410
+ - PRD-002, 003, 004 are planned (gray)
411
+ - The Tasks node is a complexity hotspot (5+ connections)
412
+ - Claude API is only needed by PRD-003 (AI Layer)
413
+ - Build order: Auth → Core → AI + Notifications (parallel)