@anhth2/spec-driven-dev-plugin 0.7.0 → 0.8.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/bin/index.js +105 -0
- package/commands/debug.md +37 -1
- package/commands/define-product.md +37 -1
- package/commands/fix-bug.md +37 -1
- package/commands/generate-bdd.md +37 -1
- package/commands/generate-code.md +37 -1
- package/commands/generate-design-spec.md +754 -0
- package/commands/generate-design-spec.tmpl +399 -0
- package/commands/generate-prd.md +58 -1
- package/commands/generate-prd.tmpl +21 -0
- package/commands/generate-spec-manifest.md +519 -0
- package/commands/generate-spec-manifest.tmpl +164 -0
- package/commands/generate-tech-docs.md +37 -1
- package/commands/generate-tests.md +37 -1
- package/commands/refine-prd.md +37 -1
- package/commands/review-code.md +37 -1
- package/commands/review-context.md +77 -1
- package/commands/review-context.tmpl +40 -0
- package/commands/review-tech-docs.md +37 -1
- package/commands/run-tests.md +37 -1
- package/commands/setup-ai-first.md +132 -4
- package/commands/setup-ai-first.tmpl +130 -3
- package/commands/smoke-test.md +37 -1
- package/commands/validate-traces.md +37 -1
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/commands/debug.md +37 -1
- package/core/commands/define-product.md +37 -1
- package/core/commands/fix-bug.md +37 -1
- package/core/commands/generate-bdd.md +37 -1
- package/core/commands/generate-code.md +37 -1
- package/core/commands/generate-design-spec.md +754 -0
- package/core/commands/generate-prd.md +58 -1
- package/core/commands/generate-spec-manifest.md +519 -0
- package/core/commands/generate-tech-docs.md +37 -1
- package/core/commands/generate-tests.md +37 -1
- package/core/commands/refine-prd.md +37 -1
- package/core/commands/review-code.md +37 -1
- package/core/commands/review-context.md +77 -1
- package/core/commands/review-tech-docs.md +37 -1
- package/core/commands/run-tests.md +37 -1
- package/core/commands/setup-ai-first.md +132 -4
- package/core/commands/smoke-test.md +37 -1
- package/core/commands/validate-traces.md +37 -1
- package/core/skills/code/SKILL.md +39 -2
- package/core/skills/debug/SKILL.md +41 -3
- package/core/skills/design-spec/SKILL.md +450 -0
- package/core/skills/discovery/SKILL.md +37 -1
- package/core/skills/prd/SKILL.md +4 -2
- package/core/skills/setup-ai-first/SKILL.md +2 -1
- package/core/skills/spec/SKILL.md +4 -2
- package/core/skills/test/SKILL.md +76 -3
- package/core/steps/context-loader.md +35 -0
- package/core/steps/report-footer.md +2 -1
- package/core/templates/design-spec.template.md +209 -0
- package/core/templates/project-context.yaml +29 -0
- package/package.json +1 -1
- package/skills/code/SKILL.md +39 -2
- package/skills/debug/SKILL.md +41 -3
- package/skills/design-spec/SKILL.md +450 -0
- package/skills/design-spec/SKILL.tmpl +95 -0
- package/skills/discovery/SKILL.md +37 -1
- package/skills/prd/SKILL.md +4 -2
- package/skills/setup-ai-first/SKILL.md +2 -1
- package/skills/spec/SKILL.md +4 -2
- package/skills/test/SKILL.md +76 -3
- package/steps/context-loader.md +35 -0
- package/steps/report-footer.md +2 -1
- package/templates/design-spec.template.md +209 -0
- package/templates/project-context.yaml +29 -0
|
@@ -131,6 +131,7 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
131
131
|
- `paths.core_entities` → path to core-entities.md
|
|
132
132
|
- `paths.tech_docs_dir` → technical documentation root
|
|
133
133
|
- `paths.trace_dir` → trace state directory
|
|
134
|
+
- `paths.design_spec_dir` → Design Spec documents root (FE/App only)
|
|
134
135
|
|
|
135
136
|
If `paths` section is absent, use these defaults:
|
|
136
137
|
- `specs_dir` = `specs/bdd`
|
|
@@ -142,11 +143,44 @@ If `paths` section is absent, use these defaults:
|
|
|
142
143
|
- `core_entities` = `specs/domain-knowledge/core-entities.md`
|
|
143
144
|
- `tech_docs_dir` = `specs/tech-docs`
|
|
144
145
|
- `trace_dir` = `.trace`
|
|
146
|
+
- `design_spec_dir` = `specs/design-spec`
|
|
145
147
|
|
|
146
148
|
If `tech_stack.module` is set, also load `.agent/modules/{module}/stack-profile.yaml` if it exists.
|
|
147
149
|
|
|
148
150
|
---
|
|
149
151
|
|
|
152
|
+
## Step 1.5 — [SERVICE ROUTING] Resolve service paths (umbrella mode)
|
|
153
|
+
|
|
154
|
+
*Skip this step entirely if `setup.mode` is not `"umbrella"` and `services` section is absent from project-context.yaml.*
|
|
155
|
+
|
|
156
|
+
If `services` section is present:
|
|
157
|
+
|
|
158
|
+
**1. Detect active domain** (in priority order):
|
|
159
|
+
- Read `@trace.domain` from target file frontmatter (if Gate loaded a target file)
|
|
160
|
+
- Extract from target file path: segment immediately after `prd_dir` base path
|
|
161
|
+
*(e.g., `specs/prd/user/FEAT-01.md` → domain = `user`)*
|
|
162
|
+
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
163
|
+
|
|
164
|
+
**2. Route to service** — if active domain matches a key in `services`:
|
|
165
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
166
|
+
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir`
|
|
167
|
+
- Store `active_service` = `services.{domain}.path`
|
|
168
|
+
- Store `active_service_module` = `services.{domain}.module`
|
|
169
|
+
- If service has its own `module` → use it as `active_module` (overrides `tech_stack.module`)
|
|
170
|
+
|
|
171
|
+
**3. Fallback** — if domain not detected or no matching service key:
|
|
172
|
+
- Keep default paths from Step 1
|
|
173
|
+
- Set `active_service = unresolved`
|
|
174
|
+
|
|
175
|
+
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
176
|
+
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
177
|
+
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
178
|
+
- Override `paths.domain_knowledge_dir` → `{spec_source}/specs/domain-knowledge`
|
|
179
|
+
- Override `paths.business_dictionary` → `{spec_source}/specs/domain-knowledge/business-dictionary.md`
|
|
180
|
+
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
150
184
|
## Step 2 — [PROJECT-CONFIG] Load module stack profile (conditional)
|
|
151
185
|
|
|
152
186
|
If `tech_stack.module` is set, read `.agent/modules/{module}/stack-profile.yaml`.
|
|
@@ -252,6 +286,7 @@ Layers : {layer order from CLAUDE.md §2, e.g., Controller → Facade → Ser
|
|
|
252
286
|
Ticket : {ticket_prefix}-
|
|
253
287
|
Dict : {loaded — N canonical terms, M banned terms | missing}
|
|
254
288
|
Entities : {loaded — EntityA, EntityB, EntityC | missing}
|
|
289
|
+
Service : {active_service} ({active_service_module}) | single-service
|
|
255
290
|
Status : {FULL | PARTIAL — missing: CLAUDE.md / business-dict / core-entities | MINIMAL}
|
|
256
291
|
```
|
|
257
292
|
|
|
@@ -446,7 +481,8 @@ Suggest the logical next command based on workflow phase:
|
|
|
446
481
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
447
482
|
| /generate-prd | `/refine-prd {prd-file}` then `/review-context {prd-file}` |
|
|
448
483
|
| /refine-prd | Open Review Board → update PRD → `/review-context {prd-file}` |
|
|
449
|
-
| /review-context (PRD) | `/generate-
|
|
484
|
+
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (then BDD after sign-off); BE: `/generate-bdd {prd-file}` directly; fix PRD if NEEDS_FIX |
|
|
485
|
+
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
450
486
|
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
451
487
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
452
488
|
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|
package/core/commands/fix-bug.md
CHANGED
|
@@ -131,6 +131,7 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
131
131
|
- `paths.core_entities` → path to core-entities.md
|
|
132
132
|
- `paths.tech_docs_dir` → technical documentation root
|
|
133
133
|
- `paths.trace_dir` → trace state directory
|
|
134
|
+
- `paths.design_spec_dir` → Design Spec documents root (FE/App only)
|
|
134
135
|
|
|
135
136
|
If `paths` section is absent, use these defaults:
|
|
136
137
|
- `specs_dir` = `specs/bdd`
|
|
@@ -142,11 +143,44 @@ If `paths` section is absent, use these defaults:
|
|
|
142
143
|
- `core_entities` = `specs/domain-knowledge/core-entities.md`
|
|
143
144
|
- `tech_docs_dir` = `specs/tech-docs`
|
|
144
145
|
- `trace_dir` = `.trace`
|
|
146
|
+
- `design_spec_dir` = `specs/design-spec`
|
|
145
147
|
|
|
146
148
|
If `tech_stack.module` is set, also load `.agent/modules/{module}/stack-profile.yaml` if it exists.
|
|
147
149
|
|
|
148
150
|
---
|
|
149
151
|
|
|
152
|
+
## Step 1.5 — [SERVICE ROUTING] Resolve service paths (umbrella mode)
|
|
153
|
+
|
|
154
|
+
*Skip this step entirely if `setup.mode` is not `"umbrella"` and `services` section is absent from project-context.yaml.*
|
|
155
|
+
|
|
156
|
+
If `services` section is present:
|
|
157
|
+
|
|
158
|
+
**1. Detect active domain** (in priority order):
|
|
159
|
+
- Read `@trace.domain` from target file frontmatter (if Gate loaded a target file)
|
|
160
|
+
- Extract from target file path: segment immediately after `prd_dir` base path
|
|
161
|
+
*(e.g., `specs/prd/user/FEAT-01.md` → domain = `user`)*
|
|
162
|
+
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
163
|
+
|
|
164
|
+
**2. Route to service** — if active domain matches a key in `services`:
|
|
165
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
166
|
+
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir`
|
|
167
|
+
- Store `active_service` = `services.{domain}.path`
|
|
168
|
+
- Store `active_service_module` = `services.{domain}.module`
|
|
169
|
+
- If service has its own `module` → use it as `active_module` (overrides `tech_stack.module`)
|
|
170
|
+
|
|
171
|
+
**3. Fallback** — if domain not detected or no matching service key:
|
|
172
|
+
- Keep default paths from Step 1
|
|
173
|
+
- Set `active_service = unresolved`
|
|
174
|
+
|
|
175
|
+
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
176
|
+
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
177
|
+
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
178
|
+
- Override `paths.domain_knowledge_dir` → `{spec_source}/specs/domain-knowledge`
|
|
179
|
+
- Override `paths.business_dictionary` → `{spec_source}/specs/domain-knowledge/business-dictionary.md`
|
|
180
|
+
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
150
184
|
## Step 2 — [PROJECT-CONFIG] Load module stack profile (conditional)
|
|
151
185
|
|
|
152
186
|
If `tech_stack.module` is set, read `.agent/modules/{module}/stack-profile.yaml`.
|
|
@@ -252,6 +286,7 @@ Layers : {layer order from CLAUDE.md §2, e.g., Controller → Facade → Ser
|
|
|
252
286
|
Ticket : {ticket_prefix}-
|
|
253
287
|
Dict : {loaded — N canonical terms, M banned terms | missing}
|
|
254
288
|
Entities : {loaded — EntityA, EntityB, EntityC | missing}
|
|
289
|
+
Service : {active_service} ({active_service_module}) | single-service
|
|
255
290
|
Status : {FULL | PARTIAL — missing: CLAUDE.md / business-dict / core-entities | MINIMAL}
|
|
256
291
|
```
|
|
257
292
|
|
|
@@ -409,7 +444,8 @@ Suggest the logical next command based on workflow phase:
|
|
|
409
444
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
410
445
|
| /generate-prd | `/refine-prd {prd-file}` then `/review-context {prd-file}` |
|
|
411
446
|
| /refine-prd | Open Review Board → update PRD → `/review-context {prd-file}` |
|
|
412
|
-
| /review-context (PRD) | `/generate-
|
|
447
|
+
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (then BDD after sign-off); BE: `/generate-bdd {prd-file}` directly; fix PRD if NEEDS_FIX |
|
|
448
|
+
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
413
449
|
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
414
450
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
415
451
|
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|
|
@@ -129,6 +129,7 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
129
129
|
- `paths.core_entities` → path to core-entities.md
|
|
130
130
|
- `paths.tech_docs_dir` → technical documentation root
|
|
131
131
|
- `paths.trace_dir` → trace state directory
|
|
132
|
+
- `paths.design_spec_dir` → Design Spec documents root (FE/App only)
|
|
132
133
|
|
|
133
134
|
If `paths` section is absent, use these defaults:
|
|
134
135
|
- `specs_dir` = `specs/bdd`
|
|
@@ -140,11 +141,44 @@ If `paths` section is absent, use these defaults:
|
|
|
140
141
|
- `core_entities` = `specs/domain-knowledge/core-entities.md`
|
|
141
142
|
- `tech_docs_dir` = `specs/tech-docs`
|
|
142
143
|
- `trace_dir` = `.trace`
|
|
144
|
+
- `design_spec_dir` = `specs/design-spec`
|
|
143
145
|
|
|
144
146
|
If `tech_stack.module` is set, also load `.agent/modules/{module}/stack-profile.yaml` if it exists.
|
|
145
147
|
|
|
146
148
|
---
|
|
147
149
|
|
|
150
|
+
## Step 1.5 — [SERVICE ROUTING] Resolve service paths (umbrella mode)
|
|
151
|
+
|
|
152
|
+
*Skip this step entirely if `setup.mode` is not `"umbrella"` and `services` section is absent from project-context.yaml.*
|
|
153
|
+
|
|
154
|
+
If `services` section is present:
|
|
155
|
+
|
|
156
|
+
**1. Detect active domain** (in priority order):
|
|
157
|
+
- Read `@trace.domain` from target file frontmatter (if Gate loaded a target file)
|
|
158
|
+
- Extract from target file path: segment immediately after `prd_dir` base path
|
|
159
|
+
*(e.g., `specs/prd/user/FEAT-01.md` → domain = `user`)*
|
|
160
|
+
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
161
|
+
|
|
162
|
+
**2. Route to service** — if active domain matches a key in `services`:
|
|
163
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
164
|
+
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir`
|
|
165
|
+
- Store `active_service` = `services.{domain}.path`
|
|
166
|
+
- Store `active_service_module` = `services.{domain}.module`
|
|
167
|
+
- If service has its own `module` → use it as `active_module` (overrides `tech_stack.module`)
|
|
168
|
+
|
|
169
|
+
**3. Fallback** — if domain not detected or no matching service key:
|
|
170
|
+
- Keep default paths from Step 1
|
|
171
|
+
- Set `active_service = unresolved`
|
|
172
|
+
|
|
173
|
+
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
174
|
+
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
175
|
+
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
176
|
+
- Override `paths.domain_knowledge_dir` → `{spec_source}/specs/domain-knowledge`
|
|
177
|
+
- Override `paths.business_dictionary` → `{spec_source}/specs/domain-knowledge/business-dictionary.md`
|
|
178
|
+
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
148
182
|
## Step 2 — [PROJECT-CONFIG] Load module stack profile (conditional)
|
|
149
183
|
|
|
150
184
|
If `tech_stack.module` is set, read `.agent/modules/{module}/stack-profile.yaml`.
|
|
@@ -250,6 +284,7 @@ Layers : {layer order from CLAUDE.md §2, e.g., Controller → Facade → Ser
|
|
|
250
284
|
Ticket : {ticket_prefix}-
|
|
251
285
|
Dict : {loaded — N canonical terms, M banned terms | missing}
|
|
252
286
|
Entities : {loaded — EntityA, EntityB, EntityC | missing}
|
|
287
|
+
Service : {active_service} ({active_service_module}) | single-service
|
|
253
288
|
Status : {FULL | PARTIAL — missing: CLAUDE.md / business-dict / core-entities | MINIMAL}
|
|
254
289
|
```
|
|
255
290
|
|
|
@@ -591,7 +626,8 @@ Suggest the logical next command based on workflow phase:
|
|
|
591
626
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
592
627
|
| /generate-prd | `/refine-prd {prd-file}` then `/review-context {prd-file}` |
|
|
593
628
|
| /refine-prd | Open Review Board → update PRD → `/review-context {prd-file}` |
|
|
594
|
-
| /review-context (PRD) | `/generate-
|
|
629
|
+
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (then BDD after sign-off); BE: `/generate-bdd {prd-file}` directly; fix PRD if NEEDS_FIX |
|
|
630
|
+
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
595
631
|
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
596
632
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
597
633
|
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|
|
@@ -131,6 +131,7 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
131
131
|
- `paths.core_entities` → path to core-entities.md
|
|
132
132
|
- `paths.tech_docs_dir` → technical documentation root
|
|
133
133
|
- `paths.trace_dir` → trace state directory
|
|
134
|
+
- `paths.design_spec_dir` → Design Spec documents root (FE/App only)
|
|
134
135
|
|
|
135
136
|
If `paths` section is absent, use these defaults:
|
|
136
137
|
- `specs_dir` = `specs/bdd`
|
|
@@ -142,11 +143,44 @@ If `paths` section is absent, use these defaults:
|
|
|
142
143
|
- `core_entities` = `specs/domain-knowledge/core-entities.md`
|
|
143
144
|
- `tech_docs_dir` = `specs/tech-docs`
|
|
144
145
|
- `trace_dir` = `.trace`
|
|
146
|
+
- `design_spec_dir` = `specs/design-spec`
|
|
145
147
|
|
|
146
148
|
If `tech_stack.module` is set, also load `.agent/modules/{module}/stack-profile.yaml` if it exists.
|
|
147
149
|
|
|
148
150
|
---
|
|
149
151
|
|
|
152
|
+
## Step 1.5 — [SERVICE ROUTING] Resolve service paths (umbrella mode)
|
|
153
|
+
|
|
154
|
+
*Skip this step entirely if `setup.mode` is not `"umbrella"` and `services` section is absent from project-context.yaml.*
|
|
155
|
+
|
|
156
|
+
If `services` section is present:
|
|
157
|
+
|
|
158
|
+
**1. Detect active domain** (in priority order):
|
|
159
|
+
- Read `@trace.domain` from target file frontmatter (if Gate loaded a target file)
|
|
160
|
+
- Extract from target file path: segment immediately after `prd_dir` base path
|
|
161
|
+
*(e.g., `specs/prd/user/FEAT-01.md` → domain = `user`)*
|
|
162
|
+
- If `$ARGUMENTS` contains a path, extract the segment after `prd_dir`
|
|
163
|
+
|
|
164
|
+
**2. Route to service** — if active domain matches a key in `services`:
|
|
165
|
+
- Override `paths.specs_dir` → `services.{domain}.specs_dir`
|
|
166
|
+
- Override `paths.tech_docs_dir` → `services.{domain}.tech_docs_dir`
|
|
167
|
+
- Store `active_service` = `services.{domain}.path`
|
|
168
|
+
- Store `active_service_module` = `services.{domain}.module`
|
|
169
|
+
- If service has its own `module` → use it as `active_module` (overrides `tech_stack.module`)
|
|
170
|
+
|
|
171
|
+
**3. Fallback** — if domain not detected or no matching service key:
|
|
172
|
+
- Keep default paths from Step 1
|
|
173
|
+
- Set `active_service = unresolved`
|
|
174
|
+
|
|
175
|
+
**4. Spec source auto-override** — if `setup.spec_source` is set AND the corresponding path was not already explicitly set in `paths:`:
|
|
176
|
+
- Override `paths.prd_dir` → `{spec_source}/specs/prd`
|
|
177
|
+
- Override `paths.design_spec_dir` → `{spec_source}/specs/design-spec`
|
|
178
|
+
- Override `paths.domain_knowledge_dir` → `{spec_source}/specs/domain-knowledge`
|
|
179
|
+
- Override `paths.business_dictionary` → `{spec_source}/specs/domain-knowledge/business-dictionary.md`
|
|
180
|
+
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
150
184
|
## Step 2 — [PROJECT-CONFIG] Load module stack profile (conditional)
|
|
151
185
|
|
|
152
186
|
If `tech_stack.module` is set, read `.agent/modules/{module}/stack-profile.yaml`.
|
|
@@ -252,6 +286,7 @@ Layers : {layer order from CLAUDE.md §2, e.g., Controller → Facade → Ser
|
|
|
252
286
|
Ticket : {ticket_prefix}-
|
|
253
287
|
Dict : {loaded — N canonical terms, M banned terms | missing}
|
|
254
288
|
Entities : {loaded — EntityA, EntityB, EntityC | missing}
|
|
289
|
+
Service : {active_service} ({active_service_module}) | single-service
|
|
255
290
|
Status : {FULL | PARTIAL — missing: CLAUDE.md / business-dict / core-entities | MINIMAL}
|
|
256
291
|
```
|
|
257
292
|
|
|
@@ -452,7 +487,8 @@ Suggest the logical next command based on workflow phase:
|
|
|
452
487
|
| /define-product | `/generate-prd {product-definition-file}` |
|
|
453
488
|
| /generate-prd | `/refine-prd {prd-file}` then `/review-context {prd-file}` |
|
|
454
489
|
| /refine-prd | Open Review Board → update PRD → `/review-context {prd-file}` |
|
|
455
|
-
| /review-context (PRD) | `/generate-
|
|
490
|
+
| /review-context (PRD) | FE/App: `/generate-design-spec {prd-file}` (then BDD after sign-off); BE: `/generate-bdd {prd-file}` directly; fix PRD if NEEDS_FIX |
|
|
491
|
+
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
456
492
|
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
457
493
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
458
494
|
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|