create-sdd-project 0.11.1 → 0.12.1

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 CHANGED
@@ -307,23 +307,25 @@ SDD DevFlow combines three proven practices:
307
307
 
308
308
  | Command | What it does |
309
309
  |---------|-------------|
310
- | `/review-spec` | Reviews feature specs using external AI models before planning catches requirement gaps, ambiguity, and architectural inconsistencies |
311
- | `/review-plan` | Sends Implementation Plan to external AI models (Codex CLI, Gemini CLI) for independent critique |
310
+ | `/review-spec` | Cross-model spec review runs automatically after self-review when external CLIs are available; catches requirement gaps, ambiguity, and architectural inconsistencies |
311
+ | `/review-plan` | Cross-model plan review runs automatically after plan self-review when external CLIs are available; catches implementation blind spots |
312
312
  | `/context-prompt` | Generates a context recovery prompt after `/compact` with Workflow Recovery to prevent checkpoint skipping |
313
313
  | `/review-project` | Comprehensive project-level review using up to 3 AI models in parallel — 6 domains, audit context, consolidated report with action plan |
314
314
 
315
315
  ### Spec & Plan Quality
316
316
 
317
- Every Standard/Complex feature spec goes through a **built-in self-review** (Step 0.4) where the agent critically re-reads its own spec checking for completeness, edge cases, API contract clarity, and architectural consistency. For additional confidence, the optional `/review-spec` command sends the spec plus project context (`key_facts.md`, `decisions.md`) to external AI models for independent critique — catching requirement-level blind spots before any planning begins.
317
+ Every Standard/Complex feature spec goes through a **built-in self-review** (Step 0.4) where the agent critically re-reads its own spec checking for completeness, edge cases, API contract clarity, and architectural consistency. Then `/review-spec` **automatically** sends the spec plus project context (`key_facts.md`, `decisions.md`) to external AI models for independent critique — catching requirement-level blind spots before any planning begins.
318
318
 
319
- Every plan then goes through its own **built-in self-review** (Step 2.4) followed by the optional `/review-plan` command for external critique — catching implementation-level blind spots that same-model review misses.
319
+ Every plan then goes through its own **built-in self-review** (Step 2.4) followed by **automatic** `/review-plan` for external critique — catching implementation-level blind spots that same-model review misses.
320
+
321
+ Cross-model reviews only trigger when at least one external CLI is available (Gemini CLI, Codex CLI). If no CLIs are detected, the step is skipped — the self-review is sufficient.
320
322
 
321
323
  ### Workflow (Steps 0–6)
322
324
 
323
325
  ```
324
- 0. SPEC → spec-creator drafts + self-review → Spec Approval
325
- 1. SETUP → Branch, ticket, product tracker → Ticket Approval
326
- 2. PLAN → Planner creates plan + self-review → Plan Approval
326
+ 0. SPEC → spec-creator drafts + self-review + cross-model review → Spec Approval
327
+ 1. SETUP → Branch, ticket, product tracker → Ticket Approval
328
+ 2. PLAN → Planner creates plan + self-review + cross-model review → Plan Approval
327
329
  3. IMPLEMENT → Developer agent, TDD
328
330
  4. FINALIZE → Tests/lint/build, validator → Commit Approval
329
331
  5. REVIEW → PR, code review, QA → Merge Approval
@@ -17,11 +17,12 @@ function adaptAgentContentForProjectType(dest, config, replaceInFileFn) {
17
17
 
18
18
  if (config.projectType === 'backend') {
19
19
  for (const dir of toolDirs) {
20
- // spec-creator: remove Frontend Specifications section and UI output format
20
+ // spec-creator: remove Frontend Specifications section, UI output format, ui-components refs
21
21
  replaceInFileFn(path.join(dest, dir, 'agents', 'spec-creator.md'), [
22
22
  [/### Frontend Specifications\n(?:- [^\n]*\n)+\n/, ''],
23
23
  [/### For UI Changes\n```markdown\n(?:[^\n]*\n)*?```\n\n/, ''],
24
24
  ['Data Model Changes, UI Changes, Edge Cases', 'Data Model Changes, Edge Cases'],
25
+ ['(`api-spec.yaml`, `ui-components.md`)', '(`api-spec.yaml`)'],
25
26
  ]);
26
27
  // production-code-validator: remove ui-components line from Spec Drift
27
28
  replaceInFileFn(path.join(dest, dir, 'agents', 'production-code-validator.md'), [
@@ -44,10 +45,11 @@ function adaptAgentContentForProjectType(dest, config, replaceInFileFn) {
44
45
  }
45
46
  } else if (config.projectType === 'frontend') {
46
47
  for (const dir of toolDirs) {
47
- // spec-creator: remove Backend Specifications section
48
+ // spec-creator: remove Backend Specifications section, api-spec refs
48
49
  replaceInFileFn(path.join(dest, dir, 'agents', 'spec-creator.md'), [
49
50
  [/### Backend Specifications\n(?:- [^\n]*\n)+\n/, ''],
50
51
  [/### For API Changes\n```yaml\n(?:[^\n]*\n)*?```\n\n/, ''],
52
+ ['(`api-spec.yaml`, `ui-components.md`)', '(`ui-components.md`)'],
51
53
  ]);
52
54
  // code-review-specialist: frontend-only standards ref
53
55
  replaceInFileFn(path.join(dest, dir, 'agents', 'code-review-specialist.md'), [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-sdd-project",
3
- "version": "0.11.1",
3
+ "version": "0.12.1",
4
4
  "description": "Create a new SDD DevFlow project with AI-assisted development workflow",
5
5
  "bin": {
6
6
  "create-sdd-project": "bin/cli.js"
@@ -10,9 +10,10 @@ You are an expert Systems Analyst and API Designer. Your goal is to translate va
10
10
 
11
11
  ## Goal
12
12
 
13
- Draft or update the specification files in `docs/specs/` AND the ticket's `## Spec` section based on a Ticket or User Request. The spec must be detailed enough for a planner agent to create an implementation plan.
13
+ Update the global specification files in `docs/specs/` AND the ticket's `## Spec` section based on a Ticket or User Request. The spec must be detailed enough for a planner agent to create an implementation plan.
14
14
 
