sddx-workflow 0.9.0 → 0.10.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 (98) hide show
  1. package/README.md +249 -63
  2. package/dist/cli.js +370 -129
  3. package/package.json +1 -1
  4. package/templates/AGENTS.md +38 -5
  5. package/templates/CLAUDE.md +76 -5
  6. package/templates/claude-commands/conventions-sync.md +3 -0
  7. package/templates/claude-commands/impl-gap.md +10 -0
  8. package/templates/claude-commands/research.md +7 -0
  9. package/templates/claude-commands/review.md +1 -1
  10. package/templates/claude-commands/scan.md +5 -0
  11. package/templates/claude-commands/spec-amend.md +7 -0
  12. package/templates/claude-commands/spec-analyze.md +5 -0
  13. package/templates/claude-commands/spec-clarify.md +5 -0
  14. package/templates/claude-commands/spec-conflicts.md +3 -0
  15. package/templates/claude-commands/spec-status.md +3 -0
  16. package/templates/claude-commands/spec-tasks.md +3 -3
  17. package/templates/claude-commands/verify.md +5 -0
  18. package/templates/codex-skills/conventions-sync/SKILL.md +8 -0
  19. package/templates/codex-skills/impl-gap/SKILL.md +10 -0
  20. package/templates/codex-skills/research/SKILL.md +10 -0
  21. package/templates/codex-skills/review/SKILL.md +2 -2
  22. package/templates/codex-skills/scan/SKILL.md +8 -0
  23. package/templates/codex-skills/spec-amend/SKILL.md +10 -0
  24. package/templates/codex-skills/spec-analyze/SKILL.md +8 -0
  25. package/templates/codex-skills/spec-clarify/SKILL.md +8 -0
  26. package/templates/codex-skills/spec-conflicts/SKILL.md +8 -0
  27. package/templates/codex-skills/spec-status/SKILL.md +8 -0
  28. package/templates/codex-skills/spec-tasks/SKILL.md +3 -3
  29. package/templates/codex-skills/verify/SKILL.md +8 -0
  30. package/templates/conventions/base.md +7 -0
  31. package/templates/copilot-instructions.md +35 -5
  32. package/templates/copilot-prompts/conventions-sync.prompt.md +8 -0
  33. package/templates/copilot-prompts/impl-gap.prompt.md +10 -0
  34. package/templates/copilot-prompts/research.prompt.md +10 -0
  35. package/templates/copilot-prompts/review.prompt.md +2 -2
  36. package/templates/copilot-prompts/scan.prompt.md +8 -0
  37. package/templates/copilot-prompts/spec-amend.prompt.md +10 -0
  38. package/templates/copilot-prompts/spec-analyze.prompt.md +8 -0
  39. package/templates/copilot-prompts/spec-clarify.prompt.md +8 -0
  40. package/templates/copilot-prompts/spec-conflicts.prompt.md +8 -0
  41. package/templates/copilot-prompts/spec-status.prompt.md +8 -0
  42. package/templates/copilot-prompts/spec-tasks.prompt.md +3 -3
  43. package/templates/copilot-prompts/verify.prompt.md +8 -0
  44. package/templates/cursor-rules/sddx-workflow.mdc +34 -5
  45. package/templates/gemini-commands/ask.toml +8 -0
  46. package/templates/gemini-commands/assume.toml +10 -0
  47. package/templates/gemini-commands/bootstrap.toml +9 -0
  48. package/templates/gemini-commands/bugfix.toml +10 -0
  49. package/templates/gemini-commands/conventions-sync.toml +6 -0
  50. package/templates/gemini-commands/finish.toml +8 -0
  51. package/templates/gemini-commands/impl-gap.toml +10 -0
  52. package/templates/gemini-commands/refactor.toml +8 -0
  53. package/templates/gemini-commands/research.toml +10 -0
  54. package/templates/gemini-commands/review.toml +8 -0
  55. package/templates/gemini-commands/scan.toml +6 -0
  56. package/templates/gemini-commands/spec-amend.toml +10 -0
  57. package/templates/gemini-commands/spec-analyze.toml +6 -0
  58. package/templates/gemini-commands/spec-clarify.toml +6 -0
  59. package/templates/gemini-commands/spec-conflicts.toml +6 -0
  60. package/templates/gemini-commands/spec-new.toml +7 -0
  61. package/templates/gemini-commands/spec-plan.toml +7 -0
  62. package/templates/gemini-commands/spec-status.toml +6 -0
  63. package/templates/gemini-commands/spec-tasks.toml +8 -0
  64. package/templates/gemini-commands/verify.toml +6 -0
  65. package/templates/gemini.md +37 -5
  66. package/templates/specs/_template/1-requirements.md +42 -0
  67. package/templates/specs/_template/2-plan.md +14 -0
  68. package/templates/specs/_template/2a-data-model.md +29 -0
  69. package/templates/specs/_template/2b-api-contracts.md +27 -0
  70. package/templates/specs/_template/2c-research.md +25 -0
  71. package/templates/specs/_template/3-tasks.md +2 -1
  72. package/templates/specs/_template/amendments.md +15 -0
  73. package/templates/specs/_template/analysis.md +49 -0
  74. package/templates/specs/_template/impl-gaps.md +15 -0
  75. package/templates/specs/_template/verify-report.md +43 -0
  76. package/templates/windsurf-rules/sddx-workflow.md +34 -5
  77. package/templates/windsurf-workflows/ask.md +9 -0
  78. package/templates/windsurf-workflows/assume.md +11 -0
  79. package/templates/windsurf-workflows/bootstrap.md +10 -0
  80. package/templates/windsurf-workflows/bugfix.md +11 -0
  81. package/templates/windsurf-workflows/conventions-sync.md +7 -0
  82. package/templates/windsurf-workflows/finish.md +9 -0
  83. package/templates/windsurf-workflows/impl-gap.md +9 -0
  84. package/templates/windsurf-workflows/refactor.md +9 -0
  85. package/templates/windsurf-workflows/research.md +9 -0
  86. package/templates/windsurf-workflows/review.md +9 -0
  87. package/templates/windsurf-workflows/scan.md +7 -0
  88. package/templates/windsurf-workflows/spec-amend.md +9 -0
  89. package/templates/windsurf-workflows/spec-analyze.md +9 -0
  90. package/templates/windsurf-workflows/spec-clarify.md +9 -0
  91. package/templates/windsurf-workflows/spec-conflicts.md +7 -0
  92. package/templates/windsurf-workflows/spec-new.md +10 -0
  93. package/templates/windsurf-workflows/spec-plan.md +10 -0
  94. package/templates/windsurf-workflows/spec-status.md +7 -0
  95. package/templates/windsurf-workflows/spec-tasks.md +11 -0
  96. package/templates/windsurf-workflows/verify.md +9 -0
  97. package/templates/workflow.md +323 -29
  98. package/templates/zed-rules/sddx-workflow.md +33 -5
