@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,133 @@
1
+ # PRD: [Feature Name]
2
+
3
+ ## Problem
4
+
5
+ [2-4 sentences. What is the problem? Why does it need to be solved? Who is affected? Include business context.]
6
+
7
+ ## Goal
8
+
9
+ [1-3 sentences. What should work when this is done? Include measurable success criteria.]
10
+
11
+ ## User Stories
12
+
13
+ - As a [role], I want to [action], so that [benefit]
14
+ - As a [role], I want to [action], so that [benefit]
15
+ - As a [role], I want to [action], so that [benefit]
16
+
17
+ ## Acceptance Criteria
18
+
19
+ - [ ] AC1: [Concrete, testable criterion]
20
+ - [ ] AC2: [Concrete, testable criterion]
21
+ - [ ] AC3: Given [precondition], When [action], Then [expected result]
22
+ - [ ] AC4: Given [precondition], When [action], Then [expected result]
23
+
24
+ ## Scope
25
+
26
+ ### In Scope
27
+
28
+ - [Feature/component being built]
29
+ - [Feature/component being built]
30
+
31
+ ### Out of Scope
32
+
33
+ - [Explicit exclusion]
34
+ - [Explicit exclusion]
35
+
36
+ ### Non-Goals
37
+
38
+ - [Something someone might expect, but is intentionally excluded]
39
+
40
+ ## Data Model
41
+
42
+ ### [table_name]
43
+
44
+ | Column | Type | Constraints | Description |
45
+ | ---------- | ----------- | ------------------------------- | --------------------- |
46
+ | id | uuid | PK, default gen_random_uuid() | Primary key |
47
+ | org_id | uuid | FK → organizations.id, NOT NULL | Tenant isolation |
48
+ | [field] | [type] | [constraints] | [description] |
49
+ | created_at | timestamptz | NOT NULL, default now() | Creation timestamp |
50
+ | updated_at | timestamptz | NOT NULL, default now() | Last update timestamp |
51
+
52
+ ### Relations
53
+
54
+ - [table_a] belongs to [table_b] via [foreign_key]
55
+
56
+ ### RLS Policies
57
+
58
+ - [table_name]: [policy description]
59
+
60
+ ### Indexes
61
+
62
+ - [table_name]: [index description]
63
+
64
+ ## API Design
65
+
66
+ ### [HTTP_METHOD] /api/[resource]
67
+
68
+ **Purpose:** [What this endpoint does]
69
+
70
+ **Authentication:** Required / Public
71
+
72
+ **Request:**
73
+
74
+ ```json
75
+ {
76
+ "field": "type — description"
77
+ }
78
+ ```
79
+
80
+ **Response (200):**
81
+
82
+ ```json
83
+ {
84
+ "data": {}
85
+ }
86
+ ```
87
+
88
+ **Error Responses:**
89
+
90
+ - 400: [When and why]
91
+ - 401: [When and why]
92
+ - 403: [When and why]
93
+ - 404: [When and why]
94
+
95
+ ## UI/UX
96
+
97
+ - [Layout description or Figma link]
98
+ - [Responsive requirements]
99
+ - [Key interaction patterns]
100
+ - [Empty states, loading states, error states]
101
+
102
+ ## Constraints
103
+
104
+ - Performance: [requirements]
105
+ - Dependencies: [external services, existing features]
106
+ - Security: [specific requirements]
107
+
108
+ ## Quality Gates
109
+
110
+ Automated checks that MUST pass before the feature is considered done:
111
+
112
+ - Build: `pnpm build` — 0 errors
113
+ - Types: `tsc --noEmit` — 0 errors
114
+ - Tests: `pnpm vitest run` — all pass, 80%+ coverage on new code
115
+ - Lint: `pnpm lint` — 0 errors, 0 warnings
116
+ - E2E: `npx playwright test` — all pass (if applicable)
117
+ - Security: `/code-review` — no OWASP vulnerabilities
118
+ - RLS: Supabase security advisor — no warnings (if DB changes)
119
+ - No Debug Logs: 0 `console.log` in production code
120
+ - Type Safety: no `any`, no `as` casts in new code
121
+ - File Size: no file exceeds 300 lines
122
+ - Custom: [project-specific checks]
123
+
124
+ ## Autonomy Rules
125
+
126
+ - Design: [Follow DESIGN.md / use best judgment / ask]
127
+ - Libraries: [use existing dependencies only / free to add]
128
+ - Architecture: [follow existing patterns in src/lib/ / free to decide]
129
+ - On ambiguity: [decide autonomously and document / stop and ask]
130
+
131
+ ## Completion Promise
132
+
133
+ "[All acceptance criteria met, build passes, all tests pass, 0 lint errors, no console.log in production code]"
@@ -0,0 +1,48 @@
1
+ # Requirements Map: [Project Name]
2
+
3
+ ## v1 (Must-Have)
4
+
5
+ | ID | Requirement | PRD | Priority | Status |
6
+ | ----- | ------------------------- | --------- | -------- | ------- |
7
+ | R-001 | [Requirement description] | [PRD-NNN] | P0 | planned |
8
+ | R-002 | [Requirement description] | [PRD-NNN] | P0 | planned |
9
+ | R-003 | [Requirement description] | [PRD-NNN] | P1 | planned |
10
+ | R-004 | [Requirement description] | [PRD-NNN] | P1 | planned |
11
+
12
+ ## v2 (Nice-to-Have)
13
+
14
+ | ID | Requirement | PRD | Priority | Status |
15
+ | ----- | ------------------------- | --------- | -------- | ------- |
16
+ | R-010 | [Requirement description] | [PRD-NNN] | P2 | planned |
17
+ | R-011 | [Requirement description] | [PRD-NNN] | P2 | planned |
18
+
19
+ ## v3 (Future)
20
+
21
+ | ID | Requirement | PRD | Priority | Status |
22
+ | ----- | ------------------------- | --------- | -------- | ------- |
23
+ | R-020 | [Requirement description] | [PRD-NNN] | P3 | planned |
24
+
25
+ ## Out of Scope
26
+
27
+ - [Explicit exclusion 1]
28
+ - [Explicit exclusion 2]
29
+ - [Explicit exclusion 3]
30
+
31
+ ## Priority Legend
32
+
33
+ | Priority | Meaning |
34
+ | -------- | ------------------------------------------- |
35
+ | P0 | Must-have for launch. Blocks release. |
36
+ | P1 | Should-have. Important but not blocking. |
37
+ | P2 | Nice-to-have. Defer if time-constrained. |
38
+ | P3 | Future consideration. Not in current scope. |
39
+
40
+ ## Status Legend
41
+
42
+ | Status | Meaning |
43
+ | ----------- | --------------------------- |
44
+ | planned | Not yet started |
45
+ | in-progress | Currently being implemented |
46
+ | done | Implemented and verified |
47
+ | deferred | Moved to a later version |
48
+ | cut | Removed from scope |
@@ -0,0 +1,89 @@
1
+ # Shared Contracts: [Project Name]
2
+
3
+ Defines shared data models and API contracts between PRDs. Each model/endpoint has a single owner PRD. Other PRDs consume but do not modify.
4
+
5
+ ---
6
+
7
+ ## Shared Data Models
8
+
9
+ ### [Model Name] (owned by PRD-[NNN], consumed by [list])
10
+
11
+ | Field | Type | Used By | Description |
12
+ | ---------- | ----------- | ---------- | --------------------- |
13
+ | id | uuid | all | Primary key |
14
+ | org_id | uuid | all | Tenant isolation |
15
+ | [field] | [type] | [PRD list] | [description] |
16
+ | created_at | timestamptz | all | Creation timestamp |
17
+ | updated_at | timestamptz | all | Last update timestamp |
18
+
19
+ **Rules:**
20
+
21
+ - Only PRD-[NNN] may add columns or modify the table schema
22
+ - Consumers may read via RLS-protected queries
23
+ - Schema changes require updating this contract and notifying consumers
24
+
25
+ ### [Model Name] (owned by PRD-[NNN], consumed by [list])
26
+
27
+ | Field | Type | Used By | Description |
28
+ | ------- | ------ | ---------- | ------------- |
29
+ | id | uuid | all | Primary key |
30
+ | [field] | [type] | [PRD list] | [description] |
31
+
32
+ ---
33
+
34
+ ## Shared API Contracts
35
+
36
+ ### [HTTP_METHOD] /api/[resource]
37
+
38
+ - **Owner:** PRD-[NNN]
39
+ - **Consumers:** PRD-[NNN], PRD-[NNN]
40
+ - **Authentication:** Required
41
+ - **Purpose:** [What this endpoint provides]
42
+
43
+ **Response shape:**
44
+
45
+ ```json
46
+ {
47
+ "data": {
48
+ "id": "uuid",
49
+ "[field]": "[type]"
50
+ }
51
+ }
52
+ ```
53
+
54
+ **Contract rules:**
55
+
56
+ - Response shape must not change without updating this document
57
+ - New optional fields may be added (backward compatible)
58
+ - Required fields must not be removed or renamed
59
+
60
+ ### [HTTP_METHOD] /api/[resource]
61
+
62
+ - **Owner:** PRD-[NNN]
63
+ - **Consumers:** PRD-[NNN]
64
+ - **Purpose:** [What this endpoint provides]
65
+
66
+ **Response shape:**
67
+
68
+ ```json
69
+ {
70
+ "data": {}
71
+ }
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Shared Events (if using Realtime/Webhooks)
77
+
78
+ | Event Name | Producer | Consumers | Payload |
79
+ | ------------ | --------- | -------------------- | ------------------ |
80
+ | [event.name] | PRD-[NNN] | PRD-[NNN], PRD-[NNN] | `{ id, [fields] }` |
81
+
82
+ ---
83
+
84
+ ## Contract Change Process
85
+
86
+ 1. Owner PRD proposes change in this document
87
+ 2. All consumer PRDs are listed and reviewed
88
+ 3. Breaking changes require version bump or migration plan
89
+ 4. Non-breaking additions (new optional fields) can be made directly
@@ -0,0 +1,66 @@
1
+ # Project Vision: [Project Name]
2
+
3
+ ## Problem
4
+
5
+ [2-3 sentences: What problem are we solving? Who is affected?]
6
+
7
+ ## Goal
8
+
9
+ [1-2 sentences: What does success look like? How will we measure it?]
10
+
11
+ ## Target Users
12
+
13
+ - **[Persona 1]:** [role, goal, context]
14
+ - **[Persona 2]:** [role, goal, context]
15
+ - **[Persona 3]:** [role, goal, context]
16
+
17
+ ## Tech Stack
18
+
19
+ - Frontend: [framework, UI library]
20
+ - Backend: [framework/platform]
21
+ - Database: [database]
22
+ - Auth: [provider]
23
+ - Hosting: [platform]
24
+ - Other: [additional services]
25
+
26
+ ## Constraints
27
+
28
+ - [Timeline constraints]
29
+ - [Budget constraints]
30
+ - [Regulatory/compliance requirements]
31
+ - [Technical constraints]
32
+
33
+ ## PRD Overview
34
+
35
+ | PRD | Name | Description | Dependencies |
36
+ | --- | ------ | ------------------- | ------------ |
37
+ | 001 | [Name] | [Brief description] | None |
38
+ | 002 | [Name] | [Brief description] | 001 |
39
+ | 003 | [Name] | [Brief description] | 001, 002 |
40
+ | 004 | [Name] | [Brief description] | 001 |
41
+
42
+ ## Dependency Graph
43
+
44
+ ```
45
+ 001-[Name] ──► 002-[Name] ──► 003-[Name]
46
+
47
+ └──────────────────────► 004-[Name]
48
+ ```
49
+
50
+ ## Roadmap
51
+
52
+ | Phase | PRDs | Milestone | Estimated Effort |
53
+ | ----- | -------- | --------------------------------- | ---------------- |
54
+ | 1 | 001 | [What is usable after this phase] | [size] |
55
+ | 2 | 002, 003 | [What is usable after this phase] | [size] |
56
+ | 3 | 004 | [What is usable after this phase] | [size] |
57
+
58
+ ## Non-Goals
59
+
60
+ - [What we are explicitly NOT building]
61
+ - [What someone might expect but is excluded]
62
+
63
+ ## Open Questions
64
+
65
+ - [Question 1]
66
+ - [Question 2]