@gordon.gan/specflow 1.0.1 → 1.1.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 +275 -317
- package/dist/cli/commands/change-archive.js +1 -1
- package/dist/cli/commands/change-new.js +1 -1
- package/dist/cli/commands/change-phase.d.ts +1 -1
- package/dist/cli/commands/change-phase.js +7 -6
- package/dist/core/archive.d.ts +2 -2
- package/dist/core/archive.js +5 -5
- package/dist/core/artifact-graph/types.d.ts +2 -2
- package/dist/integrations/claude/adapter.js +2 -0
- package/dist/integrations/codex/adapter.js +4 -1
- package/dist/integrations/cursor/adapter.js +4 -1
- package/dist/integrations/shared/capability-evidence.js +0 -2
- package/dist/integrations/shared/command-catalog.js +0 -1
- package/dist/integrations/shared/parity-manifest.js +0 -2
- package/dist/integrations/shared/phase-context.d.ts +6 -0
- package/dist/integrations/shared/phase-context.js +9 -0
- package/dist/integrations/shared/retired-commands.d.ts +10 -0
- package/dist/integrations/shared/retired-commands.js +42 -0
- package/dist/utils/change-metadata.d.ts +11 -3
- package/dist/utils/change-metadata.js +33 -5
- package/dist/utils/change-utils.d.ts +1 -1
- package/dist/utils/change-utils.js +1 -1
- package/package.json +1 -4
- package/prompts/apply/phase-a-plan.md +1 -1
- package/prompts/propose/design-draft.md +4 -4
- package/prompts/propose/tasks-draft.md +1 -1
- package/prompts/reference/specflow/example-design.md +1 -1
- package/prompts/refine/brainstorm.md +2 -2
- package/schemas/specflow/schema.yaml +1 -6
- package/skills/specflow-apply/SKILL.md +2 -2
- package/skills/specflow-archive/SKILL.md +1 -1
- package/skills/specflow-explore/SKILL.md +1 -1
- package/skills/specflow-fix/SKILL.md +2 -2
- package/skills/specflow-propose/SKILL.md +1 -1
- package/skills/specflow-refine/SKILL.md +5 -5
- package/skills/specflow-snap/SKILL.md +1 -1
- package/skills/specflow-scan/SKILL.md +0 -48
|
@@ -16,8 +16,8 @@ emits a round diff summary.
|
|
|
16
16
|
|
|
17
17
|
## Prerequisites
|
|
18
18
|
|
|
19
|
-
- Active change with `.specflow.yaml` `phase=
|
|
20
|
-
- All 4
|
|
19
|
+
- Active change with `.specflow.yaml` `phase=propose` (refine refuses if phase is not `propose`).
|
|
20
|
+
- All 4 propose-phase artifacts exist in `specflow/changes/<name>/`:
|
|
21
21
|
- `proposal.md`
|
|
22
22
|
- `specs/**/*.md` (at least one delta spec)
|
|
23
23
|
- `design.md`
|
|
@@ -107,18 +107,18 @@ Stage 4 round-end output.
|
|
|
107
107
|
Only reached after Stage 5 declared convergence AND the user did not request another round.
|
|
108
108
|
|
|
109
109
|
1. Present a **cross-round summary**: what changed in each round, which artifacts now differ
|
|
110
|
-
from the
|
|
110
|
+
from the propose-phase baseline, which decisions were resolved, which questions remained
|
|
111
111
|
open (if any).
|
|
112
112
|
2. **HARD GATE**: Wait for the user's explicit confirmation of the final refined state.
|
|
113
113
|
A mere acknowledgement of a round's diff summary is NOT confirmation of the overall
|
|
114
114
|
refined state — ask explicitly: "Confirm this refined state is final and I should mark
|
|
115
115
|
the phase as `refined`?"
|
|
116
116
|
3. On explicit confirmation: invoke `specflow change phase <name> --set refined` to
|
|
117
|
-
advance `.specflow.yaml` `phase` from `
|
|
117
|
+
advance `.specflow.yaml` `phase` from `propose` to `refined`.
|
|
118
118
|
4. Suggest `/specflow:apply` as the next slash command.
|
|
119
119
|
|
|
120
120
|
If the user declines to confirm and requests more exploration, treat it as a user-requested
|
|
121
|
-
extra round (loop back to Stage 2, phase stays `
|
|
121
|
+
extra round (loop back to Stage 2, phase stays `propose`).
|
|
122
122
|
|
|
123
123
|
## Not covered by refine
|
|
124
124
|
|
|
@@ -39,7 +39,7 @@ Do NOT archive until confirmed.
|
|
|
39
39
|
|
|
40
40
|
## Stage 4: Mark Phase Built
|
|
41
41
|
|
|
42
|
-
Before archive, invoke `specflow change phase <name> --set
|
|
42
|
+
Before archive, invoke `specflow change phase <name> --set apply` since snap produces a complete retroactive record equivalent to an apply-complete change. The CLI creates the snap change with `phase=propose`, but snap's entire flow (analyze → generate → infer → confirm) is post-hoc documentation of already-implemented work, so setting the phase explicitly satisfies the archive guard without needing `--force`.
|
|
43
43
|
|
|
44
44
|
## Stage 5: Archive
|
|
45
45
|
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specflow-scan
|
|
3
|
-
description: "[PLANNED v0.3] Brownfield project scanner -- not yet functional"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SpecFlow: Scan (Planned — v0.3)
|
|
7
|
-
|
|
8
|
-
> **NOT YET FUNCTIONAL.** The `specflow scan` CLI subcommand does not exist in v0.2.x. Invoking this skill would immediately fail when it tries to run `specflow scan`. The skill is kept registered so its slot is reserved in the command namespace; the implementation is planned for v0.3.
|
|
9
|
-
|
|
10
|
-
## Behavior in v0.2.x
|
|
11
|
-
|
|
12
|
-
If the user triggers `/specflow:scan` or `$specflow-scan`, do NOT attempt to run `specflow scan` (the CLI will return an unknown-command error). Instead respond:
|
|
13
|
-
|
|
14
|
-
> "`/specflow:scan` / `$specflow-scan` is planned for v0.3 and not yet implemented in v0.2.x. For a brownfield project that has no `specflow/specs/` baseline yet, the workable alternative today is:
|
|
15
|
-
>
|
|
16
|
-
> 1. Run `specflow init --ide both` (or `--ide all` / `--ide codex`) if not already done (creates `specflow/` and IDE assets under `.cursor/`, `.claude/`, and/or `.agents/`).
|
|
17
|
-
> 2. Identify one capability area you are about to change (e.g. `user-auth`, `billing`).
|
|
18
|
-
> 3. Run `/specflow:explore` when requirements are fuzzy, then `/specflow:propose`. Or run `/specflow:propose` directly if you already know exactly what to build. In the proposal Q&A, describe the existing behavior in the affected area — propose will generate both the delta spec for your change and an implicit first pass at the capability's contract. After the first archive, the delta becomes the main spec baseline for that capability.
|
|
19
|
-
>
|
|
20
|
-
> This is not a perfect substitute for a full code scan, but it keeps the spec-driven flow moving without waiting for v0.3."
|
|
21
|
-
|
|
22
|
-
Then stop. Do not proceed to any Stage 1/2/3 behavior below — those describe the planned v0.3 flow.
|
|
23
|
-
|
|
24
|
-
## Planned design (v0.3) — for reference, not currently executable
|
|
25
|
-
|
|
26
|
-
### Planned Stage 1: Execute Scan
|
|
27
|
-
|
|
28
|
-
Run `specflow scan` against the target project. If `--module` flag is provided, read the IDE-local prompt file:
|
|
29
|
-
|
|
30
|
-
- Cursor: `.cursor/specflow/prompts/shared/dispatching-parallel-agents.md`
|
|
31
|
-
- Claude: `.claude/specflow/prompts/shared/dispatching-parallel-agents.md`
|
|
32
|
-
- Codex: `.agents/specflow/prompts/shared/dispatching-parallel-agents.md`
|
|
33
|
-
|
|
34
|
-
Then scan modules in parallel; otherwise run a single pass.
|
|
35
|
-
|
|
36
|
-
### Planned Stage 2: Present Results
|
|
37
|
-
|
|
38
|
-
Scan produces `specflow/SCAN_REPORT.md`. Present a summary highlighting detected modules, identified specs and coverage gaps, and suggested next actions.
|
|
39
|
-
|
|
40
|
-
### Planned Gate: User Confirmation
|
|
41
|
-
|
|
42
|
-
Ask the user to confirm the scan results. Do NOT proceed until explicit confirmation. Confirmed results become the Source of Truth for all downstream commands.
|
|
43
|
-
|
|
44
|
-
### Planned Stage 3: Finalize
|
|
45
|
-
|
|
46
|
-
Once confirmed, the scan results are locked and the user can run `/specflow:propose` to begin requirements planning.
|
|
47
|
-
|
|
48
|
-
The v0.3 design rationale, scope, and risks will be captured in a dedicated `openspec` change at v0.3 planning time.
|