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/templates/AGENTS.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This project uses the SDD Protocol. Read these files before starting any task:
|
|
4
4
|
|
|
5
|
-
1. **[.sdd/workflow.md](.sdd/workflow.md)** — commands,
|
|
5
|
+
1. **[.sdd/workflow.md](.sdd/workflow.md)** — commands, permissions, stop points, anti-patterns
|
|
6
6
|
2. **[.sdd/project-overview.md](.sdd/project-overview.md)** — what this app is, its non-goals, domains, and definition of done
|
|
7
7
|
3. **[.sdd/conventions.md](.sdd/conventions.md)** — project-specific conventions and patterns
|
|
8
8
|
|
|
@@ -10,15 +10,48 @@ This project uses the SDD Protocol. Read these files before starting any task:
|
|
|
10
10
|
|
|
11
11
|
Type `/skills` or `$skill-name` to invoke. Skills are defined in `.agents/skills/`.
|
|
12
12
|
|
|
13
|
+
### Project setup
|
|
13
14
|
| Intent | Skill |
|
|
14
15
|
|---|---|
|
|
15
|
-
| Initialize project context
|
|
16
|
-
|
|
|
16
|
+
| Initialize project context (new) | `$bootstrap` |
|
|
17
|
+
| Initialize project context (existing codebase) | `$bootstrap --scan` |
|
|
18
|
+
| Discovery-only scan of an existing codebase | `$scan` |
|
|
19
|
+
| Refresh conventions from current project state | `$conventions-sync` |
|
|
20
|
+
|
|
21
|
+
### Exploration
|
|
22
|
+
| Intent | Skill |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Research / ask without changing anything | `$ask` |
|
|
25
|
+
| Non-binding research artifact for a topic | `$research` |
|
|
17
26
|
| Surface and validate assumptions | `$assume` |
|
|
27
|
+
|
|
28
|
+
### Feature flow
|
|
29
|
+
| Intent | Skill |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Scaffold a spec folder | `$spec-new` |
|
|
32
|
+
| Clarify a draft before planning | `$spec-clarify` |
|
|
33
|
+
| Generate technical plan (stops for approval) | `$spec-plan` |
|
|
34
|
+
| Execute approved plan one task at a time | `$spec-tasks` |
|
|
35
|
+
| Stop and report an implementation gap | `$impl-gap` |
|
|
36
|
+
| Document a Change Request for spec edits | `$spec-amend` |
|
|
37
|
+
| Cross-consistency analysis (goals / plan / tasks) | `$spec-analyze` |
|
|
38
|
+
| Strict mechanical audit | `$verify` |
|
|
39
|
+
| Lighter human-touch final pass | `$review` |
|
|
40
|
+
| Stage and commit | `$finish` |
|
|
41
|
+
|
|
42
|
+
### Multi-spec
|
|
43
|
+
| Intent | Skill |
|
|
44
|
+
|---|---|
|
|
45
|
+
| Show state of all active specs | `$spec-status` |
|
|
46
|
+
| Detect file-level conflicts between specs | `$spec-conflicts` |
|
|
47
|
+
|
|
48
|
+
### Other
|
|
49
|
+
| Intent | Skill |
|
|
50
|
+
|---|---|
|
|
18
51
|
| Fix a confirmed bug | `$bugfix` → `$finish` |
|
|
19
52
|
| Restructure without behavior change | `$refactor` → `$finish` |
|
|
20
|
-
|
|
21
|
-
|
|
53
|
+
|
|
54
|
+
Standard workflow: `$spec-new` → `$spec-clarify` → `$spec-plan` → `$spec-tasks` → `$verify` → `$review` → `$finish`.
|
|
22
55
|
|
|
23
56
|
## Active Specs
|
|
24
57
|
|
package/templates/CLAUDE.md
CHANGED
|
@@ -2,21 +2,92 @@
|
|
|
2
2
|
|
|
3
3
|
This project uses the SDD Protocol. Read these files before starting any task:
|
|
4
4
|
|
|
5
|
-
1. **[.sdd/workflow.md](.sdd/workflow.md)** — commands,
|
|
5
|
+
1. **[.sdd/workflow.md](.sdd/workflow.md)** — commands, permissions, stop points, anti-patterns
|
|
6
6
|
2. **[.sdd/project-overview.md](.sdd/project-overview.md)** — what this app is, its non-goals, domains, and definition of done
|
|
7
7
|
3. **[.sdd/conventions.md](.sdd/conventions.md)** — project-specific conventions and patterns
|
|
8
8
|
|
|
9
9
|
## Quick Reference
|
|
10
10
|
|
|
11
|
+
### Project setup
|
|
11
12
|
| Intent | Command |
|
|
12
13
|
|---|---|
|
|
13
|
-
| Initialize project context
|
|
14
|
-
|
|
|
14
|
+
| Initialize project context (new) | `/bootstrap` |
|
|
15
|
+
| Initialize project context (existing codebase) | `/bootstrap --scan` |
|
|
16
|
+
| Discovery-only scan, no `.sdd/` writes | `/scan` |
|
|
17
|
+
| Refresh conventions from current project state | `/conventions-sync` |
|
|
18
|
+
|
|
19
|
+
### Exploration
|
|
20
|
+
| Intent | Command |
|
|
21
|
+
|---|---|
|
|
22
|
+
| Research / ask without changing anything | `/ask` |
|
|
23
|
+
| Non-binding research artifact for a topic | `/research` |
|
|
15
24
|
| Surface and validate assumptions | `/assume` |
|
|
25
|
+
|
|
26
|
+
### Feature flow
|
|
27
|
+
| Intent | Command |
|
|
28
|
+
|---|---|
|
|
29
|
+
| Scaffold a spec folder | `/spec-new` |
|
|
30
|
+
| Clarify a draft before planning | `/spec-clarify` |
|
|
31
|
+
| Generate technical plan (stops for approval) | `/spec-plan` |
|
|
32
|
+
| Execute approved plan one task at a time | `/spec-tasks` |
|
|
33
|
+
| Stop and report an implementation gap | `/impl-gap` |
|
|
34
|
+
| Document a Change Request for spec edits | `/spec-amend` |
|
|
35
|
+
| Cross-consistency analysis | `/spec-analyze` |
|
|
36
|
+
| Strict mechanical audit | `/verify` |
|
|
37
|
+
| Lighter human-touch final pass | `/review` |
|
|
38
|
+
| Stage and commit | `/finish` |
|
|
39
|
+
|
|
40
|
+
### Multi-spec awareness
|
|
41
|
+
| Intent | Command |
|
|
42
|
+
|---|---|
|
|
43
|
+
| Show state of all active specs | `/spec-status` |
|
|
44
|
+
| Detect file-level conflicts between specs | `/spec-conflicts` |
|
|
45
|
+
|
|
46
|
+
### Other
|
|
47
|
+
| Intent | Command |
|
|
48
|
+
|---|---|
|
|
16
49
|
| Fix a confirmed bug | `/bugfix` → `/finish` |
|
|
17
50
|
| Restructure without behavior change | `/refactor` → `/finish` |
|
|
18
|
-
|
|
19
|
-
|
|
51
|
+
|
|
52
|
+
Standard workflow: `/spec-new` → `/spec-clarify` → `/spec-plan` → `/spec-tasks` → `/verify` → `/review` → `/finish`.
|
|
53
|
+
|
|
54
|
+
## Per-Phase Permissions
|
|
55
|
+
|
|
56
|
+
See `.sdd/workflow.md` §Per-Phase Permissions for the full table. Quick summary:
|
|
57
|
+
|
|
58
|
+
| Command | Edit specs | Edit code |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| `/spec-plan` | ✓ (`2-plan.md` only) | ✗ |
|
|
61
|
+
| `/spec-tasks` | ✓ (`3-tasks.md` checklist only) | ✓ |
|
|
62
|
+
| `/impl-gap` | ✓ (`impl-gaps.md` only) | ✗ |
|
|
63
|
+
| `/spec-amend` | ✓ (with CR approval) | ✗ |
|
|
64
|
+
| `/verify`, `/review` | ✗ | ✗ |
|
|
65
|
+
| `/bugfix`, `/refactor` | ✗ | ✓ |
|
|
66
|
+
|
|
67
|
+
## Files to Read Per Command
|
|
68
|
+
|
|
69
|
+
What context to load before running each command. Skip the rest — context budget is finite.
|
|
70
|
+
|
|
71
|
+
| Command | Always read | Conditionally read |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| `/bootstrap`, `/scan` | `package.json`, env files, manifests | Existing `.sdd/project-overview.md` if updating |
|
|
74
|
+
| `/spec-new` | `specs/_template/*` | — |
|
|
75
|
+
| `/spec-clarify`, `/spec-plan`, `/spec-tasks` | `specs/<feature>/*.md`, `.sdd/conventions.md`, `.sdd/project-overview.md` | Relevant domain file `.sdd/domains/<x>.md` |
|
|
76
|
+
| `/impl-gap` | `specs/<feature>/2-plan.md`, `specs/<feature>/3-tasks.md` | The current task code under work |
|
|
77
|
+
| `/verify`, `/spec-analyze` | All `specs/<feature>/*.md`, files listed in "Components Affected" | Prior `verify-report.md` / `analysis.md` |
|
|
78
|
+
| `/review` | `verify-report.md`, all changed files | `2-plan.md` tradeoffs section |
|
|
79
|
+
| `/bugfix` | Test suite root, the failing path | `.sdd/conventions.md` |
|
|
80
|
+
| `/refactor` | Target files, their tests, callers | — |
|
|
81
|
+
| `/conventions-sync` | `.sdd/conventions.md`, `package.json`, lint/format configs | — |
|
|
82
|
+
| `/finish` | `git status`, `git diff` | — |
|
|
83
|
+
|
|
84
|
+
## Anti-Patterns
|
|
85
|
+
|
|
86
|
+
See `.sdd/workflow.md` §Anti-Patterns for the full list. The three most critical:
|
|
87
|
+
|
|
88
|
+
1. **Edit approved spec files silently.** Use `/spec-amend` or explicit user approval.
|
|
89
|
+
2. **Improvise when the spec is ambiguous.** Use `/impl-gap` and stop.
|
|
90
|
+
3. **Skip `/verify` before `/finish`.** Mechanical checks exist to catch real problems.
|
|
20
91
|
|
|
21
92
|
## Active Specs
|
|
22
93
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
Execute the /conventions-sync command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Refresh .sdd/conventions.md against current project state. Preserve sections marked `<!-- manual -->` verbatim; regenerate auto-sections from scanned packages, structure, lint/format configs, ORM/router in use. Present the diff for explicit approval before writing.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Execute the /impl-gap command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Usage: /impl-gap <feature>
|
|
4
|
+
|
|
5
|
+
A task is blocked by ambiguity, contradiction, or technical impossibility. STOP execution. Create specs/<feature>/impl-gaps.md from the template if missing, then append a GAP entry with the current task, problem, impact, proposed resolution, action required, and resolution placeholder. Do not improvise — wait for human direction.
|
|
6
|
+
|
|
7
|
+
If the gap requires changing the spec:
|
|
8
|
+
- Escalate to /spec-amend. A formal CR is required before any approved spec edit.
|
|
9
|
+
|
|
10
|
+
Feature: $ARGUMENTS
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Execute the /research command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Usage: /research <feature> <topic>
|
|
4
|
+
|
|
5
|
+
Targeted exploration that produces a non-binding research artifact. Read specs/<feature>/1-requirements.md, investigate options (frameworks, libraries, patterns), and write specs/<feature>/research-<topic>.md with options, pros/cons, current state, and a non-binding recommendation. Do NOT modify 2-plan.md.
|
|
6
|
+
|
|
7
|
+
Feature and topic: $ARGUMENTS
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Execute the /review command defined in .sdd/workflow.md.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lighter human-touch final pass — runs AFTER /verify has reported green. Read the implementation qualitatively: clarity, naming, simplicity, leaky abstractions, copy-paste smell, comments that lie. Note minor follow-ups; don't enforce mechanical checks (that's /verify's job). If a structural issue is found, escalate to /spec-amend instead of editing.
|
|
4
4
|
|
|
5
5
|
Spec: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Execute the /scan command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Discovery-only pass over the codebase. Detect frameworks, dependencies, structure, naming patterns, lint/format configs. Write scan-report.md at repo root. Do NOT write any .sdd/ files — /bootstrap --scan is the command that does that.
|
|
4
|
+
|
|
5
|
+
Scope [optional sub-path]: $ARGUMENTS
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Execute the /spec-amend command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Usage: /spec-amend <feature> <change-summary>
|
|
4
|
+
|
|
5
|
+
A spec change after approval requires a Change Request. Create specs/<feature>/amendments.md from the template if missing, then append a CR entry with motive, requirement changes, plan changes, affected tasks, and status "Pending approval". Stop for explicit approval before propagating any change.
|
|
6
|
+
|
|
7
|
+
Feature and change summary: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Execute the /spec-analyze command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Cross-consistency analysis for a single spec. Check: goal-to-task coverage (every G-ID referenced by a task), plan-to-task coverage (every "Components Affected" entry referenced by a task), scope creep (tasks without goal IDs). Write specs/$ARGUMENTS/analysis.md. Do not modify any other file.
|
|
4
|
+
|
|
5
|
+
Spec: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Execute the /spec-clarify command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Generate categorized clarification questions for a draft 1-requirements.md — blocking vs. non-blocking. Present them to the user, then record questions and answers in a Clarifications section of specs/$ARGUMENTS/1-requirements.md. No other section is modified.
|
|
4
|
+
|
|
5
|
+
Feature: $ARGUMENTS
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
Execute the /spec-conflicts command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Cross-reference "Components Affected" across all active specs. Any file listed by two or more specs is a potential conflict — report file, the specs touching it, and a sequencing recommendation. Detection only; do not modify any spec.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
Execute the /spec-status command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Show the state of all active specs (folders under specs/ excluding _template and _done). For each: feature name, current phase inferred from file state, progress (N/M tasks), outstanding CRs or unresolved gaps. Do not modify any file.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Execute the /spec-tasks command defined in .sdd/workflow.md.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Then read the approved specs/$ARGUMENTS/2-plan.md and execute tasks one at a time. Write the test first (red), implement until green, run the full suite, then move to the next task.
|
|
4
|
+
|
|
5
|
+
If a task is blocked by ambiguity, contradiction, or technical impossibility, STOP and run /impl-gap — never improvise. If the gap requires changing the spec, escalate to /spec-amend.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Execute the /verify command defined in .sdd/workflow.md.
|
|
2
|
+
|
|
3
|
+
Strict mechanical audit — read-only. Check: all tasks marked complete, every goal has an artifact, every acceptance scenario has a passing test, full test suite green, no out-of-scope file changes, no unresolved /impl-gap entries, no pending CRs. Write specs/$ARGUMENTS/verify-report.md. Do not modify code or specs.
|
|
4
|
+
|
|
5
|
+
Spec: $ARGUMENTS
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: conventions-sync
|
|
3
|
+
description: Refresh .sdd/conventions.md from current project state. Preserves sections marked `<!-- manual -->`. Shows diff for approval before writing. Use when the project's stack or patterns drift from documented conventions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /conventions-sync command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Scan packages, structure, lint/format configs, ORM/router. Preserve manual sections verbatim; regenerate auto-sections. Present diff and STOP for approval before writing.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: impl-gap
|
|
3
|
+
description: Formal stop-and-report channel when /spec-tasks hits an ambiguity, contradiction, or technical impossibility. Append a GAP entry to specs/<feature>/impl-gaps.md and wait for direction. Never improvise a fix.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /impl-gap command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /impl-gap <feature>
|
|
9
|
+
|
|
10
|
+
STOP execution. Create specs/<feature>/impl-gaps.md from the template if missing, then append a GAP entry with current task, problem, impact, proposed resolution, action required, and resolution placeholder. Wait for human direction. If the gap requires changing the spec, escalate to /spec-amend.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Targeted exploration that produces a non-binding research artifact. Use before /spec-plan when comparing frameworks, libraries, patterns, or architectures — separates exploration from commitment.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /research command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /research <feature> <topic>
|
|
9
|
+
|
|
10
|
+
Investigate options for the topic. Read specs/<feature>/1-requirements.md and write specs/<feature>/research-<topic>.md with options, pros/cons, current versions/maintenance status, and a non-binding recommendation. Do NOT modify 2-plan.md.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review
|
|
3
|
-
description:
|
|
3
|
+
description: Lighter human-touch final pass after /verify reports green. Qualitative reading — clarity, naming, simplicity, leaky abstractions, comments that lie. Notes minor follow-ups; mechanical checks live in /verify.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Execute the /review command defined in .sdd/workflow.md.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Read the implementation qualitatively. Surface unclear naming, leaky abstractions, copy-paste smell, and comments that lie. Note minor follow-ups; do not enforce mechanical checks (that is /verify's job). If a structural issue is found, escalate to /spec-amend.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scan
|
|
3
|
+
description: Discovery-only pass over an existing codebase. Detects frameworks, dependencies, structure, naming patterns. Writes scan-report.md at repo root. Does NOT write .sdd/ files — use /bootstrap --scan for that.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /scan command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Read package manifests, directory structure, lint/format configs, and observable conventions. Produce scan-report.md at repo root with findings. Do not modify any .sdd/ file.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-amend
|
|
3
|
+
description: Documented change-request mechanism for post-approval changes to a spec. Append a CR entry to specs/<feature>/amendments.md and stop for human approval before propagating any change. Use when an /impl-gap escalates or the user requests a spec change.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-amend command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /spec-amend <feature> <change-summary>
|
|
9
|
+
|
|
10
|
+
A spec change after approval requires a Change Request. Create specs/<feature>/amendments.md from the template if missing, then append a CR entry with motive, requirement changes, plan changes, affected tasks, and status "Pending approval". Stop for explicit approval before propagating any change.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-analyze
|
|
3
|
+
description: Cross-consistency analysis between requirements, plan, and tasks for a single spec. Checks goal-to-task coverage, plan-to-task coverage, scope creep. Writes analysis.md. Use before /verify when you suspect drift.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-analyze command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Check: every G-ID referenced by at least one task; every "Components Affected" entry referenced by at least one task; any task lacking a goal reference (scope creep). Write specs/<feature>/analysis.md.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-clarify
|
|
3
|
+
description: Structured pre-plan clarification of a draft 1-requirements.md. Generates blocking and non-blocking questions, records answers in a Clarifications section. Use before /spec-plan when ambiguities remain.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-clarify command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Generate categorized clarification questions (blocking / non-blocking) for the draft requirements. Wait for answers. Append questions and answers to a Clarifications section of specs/<feature>/1-requirements.md. No other section is modified.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-conflicts
|
|
3
|
+
description: Detect file-level conflicts between active specs by cross-referencing "Components Affected". Detection only — sequencing is a human decision.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-conflicts command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
For each pair of active specs, report files that appear in both "Components Affected" sections. Suggest sequencing without making the decision.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-status
|
|
3
|
+
description: Show state of all active specs (folders under specs/ excluding _template and _done). Reports phase, progress, outstanding CRs and gaps per spec. Read-only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-status command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
List each active spec with its phase, progress, and any outstanding CRs or unresolved gaps. Do not modify any file.
|
|
@@ -5,6 +5,6 @@ description: Execute an approved technical plan as atomic tasks, one at a time.
|
|
|
5
5
|
|
|
6
6
|
Execute the /spec-tasks command defined in .sdd/workflow.md.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Then read the approved specs/<feature>/2-plan.md and execute tasks one at a time. Write the test first (red), implement until green, run the full suite, then move to the next task.
|
|
9
|
+
|
|
10
|
+
If a task is blocked by ambiguity, contradiction, or technical impossibility, STOP and run /impl-gap — never improvise. If the gap requires changing the spec, escalate to /spec-amend.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify
|
|
3
|
+
description: Strict mechanical audit before /review. Read-only. Checks task completion, goal coverage, test suite, scope creep, pending CRs and gaps. Writes verify-report.md. Use after /spec-tasks finishes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /verify command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Read-only mechanical audit. Check: all tasks marked complete, every goal has an artifact, every acceptance scenario has a passing test, full test suite green, no out-of-scope file changes, no unresolved /impl-gap entries, no pending CRs. Write specs/<feature>/verify-report.md. Do not modify code or specs.
|
|
@@ -5,28 +5,35 @@
|
|
|
5
5
|
|
|
6
6
|
## Tech Stack
|
|
7
7
|
|
|
8
|
+
<!-- auto -->
|
|
8
9
|
<!-- Primary technologies, frameworks, libraries, and their versions -->
|
|
9
10
|
|
|
10
11
|
## File & Folder Structure
|
|
11
12
|
|
|
13
|
+
<!-- auto -->
|
|
12
14
|
<!-- How the project is organized. Point out anything non-obvious. -->
|
|
13
15
|
|
|
14
16
|
## Naming Conventions
|
|
15
17
|
|
|
18
|
+
<!-- auto -->
|
|
16
19
|
<!-- Files, functions, variables, types — rules and examples -->
|
|
17
20
|
|
|
18
21
|
## Code Style
|
|
19
22
|
|
|
23
|
+
<!-- auto -->
|
|
20
24
|
<!-- Patterns to follow, abstractions in use, preferred approaches -->
|
|
21
25
|
|
|
22
26
|
## Patterns to Avoid
|
|
23
27
|
|
|
28
|
+
<!-- manual -->
|
|
24
29
|
<!-- Anti-patterns, deprecated approaches, things that have caused bugs before -->
|
|
25
30
|
|
|
26
31
|
## Testing
|
|
27
32
|
|
|
33
|
+
<!-- auto -->
|
|
28
34
|
<!-- How tests are structured, what needs to be tested, coverage expectations -->
|
|
29
35
|
|
|
30
36
|
## Domain Glossary
|
|
31
37
|
|
|
38
|
+
<!-- manual -->
|
|
32
39
|
<!-- Key terms in this project and what they mean precisely -->
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This project uses the SDD Protocol. Before starting any task, read:
|
|
4
4
|
|
|
5
|
-
1. `.sdd/workflow.md` —
|
|
5
|
+
1. `.sdd/workflow.md` — commands, permissions, stop points, anti-patterns
|
|
6
6
|
2. `.sdd/project-overview.md` — what this app is, its non-goals, and domains
|
|
7
7
|
3. `.sdd/conventions.md` — project-specific conventions and patterns
|
|
8
8
|
|
|
@@ -10,24 +10,54 @@ This project uses the SDD Protocol. Before starting any task, read:
|
|
|
10
10
|
|
|
11
11
|
Use these slash commands in Copilot Chat (type `/` to see them):
|
|
12
12
|
|
|
13
|
+
### Project setup
|
|
14
|
+
| Command | Purpose |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `/bootstrap` | Populate project context — interview or `--scan` |
|
|
17
|
+
| `/scan` | Discovery-only pass — writes `scan-report.md`, no `.sdd/` |
|
|
18
|
+
| `/conventions-sync` | Refresh `.sdd/conventions.md`, preserving manual sections |
|
|
19
|
+
|
|
20
|
+
### Exploration
|
|
13
21
|
| Command | Purpose |
|
|
14
22
|
|---|---|
|
|
15
|
-
| `/bootstrap` | Populate project context — interview or codebase scan |
|
|
16
23
|
| `/ask` | Research only — no code changes |
|
|
24
|
+
| `/research` | Non-binding research artifact for a topic |
|
|
17
25
|
| `/assume` | List assumptions and stop for confirmation |
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
|
|
27
|
+
### Feature flow
|
|
28
|
+
| Command | Purpose |
|
|
29
|
+
|---|---|
|
|
20
30
|
| `/spec-new` | Scaffold a spec folder |
|
|
31
|
+
| `/spec-clarify` | Pre-plan clarification — blocking vs. non-blocking questions |
|
|
21
32
|
| `/spec-plan` | Generate technical plan — stop for approval |
|
|
22
33
|
| `/spec-tasks` | Execute plan one task at a time, TDD-first |
|
|
23
|
-
| `/
|
|
34
|
+
| `/impl-gap` | Stop and report a blocking ambiguity |
|
|
35
|
+
| `/spec-amend` | Documented Change Request for post-approval edits |
|
|
36
|
+
| `/spec-analyze` | Cross-consistency analysis — writes `analysis.md` |
|
|
37
|
+
| `/verify` | Strict mechanical audit — read-only |
|
|
38
|
+
| `/review` | Lighter human-touch final pass |
|
|
24
39
|
| `/finish` | Stage files and generate commit message |
|
|
25
40
|
|
|
41
|
+
### Multi-spec
|
|
42
|
+
| Command | Purpose |
|
|
43
|
+
|---|---|
|
|
44
|
+
| `/spec-status` | Show all active specs and their phase |
|
|
45
|
+
| `/spec-conflicts` | Detect file-level conflicts between specs |
|
|
46
|
+
|
|
47
|
+
### Other
|
|
48
|
+
| Command | Purpose |
|
|
49
|
+
|---|---|
|
|
50
|
+
| `/bugfix` | Reproduce → diagnose → fix → validate |
|
|
51
|
+
| `/refactor` | Restructure without behavior change |
|
|
52
|
+
|
|
53
|
+
Standard workflow: `/spec-new` → `/spec-clarify` → `/spec-plan` → `/spec-tasks` → `/verify` → `/review` → `/finish`.
|
|
54
|
+
|
|
26
55
|
## Execution principles
|
|
27
56
|
|
|
28
57
|
1. Surface assumptions before acting — never pick an interpretation silently; if a simpler approach exists, say so and push back
|
|
29
58
|
2. Minimum code — only what was asked; no speculative flexibility, no error handling for impossible scenarios; ask "would a senior engineer say this is overcomplicated?"
|
|
30
59
|
3. Surgical changes — touch only what the task requires; match existing style; remove only orphans *your* changes created, not pre-existing dead code; every changed line must trace to the request
|
|
31
60
|
4. Verify before moving on — transform vague tasks into verifiable goals ("Fix bug" → "Write failing test, then make it pass"); define "done" before starting
|
|
61
|
+
5. Use the right channel for changes — never edit approved spec files silently; `/spec-amend` for spec changes, `/impl-gap` for blocked tasks
|
|
32
62
|
|
|
33
63
|
Full definitions for each command are in `.sdd/workflow.md`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Refresh .sdd/conventions.md from current project state — preserves manual sections
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /conventions-sync command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Scan packages, structure, lint/format configs, ORM/router. Preserve sections marked `<!-- manual -->` verbatim; regenerate auto-sections. Present diff and STOP for approval before writing.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Stop and report when a task is blocked by ambiguity or impossibility
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /impl-gap command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /impl-gap ${input:specName}
|
|
9
|
+
|
|
10
|
+
STOP execution. Create specs/${input:specName}/impl-gaps.md from the template if missing, then append a GAP entry with current task, problem, impact, proposed resolution, action required, and resolution placeholder. Wait for human direction. If the gap requires changing the spec, escalate to /spec-amend.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Targeted exploration with non-binding artifact — separates exploration from commitment
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /research command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /research ${input:specName} ${input:topic}
|
|
9
|
+
|
|
10
|
+
Investigate options for the topic. Read specs/${input:specName}/1-requirements.md and write specs/${input:specName}/research-${input:topic}.md with options, pros/cons, current versions/maintenance status, and a non-binding recommendation. Do NOT modify 2-plan.md.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Lighter human-touch final pass — runs after /verify
|
|
3
3
|
mode: agent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Execute the /review command defined in .sdd/workflow.md.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Read the implementation qualitatively: clarity, naming, simplicity, leaky abstractions, copy-paste smell, comments that lie. Note minor follow-ups; don't enforce mechanical checks (that's /verify's job). If a structural issue is found, escalate to /spec-amend.
|
|
9
9
|
|
|
10
10
|
Spec: ${input:specName}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Discovery-only pass over an existing codebase — writes scan-report.md
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /scan command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Read package manifests, directory structure, lint/format configs, and observable conventions. Produce scan-report.md at repo root with findings. Do not modify any .sdd/ file.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Documented Change Request for post-approval spec changes
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-amend command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Usage: /spec-amend ${input:specName} ${input:changeSummary}
|
|
9
|
+
|
|
10
|
+
Create specs/${input:specName}/amendments.md from the template if missing, then append a CR entry with motive, requirement changes, plan changes, affected tasks, and status "Pending approval". Stop for explicit approval before propagating any change to 1-requirements.md or 2-plan.md.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Cross-consistency analysis (goal-task coverage, plan-task coverage, scope creep)
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-analyze command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Check: every G-ID referenced by at least one task; every "Components Affected" entry referenced by at least one task; any task lacking a goal reference (scope creep). Write specs/${input:specName}/analysis.md.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pre-plan clarification — generates blocking and non-blocking questions
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-clarify command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Generate categorized clarification questions for specs/${input:specName}/1-requirements.md (blocking vs. non-blocking). Wait for answers. Append questions and answers to a Clarifications section of the requirements doc. No other section is modified.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Detect file-level conflicts between active specs — detection only
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-conflicts command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Cross-reference "Components Affected" across all active specs. Report each file touched by two or more specs, naming the specs and suggesting sequencing. Do not modify any spec.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show state of all active specs — phase, progress, outstanding CRs and gaps
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /spec-status command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
List directories under specs/ excluding _template and _done. For each: feature name, current phase, progress (N/M tasks), outstanding CRs or unresolved gaps. Do not modify any file.
|
|
@@ -5,6 +5,6 @@ mode: agent
|
|
|
5
5
|
|
|
6
6
|
Execute the /spec-tasks command defined in .sdd/workflow.md.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Then read the approved specs/${input:specName}/2-plan.md and execute tasks one at a time. Write the test first (red), implement until green, run the full suite, then move to the next task.
|
|
9
|
+
|
|
10
|
+
If a task is blocked by ambiguity, contradiction, or technical impossibility, STOP and run /impl-gap — never improvise. If the gap requires changing the spec, escalate to /spec-amend.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Strict mechanical audit — read-only; writes verify-report.md
|
|
3
|
+
mode: agent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Execute the /verify command defined in .sdd/workflow.md.
|
|
7
|
+
|
|
8
|
+
Read-only mechanical audit. Check: all tasks marked complete, every goal has an artifact, every acceptance scenario has a passing test, full test suite green, no out-of-scope file changes, no unresolved /impl-gap entries, no pending CRs. Write specs/${input:specName}/verify-report.md. Do not modify code or specs.
|