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.
- package/README.md +249 -63
- package/dist/cli.js +370 -129
- package/package.json +1 -1
- package/templates/AGENTS.md +38 -5
- package/templates/CLAUDE.md +76 -5
- package/templates/claude-commands/conventions-sync.md +3 -0
- package/templates/claude-commands/impl-gap.md +10 -0
- package/templates/claude-commands/research.md +7 -0
- package/templates/claude-commands/review.md +1 -1
- package/templates/claude-commands/scan.md +5 -0
- package/templates/claude-commands/spec-amend.md +7 -0
- package/templates/claude-commands/spec-analyze.md +5 -0
- package/templates/claude-commands/spec-clarify.md +5 -0
- package/templates/claude-commands/spec-conflicts.md +3 -0
- package/templates/claude-commands/spec-status.md +3 -0
- package/templates/claude-commands/spec-tasks.md +3 -3
- package/templates/claude-commands/verify.md +5 -0
- package/templates/codex-skills/conventions-sync/SKILL.md +8 -0
- package/templates/codex-skills/impl-gap/SKILL.md +10 -0
- package/templates/codex-skills/research/SKILL.md +10 -0
- package/templates/codex-skills/review/SKILL.md +2 -2
- package/templates/codex-skills/scan/SKILL.md +8 -0
- package/templates/codex-skills/spec-amend/SKILL.md +10 -0
- package/templates/codex-skills/spec-analyze/SKILL.md +8 -0
- package/templates/codex-skills/spec-clarify/SKILL.md +8 -0
- package/templates/codex-skills/spec-conflicts/SKILL.md +8 -0
- package/templates/codex-skills/spec-status/SKILL.md +8 -0
- package/templates/codex-skills/spec-tasks/SKILL.md +3 -3
- package/templates/codex-skills/verify/SKILL.md +8 -0
- package/templates/conventions/base.md +7 -0
- package/templates/copilot-instructions.md +35 -5
- package/templates/copilot-prompts/conventions-sync.prompt.md +8 -0
- package/templates/copilot-prompts/impl-gap.prompt.md +10 -0
- package/templates/copilot-prompts/research.prompt.md +10 -0
- package/templates/copilot-prompts/review.prompt.md +2 -2
- package/templates/copilot-prompts/scan.prompt.md +8 -0
- package/templates/copilot-prompts/spec-amend.prompt.md +10 -0
- package/templates/copilot-prompts/spec-analyze.prompt.md +8 -0
- package/templates/copilot-prompts/spec-clarify.prompt.md +8 -0
- package/templates/copilot-prompts/spec-conflicts.prompt.md +8 -0
- package/templates/copilot-prompts/spec-status.prompt.md +8 -0
- package/templates/copilot-prompts/spec-tasks.prompt.md +3 -3
- package/templates/copilot-prompts/verify.prompt.md +8 -0
- package/templates/cursor-rules/sddx-workflow.mdc +34 -5
- package/templates/gemini-commands/ask.toml +8 -0
- package/templates/gemini-commands/assume.toml +10 -0
- package/templates/gemini-commands/bootstrap.toml +9 -0
- package/templates/gemini-commands/bugfix.toml +10 -0
- package/templates/gemini-commands/conventions-sync.toml +6 -0
- package/templates/gemini-commands/finish.toml +8 -0
- package/templates/gemini-commands/impl-gap.toml +10 -0
- package/templates/gemini-commands/refactor.toml +8 -0
- package/templates/gemini-commands/research.toml +10 -0
- package/templates/gemini-commands/review.toml +8 -0
- package/templates/gemini-commands/scan.toml +6 -0
- package/templates/gemini-commands/spec-amend.toml +10 -0
- package/templates/gemini-commands/spec-analyze.toml +6 -0
- package/templates/gemini-commands/spec-clarify.toml +6 -0
- package/templates/gemini-commands/spec-conflicts.toml +6 -0
- package/templates/gemini-commands/spec-new.toml +7 -0
- package/templates/gemini-commands/spec-plan.toml +7 -0
- package/templates/gemini-commands/spec-status.toml +6 -0
- package/templates/gemini-commands/spec-tasks.toml +8 -0
- package/templates/gemini-commands/verify.toml +6 -0
- package/templates/gemini.md +37 -5
- package/templates/specs/_template/1-requirements.md +42 -0
- package/templates/specs/_template/2-plan.md +14 -0
- package/templates/specs/_template/2a-data-model.md +29 -0
- package/templates/specs/_template/2b-api-contracts.md +27 -0
- package/templates/specs/_template/2c-research.md +25 -0
- package/templates/specs/_template/3-tasks.md +2 -1
- package/templates/specs/_template/amendments.md +15 -0
- package/templates/specs/_template/analysis.md +49 -0
- package/templates/specs/_template/impl-gaps.md +15 -0
- package/templates/specs/_template/verify-report.md +43 -0
- package/templates/windsurf-rules/sddx-workflow.md +34 -5
- package/templates/windsurf-workflows/ask.md +9 -0
- package/templates/windsurf-workflows/assume.md +11 -0
- package/templates/windsurf-workflows/bootstrap.md +10 -0
- package/templates/windsurf-workflows/bugfix.md +11 -0
- package/templates/windsurf-workflows/conventions-sync.md +7 -0
- package/templates/windsurf-workflows/finish.md +9 -0
- package/templates/windsurf-workflows/impl-gap.md +9 -0
- package/templates/windsurf-workflows/refactor.md +9 -0
- package/templates/windsurf-workflows/research.md +9 -0
- package/templates/windsurf-workflows/review.md +9 -0
- package/templates/windsurf-workflows/scan.md +7 -0
- package/templates/windsurf-workflows/spec-amend.md +9 -0
- package/templates/windsurf-workflows/spec-analyze.md +9 -0
- package/templates/windsurf-workflows/spec-clarify.md +9 -0
- package/templates/windsurf-workflows/spec-conflicts.md +7 -0
- package/templates/windsurf-workflows/spec-new.md +10 -0
- package/templates/windsurf-workflows/spec-plan.md +10 -0
- package/templates/windsurf-workflows/spec-status.md +7 -0
- package/templates/windsurf-workflows/spec-tasks.md +11 -0
- package/templates/windsurf-workflows/verify.md +9 -0
- package/templates/workflow.md +323 -29
- package/templates/zed-rules/sddx-workflow.md +33 -5
package/README.md
CHANGED
|
@@ -4,56 +4,206 @@
|
|
|
4
4
|
[](https://nodejs.org)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
|
|
7
|
-
Spec-Driven Development
|
|
7
|
+
Spec-Driven Development for AI-assisted projects.
|
|
8
8
|
|
|
9
|
-
|
|
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
|
|
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.
|
|
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
|
|
73
|
+
# 2. Populate project context — run inside your AI agent
|
|
30
74
|
/bootstrap
|
|
31
75
|
|
|
32
|
-
# 3. Build a feature
|
|
33
|
-
/spec-new
|
|
34
|
-
/spec-plan #
|
|
35
|
-
/spec-tasks #
|
|
36
|
-
/
|
|
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 #
|
|
45
|
-
npx sddx-workflow init --
|
|
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
|
-
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
npx sddx-workflow update # Update workflow templates
|
|
54
|
-
```
|
|
188
|
+
## Updating an existing install
|
|
55
189
|
|
|
56
|
-
|
|
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
|
|
65
|
-
project-overview.md
|
|
66
|
-
conventions.md
|
|
67
|
-
domains/
|
|
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
|
|
71
|
-
2-plan.md
|
|
72
|
-
3-tasks.md
|
|
73
|
-
|
|
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
|
-
##
|
|
243
|
+
## How approval works
|
|
79
244
|
|
|
80
|
-
|
|
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
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
##
|
|
275
|
+
## Provider support
|
|
106
276
|
|
|
107
|
-
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
##
|
|
292
|
+
## Execution principles
|
|
293
|
+
|
|
294
|
+
Enforced by every command:
|
|
117
295
|
|
|
118
|
-
|
|
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
|
-
|
|
303
|
+
---
|
|
121
304
|
|
|
122
|
-
|
|
305
|
+
## Design principles
|
|
123
306
|
|
|
124
|
-
|
|
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.
|
|
332
|
+
Users running `npx sddx-workflow init` always get the latest version.
|
|
147
333
|
|
|
148
334
|
---
|
|
149
335
|
|