@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
package/README.md
ADDED
|
@@ -0,0 +1,633 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# ⚡ Effectum
|
|
4
|
+
|
|
5
|
+
### Describe what you want. Get production-ready code.
|
|
6
|
+
|
|
7
|
+
_Effectum (Latin): the result, the accomplishment — that which has been brought to completion._
|
|
8
|
+
|
|
9
|
+
[](LICENSE)
|
|
10
|
+
[](https://claude.ai/claude-code)
|
|
11
|
+
[](CONTRIBUTING.md)
|
|
12
|
+
|
|
13
|
+
<br>
|
|
14
|
+
|
|
15
|
+
**An autonomous development system for Claude Code.**
|
|
16
|
+
Turn your ideas into structured specifications, then let Claude Code implement them — with tests, security checks, and quality gates — while you sleep.
|
|
17
|
+
|
|
18
|
+
<br>
|
|
19
|
+
|
|
20
|
+
[Quick Start](#-quick-start) · [How It Works](#-how-it-works) · [The Workflow](#-the-workflow) · [PRD Workshop](#-the-prd-workshop) · [Documentation](#-documentation)
|
|
21
|
+
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🎯 How It Works
|
|
27
|
+
|
|
28
|
+
Effectum has two parts that work together:
|
|
29
|
+
|
|
30
|
+
<table>
|
|
31
|
+
<tr>
|
|
32
|
+
<td width="50%" valign="top">
|
|
33
|
+
|
|
34
|
+
### 🏗️ The Installer
|
|
35
|
+
|
|
36
|
+
Sets up your project with everything Claude Code needs for autonomous development:
|
|
37
|
+
|
|
38
|
+
- 10 workflow commands
|
|
39
|
+
- Quality gates & safety hooks
|
|
40
|
+
- Architecture rules & guardrails
|
|
41
|
+
- Stack-specific configuration
|
|
42
|
+
|
|
43
|
+
**One command: `/setup ~/my-project`**
|
|
44
|
+
|
|
45
|
+
</td>
|
|
46
|
+
<td width="50%" valign="top">
|
|
47
|
+
|
|
48
|
+
### 📋 The PRD Workshop
|
|
49
|
+
|
|
50
|
+
Helps you write specifications that are good enough for autonomous implementation:
|
|
51
|
+
|
|
52
|
+
- Guided discovery process
|
|
53
|
+
- Adaptive questioning
|
|
54
|
+
- Network maps & dependency graphs
|
|
55
|
+
- Quality scoring & review
|
|
56
|
+
|
|
57
|
+
**One command: `/prd:new`**
|
|
58
|
+
|
|
59
|
+
</td>
|
|
60
|
+
</tr>
|
|
61
|
+
</table>
|
|
62
|
+
|
|
63
|
+
```mermaid
|
|
64
|
+
graph LR
|
|
65
|
+
A["💡 Your Idea"] --> B["📋 Specification\n(PRD Workshop)"]
|
|
66
|
+
B --> C["/plan\nAnalyze & Plan"]
|
|
67
|
+
C --> D["/tdd\nTests → Code"]
|
|
68
|
+
D --> E["/verify\nQuality Gates"]
|
|
69
|
+
E --> F["/code-review\nSecurity Audit"]
|
|
70
|
+
F --> G["✅ Production Code"]
|
|
71
|
+
|
|
72
|
+
style A fill:#fef3c7,stroke:#f59e0b,color:#92400e
|
|
73
|
+
style B fill:#e0e7ff,stroke:#6366f1,color:#3730a3
|
|
74
|
+
style C fill:#f3f4f6,stroke:#9ca3af,color:#374151
|
|
75
|
+
style D fill:#f3f4f6,stroke:#9ca3af,color:#374151
|
|
76
|
+
style E fill:#f3f4f6,stroke:#9ca3af,color:#374151
|
|
77
|
+
style F fill:#f3f4f6,stroke:#9ca3af,color:#374151
|
|
78
|
+
style G fill:#dcfce7,stroke:#22c55e,color:#166534
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 🚀 Quick Start
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 1. Install Effectum
|
|
87
|
+
npx effectum
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The interactive installer asks two questions — scope (global or local) and runtime — then sets everything up.
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# 2. Open Claude Code in your project
|
|
94
|
+
cd ~/my-project && claude
|
|
95
|
+
|
|
96
|
+
# 3. Set up your project
|
|
97
|
+
/setup .
|
|
98
|
+
|
|
99
|
+
# 4. Write a specification
|
|
100
|
+
/prd:new
|
|
101
|
+
|
|
102
|
+
# 5. Build it
|
|
103
|
+
/plan docs/prds/001-my-feature.md
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
> [!TIP]
|
|
107
|
+
> That's it. Five steps from zero to autonomous development.
|
|
108
|
+
|
|
109
|
+
### Install options
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npx effectum # Interactive (recommended)
|
|
113
|
+
npx effectum --global # Install to ~/.claude/ for all projects
|
|
114
|
+
npx effectum --local # Install to ./.claude/ for this project only
|
|
115
|
+
npx effectum --global --claude # Non-interactive, Claude Code runtime
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
<details>
|
|
119
|
+
<summary><strong>Prefer the classic git approach?</strong></summary>
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
git clone https://github.com/aslomon/effectum.git
|
|
123
|
+
cd effectum
|
|
124
|
+
claude
|
|
125
|
+
/setup ~/my-project
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
</details>
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 📦 What `/setup` Installs
|
|
133
|
+
|
|
134
|
+
One command. Four questions. 14 files. Your project is ready.
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
/setup ~/my-project
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Claude asks: **project name** → **tech stack** → **language** → **autonomy level**
|
|
141
|
+
|
|
142
|
+
Then installs everything:
|
|
143
|
+
|
|
144
|
+
<details>
|
|
145
|
+
<summary><strong>📂 See all 14 installed files</strong></summary>
|
|
146
|
+
|
|
147
|
+
<br>
|
|
148
|
+
|
|
149
|
+
| File | What it does |
|
|
150
|
+
| ------------------------------------ | ------------------------------------------------------------- |
|
|
151
|
+
| `CLAUDE.md` | Your project's brain — rules, architecture, quality standards |
|
|
152
|
+
| `AUTONOMOUS-WORKFLOW.md` | Complete reference guide (1,300+ lines) |
|
|
153
|
+
| `.claude/commands/plan.md` | `/plan` — Analyze, create implementation plan, wait for OK |
|
|
154
|
+
| `.claude/commands/tdd.md` | `/tdd` — Write tests first, then code |
|
|
155
|
+
| `.claude/commands/verify.md` | `/verify` — Run all quality checks |
|
|
156
|
+
| `.claude/commands/e2e.md` | `/e2e` — End-to-end browser tests |
|
|
157
|
+
| `.claude/commands/code-review.md` | `/code-review` — Security + quality audit |
|
|
158
|
+
| `.claude/commands/build-fix.md` | `/build-fix` — Fix errors one at a time |
|
|
159
|
+
| `.claude/commands/refactor-clean.md` | `/refactor-clean` — Remove dead code |
|
|
160
|
+
| `.claude/commands/ralph-loop.md` | `/ralph-loop` — Fully autonomous overnight mode |
|
|
161
|
+
| `.claude/commands/cancel-ralph.md` | `/cancel-ralph` — Stop the loop |
|
|
162
|
+
| `.claude/commands/checkpoint.md` | `/checkpoint` — Git restore point |
|
|
163
|
+
| `.claude/settings.json` | Auto-formatting, file protection, safety hooks |
|
|
164
|
+
| `.claude/guardrails.md` | Rules that prevent known mistakes |
|
|
165
|
+
|
|
166
|
+
</details>
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 🔧 The Workflow
|
|
171
|
+
|
|
172
|
+
### `/plan` — Think before building
|
|
173
|
+
|
|
174
|
+
> Claude reads your specification, explores your codebase, and creates a plan. It identifies risks, asks questions, and **waits for your OK** before writing a single line of code.
|
|
175
|
+
|
|
176
|
+
### `/tdd` — Tests first, always
|
|
177
|
+
|
|
178
|
+
> Write a failing test → Write code to pass it → Improve → Repeat.
|
|
179
|
+
> Every feature is tested before it exists.
|
|
180
|
+
|
|
181
|
+
### `/verify` — Every quality gate, every time
|
|
182
|
+
|
|
183
|
+
| Gate | What it checks | Standard |
|
|
184
|
+
| -------------- | --------------------------- | ----------------------- |
|
|
185
|
+
| 🔨 Build | Compiles without errors | 0 errors |
|
|
186
|
+
| 📐 Types | Type safety | 0 errors |
|
|
187
|
+
| 🧹 Lint | Clean code style | 0 warnings |
|
|
188
|
+
| 🧪 Tests | Test suite | All pass, 80%+ coverage |
|
|
189
|
+
| 🔒 Security | OWASP vulnerabilities | None found |
|
|
190
|
+
| 🚫 Debug logs | `console.log` in production | 0 occurrences |
|
|
191
|
+
| 🛡️ Type safety | `any` or unsafe casts | None |
|
|
192
|
+
| 📏 File size | Oversized files | Max 300 lines |
|
|
193
|
+
|
|
194
|
+
### `/code-review` — A second pair of eyes
|
|
195
|
+
|
|
196
|
+
> Reviews every change for security issues, code quality, architecture violations, and common mistakes. Rates findings as **Critical**, **Warning**, or **Info**.
|
|
197
|
+
|
|
198
|
+
### `/ralph-loop` — Build while you sleep
|
|
199
|
+
|
|
200
|
+
> [!IMPORTANT]
|
|
201
|
+
> This is the most powerful feature.
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
/ralph-loop "Build the auth system"
|
|
205
|
+
--max-iterations 30
|
|
206
|
+
--completion-promise "All tests pass, build succeeds, 0 lint errors"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Claude works autonomously — writing code, running tests, fixing errors, iterating — until **every quality gate passes**. It only stops when the promise is 100% true.
|
|
210
|
+
|
|
211
|
+
**You go to sleep. You wake up to a working feature.**
|
|
212
|
+
|
|
213
|
+
<details>
|
|
214
|
+
<summary><strong>🔄 How Ralph Loop works internally</strong></summary>
|
|
215
|
+
|
|
216
|
+
<br>
|
|
217
|
+
|
|
218
|
+
```mermaid
|
|
219
|
+
graph TD
|
|
220
|
+
A["Start: Read PRD"] --> B["Check current state\n(git diff, tests)"]
|
|
221
|
+
B --> C["Implement next step"]
|
|
222
|
+
C --> D["Run quality gates"]
|
|
223
|
+
D --> E{"All gates\npass?"}
|
|
224
|
+
E -- No --> F{"Same error\n3+ times?"}
|
|
225
|
+
F -- No --> B
|
|
226
|
+
F -- Yes --> G["Try different approach"]
|
|
227
|
+
G --> B
|
|
228
|
+
E -- Yes --> H{"Completion\npromise true?"}
|
|
229
|
+
H -- No --> B
|
|
230
|
+
H -- Yes --> I["✅ Output promise\nDone!"]
|
|
231
|
+
|
|
232
|
+
D --> J{"80% iterations\nused?"}
|
|
233
|
+
J -- Yes --> K["📝 Write status report"]
|
|
234
|
+
K --> B
|
|
235
|
+
|
|
236
|
+
style I fill:#dcfce7,stroke:#22c55e
|
|
237
|
+
style A fill:#e0e7ff,stroke:#6366f1
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
- **Built-in error recovery**: reads errors, tries alternatives, documents blockers
|
|
241
|
+
- **Status report at 80%**: if running out of iterations, writes what's done and what's left
|
|
242
|
+
- **Honest promises**: the completion promise is ONLY output when 100% true
|
|
243
|
+
|
|
244
|
+
</details>
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 📋 The PRD Workshop
|
|
249
|
+
|
|
250
|
+
A specification (PRD) is the bridge between _"I want this"_ and _"Claude builds this."_
|
|
251
|
+
|
|
252
|
+
The better the spec, the better the code.
|
|
253
|
+
|
|
254
|
+
### Two Modes
|
|
255
|
+
|
|
256
|
+
| Mode | When to use | What happens |
|
|
257
|
+
| --------------- | --------------------------- | ------------------------------------------------------------------ |
|
|
258
|
+
| **🔍 Workshop** | Vague idea, complex project | Effectum asks questions round by round until it fully understands |
|
|
259
|
+
| **⚡ Express** | Clear requirements | Describe it, Effectum fills gaps and produces the spec in one shot |
|
|
260
|
+
|
|
261
|
+
### What a Specification Contains
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
┌─────────────────────────────────────────┐
|
|
265
|
+
│ 📋 EFFECTUM SPECIFICATION (PRD) │
|
|
266
|
+
├─────────────────────────────────────────┤
|
|
267
|
+
│ │
|
|
268
|
+
│ Problem & Goal │
|
|
269
|
+
│ ── What are we solving? Why? │
|
|
270
|
+
│ │
|
|
271
|
+
│ User Stories │
|
|
272
|
+
│ ── What can users do when done? │
|
|
273
|
+
│ │
|
|
274
|
+
│ Acceptance Criteria │
|
|
275
|
+
│ ── Given X, When Y, Then Z │
|
|
276
|
+
│ ── (every criterion = one test) │
|
|
277
|
+
│ │
|
|
278
|
+
│ Data Model │
|
|
279
|
+
│ ── Tables, fields, types, RLS │
|
|
280
|
+
│ │
|
|
281
|
+
│ API Design │
|
|
282
|
+
│ ── Endpoints, formats, error codes │
|
|
283
|
+
│ │
|
|
284
|
+
│ Quality Gates │
|
|
285
|
+
│ ── 8 automated checks that must pass │
|
|
286
|
+
│ │
|
|
287
|
+
│ Completion Promise │
|
|
288
|
+
│ ── "All tests pass, build succeeds, │
|
|
289
|
+
│ 0 lint errors" │
|
|
290
|
+
│ │
|
|
291
|
+
└─────────────────────────────────────────┘
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Network Map
|
|
295
|
+
|
|
296
|
+
For complex projects, Effectum generates a **visual network map** showing how every feature, module, and data entity connects:
|
|
297
|
+
|
|
298
|
+
```mermaid
|
|
299
|
+
graph TB
|
|
300
|
+
subgraph "PRD-001: Auth"
|
|
301
|
+
AUTH[Authentication]:::done
|
|
302
|
+
PROFILES[User Profiles]:::done
|
|
303
|
+
end
|
|
304
|
+
subgraph "PRD-002: Core"
|
|
305
|
+
PROJECTS[Projects]:::inProgress
|
|
306
|
+
TASKS[Tasks]:::inProgress
|
|
307
|
+
KANBAN(Kanban Board):::planned
|
|
308
|
+
end
|
|
309
|
+
subgraph "PRD-003: AI"
|
|
310
|
+
SUMMARY[AI Summary]:::planned
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
AUTH --> PROJECTS
|
|
314
|
+
PROJECTS --> TASKS
|
|
315
|
+
TASKS --> KANBAN
|
|
316
|
+
TASKS --> SUMMARY
|
|
317
|
+
|
|
318
|
+
classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:2px,color:#166534
|
|
319
|
+
classDef inProgress fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e40af
|
|
320
|
+
classDef planned fill:#f3f4f6,stroke:#9ca3af,stroke-width:2px,color:#374151
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
<sup>🟢 Done 🔵 In Progress ⚪ Planned</sup>
|
|
324
|
+
|
|
325
|
+
### Workshop Commands
|
|
326
|
+
|
|
327
|
+
| Command | What it does |
|
|
328
|
+
| ------------------- | ----------------------------------------- |
|
|
329
|
+
| `/prd:new` | Start a new specification (guided) |
|
|
330
|
+
| `/prd:express` | Quick spec from clear input |
|
|
331
|
+
| `/prd:discuss` | Deep-dive into specific areas |
|
|
332
|
+
| `/prd:review` | Quality check — ready for implementation? |
|
|
333
|
+
| `/prd:decompose` | Split a large project into pieces |
|
|
334
|
+
| `/prd:network-map` | Visualize connections (Mermaid) |
|
|
335
|
+
| `/prd:handoff` | Export spec to your project |
|
|
336
|
+
| `/prd:status` | See all projects and progress |
|
|
337
|
+
| `/prd:resume` | Continue where you left off |
|
|
338
|
+
| `/prd:prompt` | Generate the right handoff prompt |
|
|
339
|
+
| `/workshop:init` | Create a new project workspace |
|
|
340
|
+
| `/workshop:archive` | Archive a completed project |
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 🌳 Branching & Worktrees
|
|
345
|
+
|
|
346
|
+
Each PRD project in the workshop gets its own **git branch** — so you can work on multiple projects in parallel without interference.
|
|
347
|
+
|
|
348
|
+
```mermaid
|
|
349
|
+
gitGraph
|
|
350
|
+
commit id: "initial"
|
|
351
|
+
branch project/taskflow
|
|
352
|
+
checkout project/taskflow
|
|
353
|
+
commit id: "vision.md"
|
|
354
|
+
commit id: "PRD-001 auth"
|
|
355
|
+
commit id: "PRD-002 tasks"
|
|
356
|
+
commit id: "network-map"
|
|
357
|
+
checkout main
|
|
358
|
+
branch project/kniffelig
|
|
359
|
+
commit id: "vision"
|
|
360
|
+
commit id: "PRD-001 redesign"
|
|
361
|
+
checkout main
|
|
362
|
+
merge project/taskflow id: "taskflow ready"
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### How It Works
|
|
366
|
+
|
|
367
|
+
**When you start a new project** (`/prd:new` or `/workshop:init`):
|
|
368
|
+
|
|
369
|
+
- A new branch `project/{slug}` is created
|
|
370
|
+
- All PRD work happens on this branch
|
|
371
|
+
- Your other projects remain untouched on their own branches
|
|
372
|
+
|
|
373
|
+
**When a project is done** (`/workshop:archive`):
|
|
374
|
+
|
|
375
|
+
- The branch is merged into `main`
|
|
376
|
+
- All specs are preserved in the history
|
|
377
|
+
|
|
378
|
+
**Working on multiple projects simultaneously** with worktrees:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
# Main repo — working on TaskFlow
|
|
382
|
+
cd ~/effectum
|
|
383
|
+
# (on branch project/taskflow)
|
|
384
|
+
|
|
385
|
+
# Open a second project in a worktree
|
|
386
|
+
git worktree add ../effectum-kniffelig project/kniffelig
|
|
387
|
+
|
|
388
|
+
# Now you have two separate directories, each on its own branch:
|
|
389
|
+
# ~/effectum/ → project/taskflow
|
|
390
|
+
# ~/effectum-kniffelig/ → project/kniffelig
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
> [!TIP]
|
|
394
|
+
> **Worktrees** let you open Claude Code in each project simultaneously — two terminal windows, two branches, zero conflicts.
|
|
395
|
+
|
|
396
|
+
### Branch Overview
|
|
397
|
+
|
|
398
|
+
| Branch | Purpose | Lifetime |
|
|
399
|
+
| ---------------- | --------------------------------------- | -------------- |
|
|
400
|
+
| `main` | Stable state, knowledge base, templates | Permanent |
|
|
401
|
+
| `project/{slug}` | Active PRD work for one project | Until archived |
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 🎨 Stack Presets
|
|
406
|
+
|
|
407
|
+
Effectum adapts to your technology:
|
|
408
|
+
|
|
409
|
+
<table>
|
|
410
|
+
<tr>
|
|
411
|
+
<td width="25%" align="center">
|
|
412
|
+
<br>
|
|
413
|
+
<strong>Next.js + Supabase</strong>
|
|
414
|
+
<br><br>
|
|
415
|
+
TypeScript, Tailwind, Shadcn<br>
|
|
416
|
+
Supabase, Vitest, Playwright<br>
|
|
417
|
+
<br>
|
|
418
|
+
<em>Full-stack web apps</em>
|
|
419
|
+
<br><br>
|
|
420
|
+
</td>
|
|
421
|
+
<td width="25%" align="center">
|
|
422
|
+
<br>
|
|
423
|
+
<strong>Python + FastAPI</strong>
|
|
424
|
+
<br><br>
|
|
425
|
+
Pydantic, SQLAlchemy<br>
|
|
426
|
+
pytest, ruff<br>
|
|
427
|
+
<br>
|
|
428
|
+
<em>APIs and backends</em>
|
|
429
|
+
<br><br>
|
|
430
|
+
</td>
|
|
431
|
+
<td width="25%" align="center">
|
|
432
|
+
<br>
|
|
433
|
+
<strong>Swift / SwiftUI</strong>
|
|
434
|
+
<br><br>
|
|
435
|
+
SwiftData, XCTest<br>
|
|
436
|
+
swift-format, SPM<br>
|
|
437
|
+
<br>
|
|
438
|
+
<em>iOS and macOS apps</em>
|
|
439
|
+
<br><br>
|
|
440
|
+
</td>
|
|
441
|
+
<td width="25%" align="center">
|
|
442
|
+
<br>
|
|
443
|
+
<strong>Generic</strong>
|
|
444
|
+
<br><br>
|
|
445
|
+
Stack-agnostic<br>
|
|
446
|
+
Customize everything<br>
|
|
447
|
+
<br>
|
|
448
|
+
<em>Anything else</em>
|
|
449
|
+
<br><br>
|
|
450
|
+
</td>
|
|
451
|
+
</tr>
|
|
452
|
+
</table>
|
|
453
|
+
|
|
454
|
+
Each preset configures build commands, test frameworks, linters, formatters, and architecture rules for your stack.
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## 🎚️ Three Autonomy Levels
|
|
459
|
+
|
|
460
|
+
Choose how much Claude decides on its own:
|
|
461
|
+
|
|
462
|
+
| | Conservative | Standard | Full Autonomy |
|
|
463
|
+
| ------------------------- | :-------------: | :-------------: | :--------------: |
|
|
464
|
+
| **Claude asks before...** | Most changes | Ambiguous specs | Almost nothing |
|
|
465
|
+
| **Git operations** | Always asks | Asks for push | Autonomous |
|
|
466
|
+
| **File changes** | Confirms each | Works freely | Works freely |
|
|
467
|
+
| **Best for** | Teams, learning | Daily dev | Overnight builds |
|
|
468
|
+
| **Ralph Loop** | ❌ | ✅ | ✅ Recommended |
|
|
469
|
+
|
|
470
|
+
Choose during `/setup`. Change anytime in `.claude/settings.json`.
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## 🏗️ The Big Picture
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
┌──────────────────────────────────────────────────┐
|
|
478
|
+
│ EFFECTUM REPO │
|
|
479
|
+
│ (clone once, use for all your projects) │
|
|
480
|
+
│ │
|
|
481
|
+
│ /setup ~/project-a → Install workflow │
|
|
482
|
+
│ /setup ~/project-b → Install workflow │
|
|
483
|
+
│ /setup ~/project-c → Install workflow │
|
|
484
|
+
│ │
|
|
485
|
+
│ /prd:new → Write specifications │
|
|
486
|
+
│ /prd:handoff → Send to project │
|
|
487
|
+
└──────────┬───────────────────────────────────────┘
|
|
488
|
+
│
|
|
489
|
+
│ installs: CLAUDE.md, 10 commands,
|
|
490
|
+
│ hooks, guardrails, quality gates
|
|
491
|
+
│
|
|
492
|
+
┌─────┼─────────────┬──────────────┐
|
|
493
|
+
▼ ▼ ▼ ▼
|
|
494
|
+
┌─────────┐ ┌─────────┐ ┌─────────┐
|
|
495
|
+
│Project A│ │Project B│ │Project C│
|
|
496
|
+
│ │ │ │ │ │
|
|
497
|
+
│ /plan │ │ /plan │ │ /plan │
|
|
498
|
+
│ /tdd │ │ /tdd │ │ /tdd │
|
|
499
|
+
│ /verify │ │ /verify │ │ /verify │
|
|
500
|
+
│ /ralph │ │ /ralph │ │ /ralph │
|
|
501
|
+
│ -loop │ │ -loop │ │ -loop │
|
|
502
|
+
│ │ │ │ │ │
|
|
503
|
+
│ ✅ Code │ │ ✅ Code │ │ ✅ Code │
|
|
504
|
+
└─────────┘ └─────────┘ └─────────┘
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
## 📊 Before & After
|
|
510
|
+
|
|
511
|
+
| | Without Effectum | With Effectum |
|
|
512
|
+
| -------------- | ---------------------------------- | -------------------------------------------------- |
|
|
513
|
+
| 💡 Starting | _"Build a login"_ → Claude guesses | Detailed spec → Claude knows exactly what to build |
|
|
514
|
+
| 🧪 Testing | Maybe write tests after | Tests written **first**, always |
|
|
515
|
+
| ✅ Quality | Hope for the best | **8 automated gates** must pass |
|
|
516
|
+
| 🔒 Security | Manual review (or forget) | Automatic **OWASP audit** |
|
|
517
|
+
| 🌙 Overnight | Not possible | Ralph Loop **builds while you sleep** |
|
|
518
|
+
| 🔄 Consistency | Depends on the prompt | **Same workflow, same quality**, every time |
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
## 📁 Project Structure
|
|
523
|
+
|
|
524
|
+
```
|
|
525
|
+
effectum/
|
|
526
|
+
│
|
|
527
|
+
├── system/ The installable workflow
|
|
528
|
+
│ ├── templates/ CLAUDE.md, settings, guardrails (parameterized)
|
|
529
|
+
│ ├── commands/ 10 workflow commands
|
|
530
|
+
│ └── stacks/ Next.js · Python · Swift · Generic
|
|
531
|
+
│
|
|
532
|
+
├── workshop/ Specification tools
|
|
533
|
+
│ ├── knowledge/ 8 reference guides
|
|
534
|
+
│ ├── templates/ PRD & project templates
|
|
535
|
+
│ └── projects/ Your spec projects (per branch)
|
|
536
|
+
│
|
|
537
|
+
├── docs/ Documentation
|
|
538
|
+
│ ├── workflow-overview.md The complete workflow
|
|
539
|
+
│ ├── installation-guide.md Setup step by step
|
|
540
|
+
│ ├── prd-workshop-guide.md Writing great specs
|
|
541
|
+
│ ├── customization.md Adapting Effectum
|
|
542
|
+
│ └── troubleshooting.md Common fixes
|
|
543
|
+
│
|
|
544
|
+
├── CLAUDE.md Makes Claude understand this repo
|
|
545
|
+
└── README.md You are here
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## 📚 Documentation
|
|
551
|
+
|
|
552
|
+
| Guide | What you'll learn |
|
|
553
|
+
| --------------------------------------------------- | ------------------------------------------ |
|
|
554
|
+
| 📖 [Workflow Overview](docs/workflow-overview.md) | The complete autonomous workflow explained |
|
|
555
|
+
| 🔧 [Installation Guide](docs/installation-guide.md) | Detailed setup instructions |
|
|
556
|
+
| 📋 [PRD Workshop Guide](docs/prd-workshop-guide.md) | How to write great specifications |
|
|
557
|
+
| ⚙️ [Customization](docs/customization.md) | Adapting Effectum to your needs |
|
|
558
|
+
| 🔍 [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions |
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
## ❓ FAQ
|
|
563
|
+
|
|
564
|
+
<details>
|
|
565
|
+
<summary><strong>Do I need to write a specification for every feature?</strong></summary>
|
|
566
|
+
|
|
567
|
+
No. Use `/plan` directly with a description for small things. Specifications shine for anything complex — they eliminate back-and-forth and produce dramatically better results.
|
|
568
|
+
|
|
569
|
+
</details>
|
|
570
|
+
|
|
571
|
+
<details>
|
|
572
|
+
<summary><strong>Does this work with other AI coding tools?</strong></summary>
|
|
573
|
+
|
|
574
|
+
Effectum is built for Claude Code. The specifications it produces are useful for any AI tool, but the workflow commands (`/plan`, `/tdd`, etc.) are Claude Code specific.
|
|
575
|
+
|
|
576
|
+
</details>
|
|
577
|
+
|
|
578
|
+
<details>
|
|
579
|
+
<summary><strong>Can I customize everything after setup?</strong></summary>
|
|
580
|
+
|
|
581
|
+
Yes. Everything is plain text — edit `CLAUDE.md` for rules, `.claude/settings.json` for hooks, `.claude/guardrails.md` for safety rules. See [Customization](docs/customization.md).
|
|
582
|
+
|
|
583
|
+
</details>
|
|
584
|
+
|
|
585
|
+
<details>
|
|
586
|
+
<summary><strong>What if Ralph Loop gets stuck?</strong></summary>
|
|
587
|
+
|
|
588
|
+
Built-in error recovery: reads errors, tries alternatives, documents blockers. At 80% of max iterations, writes a status report of what's done and what's left. Use `/cancel-ralph` to stop it manually anytime.
|
|
589
|
+
|
|
590
|
+
</details>
|
|
591
|
+
|
|
592
|
+
<details>
|
|
593
|
+
<summary><strong>Is this safe to use?</strong></summary>
|
|
594
|
+
|
|
595
|
+
Yes. File protection blocks writes to `.env` and secrets. Destructive command prevention blocks `rm -rf` and `DROP TABLE`. Quality gates catch issues before they ship. Conservative mode asks before most actions.
|
|
596
|
+
|
|
597
|
+
</details>
|
|
598
|
+
|
|
599
|
+
<details>
|
|
600
|
+
<summary><strong>Can I work on multiple PRD projects simultaneously?</strong></summary>
|
|
601
|
+
|
|
602
|
+
Yes. Each project gets its own git branch. Use `git worktree` to open multiple projects in separate directories — each with its own Claude Code session. See [Branching & Worktrees](#-branching--worktrees).
|
|
603
|
+
|
|
604
|
+
</details>
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
## 🤝 Contributing
|
|
609
|
+
|
|
610
|
+
The most impactful areas:
|
|
611
|
+
|
|
612
|
+
- **🎨 Stack presets** — Add Go, Rust, Ruby, Django, etc.
|
|
613
|
+
- **🔧 Workflow commands** — Improve or add new ones
|
|
614
|
+
- **📚 Knowledge base** — Better examples, more techniques
|
|
615
|
+
- **🌍 Documentation** — Clearer guides, translations
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
<div align="center">
|
|
620
|
+
|
|
621
|
+
## License
|
|
622
|
+
|
|
623
|
+
MIT
|
|
624
|
+
|
|
625
|
+
<br>
|
|
626
|
+
|
|
627
|
+
_Effectum — that which has been brought to completion._
|
|
628
|
+
|
|
629
|
+
<br>
|
|
630
|
+
|
|
631
|
+
**[⬆ Back to top](#-effectum)**
|
|
632
|
+
|
|
633
|
+
</div>
|