15
15
  **NEVER write implementation code. Only produce specifications.**
16
+ **NEVER create per-feature spec files** (e.g., `docs/specs/F038-feature-spec.md`). Feature specs belong in the ticket's `## Spec` section. Only update the existing global files (`api-spec.yaml`, `ui-components.md`).
16
17
 
17
18
  ## Responsibilities
18
19
 
@@ -68,5 +69,6 @@ Draft or update the specification files in `docs/specs/` AND the ticket's `## Sp
68
69
  - **ALWAYS** follow existing patterns in the spec files
69
70
  - **ALWAYS** ensure the specs are feasible (don't over-engineer)
70
71
  - **ALWAYS** consider edge cases and error scenarios
71
- - **ALWAYS** update BOTH the global spec files AND the ticket's `## Spec` section
72
+ - **ALWAYS** update the existing global spec files (`api-spec.yaml`, `ui-components.md`) AND the ticket's `## Spec` section
73
+ - **NEVER** create new per-feature spec files in `docs/specs/` — the ticket IS the feature spec
72
74
  - **ALWAYS** ask for user approval: "Does this spec look correct?"
@@ -71,7 +71,7 @@ Ask user to classify complexity before starting. See `references/complexity-guid
71
71
  2. Agent updates global spec files (`api-spec.yaml`, `ui-components.md`) and Zod schemas in `shared/src/schemas/` if applicable
72
72
  3. Agent writes spec summary into the ticket's `## Spec` section
73
73
  4. **Spec Self-Review:** Re-read the spec critically. Are requirements complete? Edge cases covered? API contract well-defined? Acceptance criteria testable? Does the spec conflict with existing architecture (`key_facts.md`, `decisions.md`)? Update the spec with any fixes found before proceeding.
74
- 5. **Optional:** Run `/review-spec` for external model review (recommended for Standard/Complex)
74
+ 5. **Cross-Model Spec Review:** Run `/review-spec`. If at least one external CLI is available (`gemini`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
75
75
 
76
76
  **→ CHECKPOINT: Spec Approval** — Update tracker (Active Session + Features table): step `0/6 (Spec)`
77
77
 
@@ -108,7 +108,8 @@ See `references/branching-strategy.md` for details.
108
108
  - Dependencies between steps that force a different order?
109
109
  - Over-engineering or unnecessary abstractions?
110
110
  Update the plan with any fixes found before proceeding.
111
- 5. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
111
+ 5. **Cross-Model Plan Review:** Run `/review-plan`. If at least one external CLI is available (`gemini`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
112
+ 6. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
112
113
 
113
114
  **→ CHECKPOINT: Plan Approval**
114
115
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  ## Instructions
7
7
 
8
- Translate requirements into precise, standard-compliant specifications. Update global spec files AND the ticket's `## Spec` section.
8
+ Translate requirements into precise, standard-compliant specifications. Update existing global spec files (`api-spec.yaml`, `ui-components.md`) AND the ticket's `## Spec` section. NEVER create per-feature spec files — the ticket IS the feature spec.
9
9
 
10
10
  ## Workflow
11
11
 
@@ -20,5 +20,6 @@ Translate requirements into precise, standard-compliant specifications. Update g
20
20
 
21
21
  - NEVER write implementation code — only specifications
22
22
  - ALWAYS follow existing patterns in spec files
23
- - ALWAYS update BOTH global spec files AND ticket's `## Spec` section
23
+ - ALWAYS update existing global spec files (`api-spec.yaml`, `ui-components.md`) AND ticket's `## Spec` section
24
+ - NEVER create per-feature spec files in `docs/specs/` — the ticket IS the feature spec
24
25
  - ALWAYS ask: "Does this spec look correct?"
@@ -71,7 +71,7 @@ Ask user to classify complexity before starting. See `references/complexity-guid
71
71
  2. Update global spec files (`api-spec.yaml`, `ui-components.md`) and Zod schemas in `shared/src/schemas/` if applicable
72
72
  3. Write spec summary into the ticket's `## Spec` section
73
73
  4. **Spec Self-Review:** Re-read the spec critically. Are requirements complete? Edge cases covered? API contract well-defined? Acceptance criteria testable? Does the spec conflict with existing architecture (`key_facts.md`, `decisions.md`)? Update the spec with any fixes found before proceeding.
74
- 5. **Optional:** Run `/review-spec` for external model review (recommended for Standard/Complex)
74
+ 5. **Cross-Model Spec Review:** Run `/review-spec`. If at least one external CLI is available (`claude`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
75
75
 
76
76
  **→ CHECKPOINT: Spec Approval** — Update tracker (Active Session + Features table): step `0/6 (Spec)`
77
77
 
@@ -108,7 +108,8 @@ See `references/branching-strategy.md` for details.
108
108
  - Dependencies between steps that force a different order?
109
109
  - Over-engineering or unnecessary abstractions?
110
110
  Update the plan with any fixes found before proceeding.
111
- 5. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
111
+ 5. **Cross-Model Plan Review:** Run `/review-plan`. If at least one external CLI is available (`claude`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
112
+ 6. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
112
113
 
113
114
  **→ CHECKPOINT: Plan Approval**
114
115