package/README.md CHANGED
@@ -4,56 +4,206 @@
4
4
  [![node](https://img.shields.io/node/v/sddx-workflow)](https://nodejs.org)
5
5
  [![license](https://img.shields.io/npm/l/sddx-workflow)](LICENSE)
6
6
 
7
- Spec-Driven Development CLI for AI-assisted projects. Installs a structured workflow system that guides AI agents (Claude, Cursor, Copilot) through planning, execution, and review — without letting them run loose.
7
+ Spec-Driven Development for AI-assisted projects.
8
8
 
9
- Works with any project: Next.js, Python, React, Django, Go, Rails.
9
+ `sddx-workflow` installs a local protocol that guides AI agents through
10
+ **clarify → plan → execute → verify → review**, stopping at explicit gates where a
11
+ human approves before the agent continues. The CLI is intentionally small: it copies
12
+ Markdown command definitions into your repo, then you work inside your agent chat with
13
+ commands like `/spec-plan`, `/spec-tasks`, `/verify`, and `/finish`.
10
14
 
11
15
  ```bash
12
16
  npx sddx-workflow init
13
17
  ```
14
18
 
19
+ Works with any stack (Next.js, Python, Go, Rails, …) and ships provider templates for
20
+ **Claude Code, OpenAI Codex, GitHub Copilot, Gemini CLI, Windsurf, Cursor, and Zed**.
21
+
22
+ After install, the workflow happens inside your AI agent:
23
+
24
+ ```text
25
+ /spec-new auth-refresh
26
+ /spec-plan auth-refresh # stops for your approval before any code
27
+ /spec-tasks auth-refresh # executes one task at a time
28
+ /verify auth-refresh # mechanical audit — writes verify-report.md
29
+ /review auth-refresh # qualitative final pass
30
+ /finish # stage files + propose a commit message
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Mental model
36
+
37
+ There is no daemon, server, database, or task runner. `sddx-workflow` is an
38
+ **installer** for plain-Markdown protocol files your repo owns and you can edit.
39
+
40
+ Two command surfaces:
41
+
42
+ - **CLI commands** run in your terminal — install, status, updates:
43
+ `npx sddx-workflow init`, `sddx-workflow status`, `sddx-workflow update`.
44
+ - **Agent commands** run inside your AI tool — the actual workflow:
45
+ `/spec-plan`, `/spec-tasks`, `/verify`, `/finish`.
46
+
47
+ The agent reads `.sdd/workflow.md` before every task. That file defines the commands,
48
+ per-phase permissions, and **non-negotiable stop points**. The agent
49
+ drafts plans and reports; the human approves structural decisions. Each feature lives
50
+ in `specs/<feature>/` as Markdown you can read and diff.
51
+
15
52
  ---
16
53
 
17
54
  ## Why this exists
18
55
 
19
- AI agents tend to implement without validating assumptions, refactor more than asked, and don't have a mental model of when to stop and ask for approval. This system enforces explicit ceremony levels and stop points.
56
+ Left unsupervised, AI agents implement before validating assumptions, refactor more
57
+ than asked, add dependencies silently, and have no model of *when to stop and ask*.
58
+
59
+ This protocol gives the agent explicit stop points: plan before code, ask before
60
+ guessing, verify before finish, and amend approved specs through a visible Change
61
+ Request instead of editing them silently.
20
62
 
21
63
  ---
22
64
 
23
65
  ## Quick start
24
66
 
67
+ New project:
68
+
25
69
  ```bash
26
- # 1. Initialize the workflow in your project
70
+ # 1. Install the protocol (prompts for which agents to set up)
27
71
  npx sddx-workflow init
28
72
 
29
- # 2. Populate project context (run with your AI agent)
73
+ # 2. Populate project context run inside your AI agent
30
74
  /bootstrap
31
75
 
32
- # 3. Build a feature
33
- /spec-new # scaffold a spec folder
34
- /spec-plan # generate a technical plan stops for your approval
35
- /spec-tasks # execute one atomic task at a time
36
- /finish # stage files + generate a conventional commit
76
+ # 3. Build a feature, using a real feature name
77
+ /spec-new auth-refresh
78
+ /spec-plan auth-refresh # STOPS for your approval before any code
79
+ /spec-tasks auth-refresh # executes task by task
80
+ /verify auth-refresh # mechanical audit writes verify-report.md
81
+ /review auth-refresh # qualitative final pass
82
+ /finish # stage files + propose a commit message
83
+ ```
84
+
85
+ Existing codebase:
86
+
87
+ ```bash
88
+ npx sddx-workflow init --existing
89
+
90
+ # Then have the agent discover the code before writing context files:
91
+ /scan # discovery only — writes scan-report.md
92
+ /bootstrap --scan # proposes project-overview.md + conventions.md for approval
37
93
  ```
38
94
 
39
95
  ---
40
96
 
97
+ ## Which flow should I use?
98
+
99
+ | Situation | Use |
100
+ |---|---|
101
+ | Small confirmed bug (≤ ~50 lines, 1 file) | `/bugfix` → `/finish` |
102
+ | Behavior-preserving cleanup | `/refactor` → `/finish` |
103
+ | New feature | `/spec-new <name>` → `/spec-clarify <name>` → `/spec-plan <name>` → `/spec-tasks <name>` → `/verify` → `/review` → `/finish` |
104
+ | Unsure how the code works | `/ask` |
105
+ | Comparing libraries or approaches | `/research <feature> <topic>` |
106
+ | Requirements ambiguous before planning | `/spec-clarify <feature>` |
107
+ | Implementation blocked mid-task | `/impl-gap <feature>` |
108
+ | Approved requirements or plan must change | `/spec-amend <feature> <change-summary>` |
109
+ | Work done, needs audit | `/verify <feature>` → `/review <feature>` |
110
+
111
+ ---
112
+
113
+ ## Agent commands
114
+
115
+ 20 slash commands, installed for every agent you select. Full contract lives in
116
+ `.sdd/workflow.md`.
117
+
118
+ ### Project setup
119
+ | Command | Purpose |
120
+ |---|---|
121
+ | `/bootstrap` | Populate project context — interview (new) or `--scan` (existing codebase) |
122
+ | `/scan` | Discovery-only pass — writes `scan-report.md`, no `.sdd/` changes |
123
+ | `/conventions-sync` | Refresh `.sdd/conventions.md`, preserving `<!-- manual -->` sections |
124
+
125
+ ### Exploration (read-only)
126
+ | Command | Purpose |
127
+ |---|---|
128
+ | `/ask` | Research and explanation — never modifies anything |
129
+ | `/research` | Compare libraries/patterns → non-binding `research-<topic>.md` |
130
+ | `/assume` | Surface every assumption and stop until they're confirmed |
131
+
132
+ ### Feature flow
133
+ | Command | Purpose |
134
+ |---|---|
135
+ | `/spec-new` | Scaffold `specs/<feature>/` from the template |
136
+ | `/spec-clarify` | Ask blocking/non-blocking questions, record answers in requirements |
137
+ | `/spec-plan` | Generate the technical plan — **stops for approval before any code** |
138
+ | `/spec-tasks` | Execute the plan one atomic task at a time, test-first |
139
+ | `/impl-gap` | Stop and log a blocking ambiguity/contradiction — no improvising |
140
+ | `/spec-amend` | Documented Change Request to edit an already-approved spec |
141
+ | `/spec-analyze` | Cross-consistency check: goals↔tasks, plan↔tasks, scope creep |
142
+ | `/verify` | Strict mechanical audit — read-only `verify-report.md` |
143
+ | `/review` | Lighter qualitative pass — naming, clarity, simplicity |
144
+ | `/finish` | Stage files + draft a conventional commit message (stops to confirm) |
145
+
146
+ ### Multi-spec awareness
147
+ | Command | Purpose |
148
+ |---|---|
149
+ | `/spec-status` | State of every active spec (phase, progress, open CRs/gaps) |
150
+ | `/spec-conflicts` | Detect specs that touch the same files before they collide |
151
+
152
+ ### Quick changes
153
+ | Command | Purpose |
154
+ |---|---|
155
+ | `/bugfix` | Reproduce → diagnose → fix → validate |
156
+ | `/refactor` | Restructure with a green-test invariant, no behavior change |
157
+
158
+ **`/verify` vs `/review`:** `/verify` is the deterministic audit (tasks complete,
159
+ goals covered, suite green, no out-of-scope edits, no open gaps/CRs). `/review` is the
160
+ qualitative human-touch pass. Both are read-only — neither edits code or specs.
161
+
162
+ ---
163
+
41
164
  ## CLI reference
42
165
 
43
166
  ```bash
44
- npx sddx-workflow init # Initialize in current project
45
- npx sddx-workflow init --force # Overwrite existing files
167
+ npx sddx-workflow init # install protocol (prompts for agents)
168
+ npx sddx-workflow init --provider codex # install only one provider integration
169
+ npx sddx-workflow init --provider codex,gemini
170
+ npx sddx-workflow init --all # install every provider integration
171
+ npx sddx-workflow init --existing # brownfield: next steps start with /scan
172
+ npx sddx-workflow init --force # overwrite existing protocol files
173
+
174
+ npx sddx-workflow add domain auth # add a domain context file (.sdd/domains/auth.md)
175
+ # also: payments, storage, email
176
+
177
+ npx sddx-workflow status # bootstrap state + open specs progress
178
+ npx sddx-workflow commands # list agent commands
179
+ npx sddx-workflow update # refresh protocol files
180
+ npx sddx-workflow update --dry-run # preview installed files that would change
181
+ npx sddx-workflow update --check # CI-friendly outdated check
182
+ npx sddx-workflow doctor # validate install health + stale files
183
+ ```
46
184
 
47
- npx sddx-workflow add domain auth # Add a domain file
48
- npx sddx-workflow add domain payments
49
- npx sddx-workflow add domain storage
50
- npx sddx-workflow add domain email
185
+ Everything is **copied locally** your repo owns the files, no runtime dependency,
186
+ edit freely.
51
187
 
52
- npx sddx-workflow status # Show current workflow state
53
- npx sddx-workflow update # Update workflow templates
54
- ```
188
+ ## Updating an existing install
55
189
 
56
- Files are **copied locally** your project owns them. No runtime dependency. Edit freely.
190
+ `sddx-workflow update` refreshes workflow files that **already exist** in your
191
+ project. It does not silently create newly introduced provider commands in older
192
+ installs, because that could surprise teams that customized their local workflow.
193
+
194
+ | Need | Command |
195
+ |---|---|
196
+ | Refresh files you already have | `sddx-workflow update` |
197
+ | List agent commands | `sddx-workflow commands` |
198
+ | Preview template updates | `sddx-workflow update --dry-run` |
199
+ | Fail CI when templates are outdated | `sddx-workflow update --check` |
200
+ | Pull in commands added by a newer version | `sddx-workflow init --force` |
201
+ | Add a domain file | `sddx-workflow add domain auth` |
202
+ | Check installation health | `sddx-workflow doctor` |
203
+
204
+ `update` and `init --force` never touch `project-overview.md`, `conventions.md`,
205
+ or `domains/`. Before `init --force`, review local changes to provider command files,
206
+ `CLAUDE.md`, and `AGENTS.md`.
57
207
 
58
208
  ---
59
209
 
@@ -61,67 +211,103 @@ Files are **copied locally** — your project owns them. No runtime dependency.
61
211
 
62
212
  ```
63
213
  .sdd/
64
- workflow.md # Commands, ceremony levels, stop points
65
- project-overview.md # What this app is — populated by /bootstrap
66
- conventions.md # Stack and patterns — populated by /bootstrap
67
- domains/ # Domain-specific rules (auth, payments, etc.)
214
+ workflow.md # commands, permissions, stop points
215
+ project-overview.md # what this app is — populated by /bootstrap
216
+ conventions.md # stack & patterns — populated by /bootstrap
217
+ domains/ # optional domain rules (auth, payments, )
68
218
  specs/
69
- _template/
70
- 1-requirements.md # Problem, goals, acceptance criteria (BDD)
71
- 2-plan.md # Technical plan requires approval before coding
72
- 3-tasks.md # Atomic task checklist with TDD gate
73
- CLAUDE.md # Agent entry point — points to .sdd/
219
+ _template/ # source templates copied by /spec-new
220
+ 1-requirements.md # problem, goals (G1…), BDD acceptance criteria
221
+ 2-plan.md # approach, tradeoffs, components, abort criteria
222
+ 3-tasks.md # atomic task checklist with a TDD gate
223
+ 2a-data-model.md # optional: non-trivial persistence
224
+ 2b-api-contracts.md # optional: new external contracts
225
+ 2c-research.md # optional: research that belongs in the plan
226
+ amendments.md # Change Requests (/spec-amend)
227
+ impl-gaps.md # blocking gaps logged during execution (/impl-gap)
228
+ analysis.md # /spec-analyze output
229
+ verify-report.md # /verify output
230
+ _done/ # shipped specs, moved here after verify + review close
231
+ CLAUDE.md # agent entry point — points at .sdd/
74
232
  ```
75
233
 
234
+ - **You edit:** `project-overview.md`, `conventions.md`, and per-feature
235
+ `1-requirements.md` / `2-plan.md` / `3-tasks.md`.
236
+ - **The agent generates as history/reports:** `amendments.md`, `impl-gaps.md`,
237
+ `analysis.md`, and `verify-report.md`.
238
+
239
+ Per selected agent, command files are also installed (see Provider support).
240
+
76
241
  ---
77
242
 
78
- ## Agent commands
243
+ ## How approval works
79
244
 
80
- | Command | Purpose |
81
- |---|---|
82
- | `/bootstrap` | Populate project context via interview or codebase scan |
83
- | `/ask` | Research and exploration — no code changes |
84
- | `/assume` | Surface all assumptions before acting |
85
- | `/bugfix` | Reproduce → diagnose → fix → validate |
86
- | `/refactor` | Restructure without behavior change (green baseline required) |
87
- | `/spec-new` | Scaffold a spec folder for a feature |
88
- | `/spec-plan` | Generate technical plan — **stops for approval before any code** |
89
- | `/spec-tasks` | Execute plan one atomic task at a time, TDD-first |
90
- | `/review` | Final audit — verifies goals, no scope creep |
91
- | `/finish` | Stage files + generate conventional commit message |
245
+ The agent may draft plans and reports, but structural decisions stay with the human.
92
246
 
93
- ### Ceremony levels
247
+ - `/spec-plan` stops before code. You approve the plan before `/spec-tasks`.
248
+ - `/spec-tasks` can edit code and tests, but not approved requirements or plan files.
249
+ - `/impl-gap` records a blocker and waits for direction — no improvising.
250
+ - `/spec-amend` records a Change Request and waits for approval before changing
251
+ `1-requirements.md` or `2-plan.md`.
252
+ - `/verify` and `/review` are read-only, except for their report output.
94
253
 
95
- | Change type | Flow |
96
- |---|---|
97
- | Typo / comment | Direct |
98
- | Bug | `/bugfix` → `/finish` |
99
- | Refactor | `/refactor` `/finish` |
100
- | Feature | `/spec-new` → `/spec-plan` → `/spec-tasks` → `/review` → `/finish` |
101
- | Architecture | `/spec-new` `/spec-plan` (mandatory review) `/spec-tasks` → `/review` → `/finish` |
254
+ ---
255
+
256
+ ## Spec structure
257
+
258
+ Each feature lives in `specs/<name>/`. Three core files gate progress:
259
+
260
+ - **`1-requirements.md`** problem, measurable goals (G1, G2…), BDD acceptance
261
+ criteria, constraints, blocking vs. non-blocking open questions, and a
262
+ Clarifications section populated by `/spec-clarify`.
263
+ - **`2-plan.md`** — goals coverage, assumptions confirmed via `/assume`, approach +
264
+ tradeoffs, components affected, abort criteria. *Requires explicit approval before
265
+ any code is written.*
266
+ - **`3-tasks.md`** — one atomic task at a time; each names the test to write first
267
+ (red → green), files to change, and the goal ID it serves.
268
+
269
+ Once approved, `1-requirements.md` and `2-plan.md` are read-only — changes go through
270
+ `/spec-amend`. After `/verify` and `/review` close cleanly, the spec moves to
271
+ `specs/_done/`.
102
272
 
103
273
  ---
104
274
 
105
- ## Execution principles
275
+ ## Provider support
106
276
 
107
- Enforced by every command:
277
+ | Provider | Installed files |
278
+ |---|---|
279
+ | Claude Code | `.claude/commands/*.md`, `CLAUDE.md` |
280
+ | OpenAI Codex | `.agents/skills/*/SKILL.md`, `AGENTS.md` |
281
+ | GitHub Copilot | `.github/prompts/*.prompt.md`, `.github/copilot-instructions.md` |
282
+ | Gemini CLI | `.gemini/commands/*.toml`, `GEMINI.md` |
283
+ | Windsurf | `.windsurf/workflows/*.md`, `.windsurf/rules/sddx-workflow.md` |
284
+ | Cursor | `.cursor/rules/sddx-workflow.mdc` |
285
+ | Zed | `.rules` |
108
286
 
109
- 1. **Surface assumptions** list them before acting, not mid-execution
110
- 2. **Minimum code** — only what was asked; no "while I'm here" changes
111
- 3. **Surgical changes** — touch only what the task requires
112
- 4. **Verify before moving on** — define "done" before starting, not after
287
+ Providers with native slash-command or workflow support get per-command files.
288
+ Rule-only providers get the protocol as always-on project context.
113
289
 
114
290
  ---
115
291
 
116
- ## Spec structure
292
+ ## Execution principles
293
+
294
+ Enforced by every command:
117
295
 
118
- Each feature lives in `specs/<name>/` with three files:
296
+ 1. **Surface assumptions** list them before acting, not mid-execution.
297
+ 2. **Minimum code** — only what was asked; no "while I'm here" changes.
298
+ 3. **Surgical changes** — touch only what the task requires.
299
+ 4. **Verify before moving on** — define "done" before starting, not after.
300
+ 5. **Use the right channel for changes** — `/impl-gap` for blocked tasks,
301
+ `/spec-amend` for approved spec edits. Never edit approved specs silently.
119
302
 
120
- **`1-requirements.md`** — Problem, measurable goals (G1, G2…), BDD acceptance criteria, constraints, open questions (blocking vs. non-blocking).
303
+ ---
121
304
 
122
- **`2-plan.md`** Goals coverage, assumptions confirmed via `/assume`, approach + tradeoffs, components affected, abort criteria. Requires explicit approval before execution starts.
305
+ ## Design principles
123
306
 
124
- **`3-tasks.md`** One task at a time. Each has: test to write first (red → green), files to change, goal ID, and acceptance scenario. Completed specs move to `specs/_done/`.
307
+ - **Zero runtime dependency** files copied locally, no server, daemon, or watcher.
308
+ - **npx-first** — one command, no Python/uv/pipx.
309
+ - **The human decides, the agent executes** — no automated structural decisions.
310
+ - **Files you can read** — pure Markdown, no databases, no binary formats.
125
311
 
126
312
  ---
127
313
 
@@ -132,7 +318,7 @@ git clone https://github.com/MarcosCamara01/sddx-workflow.git
132
318
  cd sddx-workflow
133
319
  npm install
134
320
  npm run dev # watch mode
135
- npm run build # production build
321
+ npm run build # production build → dist/cli.js
136
322
  ```
137
323
 
138
324
  ### Publishing
@@ -143,7 +329,7 @@ npm version minor # new feature: 0.1.0 → 0.2.0
143
329
  npm publish
144
330
  ```
145
331
 
146
- Users running `npx sddx-workflow init` always get the latest version. Existing `.sdd/` files are never overwritten on update — use `--force` to explicitly replace them.
332
+ Users running `npx sddx-workflow init` always get the latest version.
147
333
 
148
334
  ---
149
335