@curdx/flow 2.2.4 → 2.3.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/.claude-plugin/marketplace.json +3 -2
- package/.claude-plugin/plugin.json +27 -1
- package/CHANGELOG.md +9 -564
- package/README.md +49 -113
- package/agents/flow-adversary.md +1 -0
- package/agents/flow-architect.md +9 -36
- package/agents/flow-brownfield-analyst.md +7 -18
- package/agents/flow-debugger.md +1 -0
- package/agents/flow-edge-hunter.md +1 -0
- package/agents/flow-executor.md +1 -0
- package/agents/flow-orchestrator.md +145 -0
- package/agents/flow-planner.md +11 -37
- package/agents/flow-product-designer.md +9 -41
- package/agents/flow-qa-engineer.md +1 -0
- package/agents/flow-researcher.md +9 -45
- package/agents/flow-reviewer.md +1 -0
- package/agents/flow-security-auditor.md +1 -0
- package/agents/flow-triage-analyst.md +1 -0
- package/agents/flow-ui-researcher.md +1 -0
- package/agents/flow-ux-designer.md +1 -0
- package/agents/flow-verifier.md +1 -0
- package/cli/install-companions.js +8 -8
- package/cli/install-next-steps.js +3 -1
- package/cli/lib/doctor-claude-settings.js +1 -0
- package/cli/lib/doctor-report.js +1 -1
- package/gates/coverage-audit-gate.md +1 -3
- package/gates/tdd-gate.md +0 -6
- package/gates/verification-gate.md +1 -5
- package/hooks/scripts/common.sh +7 -0
- package/hooks/scripts/session-start.sh +1 -1
- package/hooks/scripts/stop-watcher.sh +8 -0
- package/knowledge/artifact-output-discipline.md +24 -0
- package/knowledge/artifact-summary-contracts.md +50 -0
- package/knowledge/claude-code-runtime-contracts.md +13 -1
- package/knowledge/execution-strategies.md +6 -4
- package/knowledge/poc-first-workflow.md +2 -6
- package/knowledge/spec-driven-development.md +0 -4
- package/knowledge/systematic-debugging.md +0 -6
- package/knowledge/two-stage-review.md +8 -6
- package/knowledge/wave-execution.md +2 -1
- package/monitors/monitors.json +8 -0
- package/monitors/scripts/flow-state-monitor.sh +99 -0
- package/package.json +3 -2
- package/schemas/agent-frontmatter.schema.json +4 -0
- package/settings.json +1 -0
- package/skills/brownfield-index/SKILL.md +14 -20
- package/skills/brownfield-index/references/applicability.md +12 -0
- package/skills/brownfield-index/references/handoff.md +8 -0
- package/skills/brownfield-index/references/index-contract.md +10 -0
- package/skills/browser-qa/SKILL.md +15 -35
- package/skills/browser-qa/references/handoff.md +6 -0
- package/skills/browser-qa/references/prerequisites.md +10 -0
- package/skills/browser-qa/references/qa-contract.md +20 -0
- package/skills/cancel/SKILL.md +20 -61
- package/skills/cancel/references/destructive-mode.md +17 -0
- package/skills/cancel/references/reporting.md +18 -0
- package/skills/cancel/references/state-recovery.md +30 -0
- package/skills/cancel/references/target-resolution.md +7 -0
- package/skills/debug/SKILL.md +23 -87
- package/skills/debug/references/context-gathering.md +11 -0
- package/skills/debug/references/failure-guard.md +25 -0
- package/skills/debug/references/intake.md +12 -0
- package/skills/debug/references/phase-workflow.md +34 -0
- package/skills/debug/references/reporting.md +20 -0
- package/skills/epic/SKILL.md +18 -50
- package/skills/epic/references/epic-artifacts.md +20 -0
- package/skills/epic/references/epic-intake.md +9 -0
- package/skills/epic/references/slice-handoff.md +16 -0
- package/skills/fast/SKILL.md +34 -102
- package/skills/fast/references/applicability.md +25 -0
- package/skills/fast/references/clarification.md +20 -0
- package/skills/fast/references/execution-contract.md +56 -0
- package/skills/help/SKILL.md +26 -132
- package/skills/help/references/dispatch.md +20 -0
- package/skills/help/references/overview.md +39 -0
- package/skills/help/references/troubleshoot.md +47 -0
- package/skills/help/references/workflow.md +37 -0
- package/skills/implement/SKILL.md +61 -237
- package/skills/implement/references/error-recovery.md +36 -0
- package/skills/implement/references/linear-execution.md +32 -0
- package/skills/implement/references/preflight.md +43 -0
- package/skills/implement/references/progress-contract.md +32 -0
- package/skills/implement/references/state-init.md +33 -0
- package/skills/implement/references/stop-hook-execution.md +36 -0
- package/skills/implement/references/strategy-router.md +38 -0
- package/skills/implement/references/subagent-execution.md +43 -0
- package/skills/init/SKILL.md +26 -95
- package/skills/init/references/gitignore-and-health.md +26 -0
- package/skills/init/references/next-steps.md +22 -0
- package/skills/init/references/preflight.md +15 -0
- package/skills/init/references/scaffold-contract.md +27 -0
- package/skills/review/SKILL.md +45 -153
- package/skills/review/references/optional-passes.md +48 -0
- package/skills/review/references/preflight.md +38 -0
- package/skills/review/references/report-contract.md +49 -0
- package/skills/review/references/reporting.md +20 -0
- package/skills/review/references/stage-execution.md +32 -0
- package/skills/security-audit/SKILL.md +16 -34
- package/skills/security-audit/references/audit-contract.md +21 -0
- package/skills/security-audit/references/gate-handoff.md +8 -0
- package/skills/security-audit/references/scope-and-depth.md +9 -0
- package/skills/spec/SKILL.md +55 -182
- package/skills/spec/references/artifact-landing.md +31 -0
- package/skills/spec/references/phase-execution.md +50 -0
- package/skills/spec/references/planning-review.md +31 -0
- package/skills/spec/references/preflight-and-routing.md +46 -0
- package/skills/spec/references/reporting.md +21 -0
- package/skills/start/SKILL.md +40 -123
- package/skills/start/references/branch-routing.md +51 -0
- package/skills/start/references/mode-semantics.md +12 -0
- package/skills/start/references/preflight.md +13 -0
- package/skills/start/references/reporting.md +20 -0
- package/skills/start/references/state-seeding.md +44 -0
- package/skills/start/references/workflow-handoff.md +26 -0
- package/skills/status/SKILL.md +17 -61
- package/skills/status/references/gather-contract.md +27 -0
- package/skills/status/references/health-rules.md +27 -0
- package/skills/status/references/output-contract.md +24 -0
- package/skills/status/references/preflight.md +10 -0
- package/skills/status/references/recovery-hints.md +18 -0
- package/skills/ui-sketch/SKILL.md +15 -34
- package/skills/ui-sketch/references/brief-intake.md +10 -0
- package/skills/ui-sketch/references/iteration-handoff.md +5 -0
- package/skills/ui-sketch/references/variant-contract.md +15 -0
- package/skills/verify/SKILL.md +31 -86
- package/skills/verify/references/evidence-workflow.md +39 -0
- package/skills/verify/references/output-contract.md +23 -0
- package/skills/verify/references/preflight.md +11 -0
- package/skills/verify/references/report-handoff.md +35 -0
- package/skills/verify/references/strict-mode.md +12 -0
- package/README.zh.md +0 -160
package/CHANGELOG.md
CHANGED
|
@@ -1,569 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 2.3.0
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- added a default `flow-orchestrator` main-thread agent through plugin-level `settings.json`
|
|
6
|
+
- added a plugin `flow-state` monitor plus `userConfig` runtime knobs for stop-hook blocking, dependency reminders, and monitor cadence
|
|
7
|
+
- made the manifest explicit about `outputStyles` and `monitors`, shipped the monitor assets in npm tarballs, and strengthened pack/plugin contract tests
|
|
8
|
+
- updated doctor/runtime guidance and public docs to reflect the new main-agent + monitor architecture
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
## 2.2.4
|
|
8
11
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- **`addRequiredPluginMarketplaces`** — split out of `installRequiredPlugins`. The install flow now pre-registers required companion marketplaces immediately after `curdx-flow-marketplace`, so the cross-marketplace dependency resolves cleanly during the curdx-flow plugin install step.
|
|
13
|
-
- **Doctor: stale Claude Code warning + plugin error surfacing** — `curdx-flow doctor` warns when the local `claude` CLI is below `2.1.110` (the minimum version with modern plugin dependency resolution and `bin/` PATH support), and surfaces per-plugin load errors propagated from `claude plugin list --json`.
|
|
14
|
-
- **`cli/lib/semver.js`** — extracted from `install-self-update.js`. Adds `isVersionAtLeast` for the doctor warning. The updater re-exports for backward compat.
|
|
15
|
-
|
|
16
|
-
### Changed
|
|
17
|
-
|
|
18
|
-
- **Skill spec alignment** — primary slash workflows (`init`, `start`, `spec`, `implement`, `verify`, `review`, `fast`, `debug`, `help`) gain `disable-model-invocation: true` so the model cannot auto-trigger them outside an explicit slash. Specialty skills (`epic`, `browser-qa`, `ui-sketch`, `security-audit`, `brownfield-index`) split trigger phrases into `when_to_use` and keep `description` short.
|
|
19
|
-
- **`Task` → `Agent` tool naming** — every `allowed-tools`, `Task(...)` call site, and prose mention in `skills/`, `knowledge/`, and `templates/` updated to the current Claude Code `Agent` tool nomenclature.
|
|
20
|
-
- **chrome-devtools MCP namespace** — `agents/flow-{qa-engineer,ui-researcher,verifier}.md` and `skills/{browser-qa,verify}` updated to `mcp__chrome_devtools__*` (underscore namespace) and the renamed tool surface (`new_page`, `navigate_page`, `take_screenshot`, `list_console_messages`, `list_network_requests`, `take_snapshot`, `lighthouse_audit`).
|
|
21
|
-
- **Doctor: duplicate-MCP section** renamed from "Legacy plugin-bundled MCPs still present" to "Duplicate MCP registrations", with ownership-aware remediation (the official Context7 plugin gets `claude mcp remove --scope user` guidance, the migrated curdx-flow MCPs get the `claude plugin update` guidance).
|
|
22
|
-
- **Templates** — `templates/{CONTEXT,PROJECT,progress,config}.md.tmpl` reference the current `/curdx-flow:*` slash names; `templates/config.json.tmpl` removes the retired `sketch` / `autonomous` modes and the retired `simplicity-gate` / `hard-gate` gates, and adds `wave_fail_policy`.
|
|
23
|
-
- **`schemas/config.schema.json`** — new `gateName` definition enumerates the eight real gates; `gates.always_on / standard_mode / enterprise_mode` switch to `$ref` on it. Added `execution.wave_fail_policy`.
|
|
24
|
-
- **`schemas/spec-state.schema.json`** — added `quickMode` boolean (the hook-controlled no-ask flag); fixed `goal` description to reference `/curdx-flow:start`.
|
|
25
|
-
- **`hooks/scripts/quick-mode-guard.sh`** — stop treating the retired `mode=autonomous` as quick mode. Only `quickMode=true` denies `AskUserQuestion`. Regression test added.
|
|
26
|
-
- **`agent-preamble/preamble.md`** — drops the "commands" wording and documents the quick-mode `AskUserQuestion` behavior.
|
|
27
|
-
|
|
28
|
-
### Removed
|
|
29
|
-
|
|
30
|
-
- **`CLAUDE.md`** — blanked. The L1 mind baseline now lives in `hooks/scripts/inject-karpathy.sh` (injected on every SessionStart) and the protocol section that the installer writes to `~/.claude/CLAUDE.md`. The repo file added drift surface without adding signal. The matching `language-rule-scan` allow-list entry is removed.
|
|
31
|
-
- **`mode=autonomous`** — fully retired. The hook no longer treats it as quick mode, the templates no longer advertise it, and `schema-drift.test.js` regression-locks both.
|
|
32
|
-
|
|
33
|
-
### Required
|
|
34
|
-
|
|
35
|
-
- **Claude Code 2.1.110+** — the plugin dependency resolution and the plugin `bin/` PATH support require this baseline. The installer warns if your local `claude` is older.
|
|
36
|
-
|
|
37
|
-
## [2.0.21] - 2026-04-23
|
|
38
|
-
|
|
39
|
-
### Fixed
|
|
40
|
-
|
|
41
|
-
- `cli/install-workflow.js` + `cli/install-self-update.js` — after `npm install -g @curdx/flow@latest`, the self-update restart spawned a bare `curdx-flow`, which fails under `npx` (PATH not guaranteed) or when the global bin dir isn't on PATH, surfacing as `sh: curdx-flow: command not found`. `checkAndUpdateSelf` now returns the absolute entry path of the freshly installed package, and the restart re-launches with `process.execPath` + that absolute script path. No PATH dependency, no shell involvement. Two new unit tests assert the spawn contract.
|
|
42
|
-
- `README.zh.md` — corrected the `smart-ralph` credit URL. The previously listed `Nibzard/smart-ralph` 404s; the repo matching the described feature set ("Spec-driven + Ralph Wiggum loop + Claude Code plugin") is `tzachbon/smart-ralph`.
|
|
43
|
-
|
|
44
|
-
## [2.1.0] - 2026-04-23
|
|
45
|
-
|
|
46
|
-
### Changed (commands → skills migration; zero user-visible change)
|
|
47
|
-
|
|
48
|
-
All 9 slash workflows migrate from `commands/*.md` to
|
|
49
|
-
`skills/<name>/SKILL.md`, per Anthropic's recommended plugin layout.
|
|
50
|
-
`/curdx-flow:<name>` still resolves to the same slash paths with the
|
|
51
|
-
same arguments and output. File history is preserved via `git mv`.
|
|
52
|
-
|
|
53
|
-
- `skills/implement/SKILL.md` — progressive-disclosure split to
|
|
54
|
-
`skills/implement/references/wave-execution.md`; body reduced
|
|
55
|
-
from 381 to 240 lines.
|
|
56
|
-
- `/curdx-flow:verify` and `/curdx-flow:debug` — route via
|
|
57
|
-
Anthropic's native `context: fork + agent:` mechanism instead of
|
|
58
|
-
hand-rolled `Task()` dispatch prose. `agents/flow-verifier.md`
|
|
59
|
-
and `agents/flow-debugger.md` are unchanged.
|
|
60
|
-
- `/curdx-flow:review --devex` — new optional flag; wires the
|
|
61
|
-
previously caller-less `gates/devex-gate.md` into the reviewer
|
|
62
|
-
dispatch.
|
|
63
|
-
- `cli/install-companions.js` — split by concern into four modules
|
|
64
|
-
(`install-required-plugins.js`, `install-bundled-mcps.js`,
|
|
65
|
-
`install-recommended-plugins.js`, `install-context7-config.js`).
|
|
66
|
-
`install-companions.js` becomes a re-export barrel; callers in
|
|
67
|
-
`cli/install.js` and `cli/install-workflow.js` unchanged.
|
|
68
|
-
- `package.json.files` — drops `"commands/"` (directory removed);
|
|
69
|
-
`"skills/"` retained.
|
|
70
|
-
- `.gitignore` — anchors the `references/` pattern to the repo root
|
|
71
|
-
(`/references/`) so `skills/<name>/references/` progressive-disclosure
|
|
72
|
-
directories ship with the plugin.
|
|
73
|
-
|
|
74
|
-
### Added (internal test coverage)
|
|
75
|
-
|
|
76
|
-
- `test/skill-surface-parity.test.js` — snapshot of 14 unqualified
|
|
77
|
-
slash names (9 migrated + 5 pre-existing); pins the public
|
|
78
|
-
command surface across every refactor stage.
|
|
79
|
-
- `test/schema-drift.test.js` — strict equality between
|
|
80
|
-
`schemas/*.json` mode enum and documented v2 modes.
|
|
81
|
-
- `test/registry-session-start-parity.test.js` — strict equality
|
|
82
|
-
between `hooks/scripts/session-start.sh` plugin list and
|
|
83
|
-
`cli/registry.js` RECOMMENDED_PLUGINS.
|
|
84
|
-
- `test/language-rule-scan.test.js` — no CJK characters outside
|
|
85
|
-
`cli/**` and an explicit small allow-list.
|
|
86
|
-
- `test/install-required-plugins.test.js`,
|
|
87
|
-
`test/install-bundled-mcps.test.js`,
|
|
88
|
-
`test/install-recommended-plugins.test.js`,
|
|
89
|
-
`test/install-context7-config.test.js` — module-import smoke
|
|
90
|
-
tests for the four split install modules.
|
|
91
|
-
- `test/pack-tarball-smoke.test.js` — `npm pack --dry-run`
|
|
92
|
-
assertions that `commands/` is absent, 14 SKILL.md files and
|
|
93
|
-
`skills/implement/references/` ship, and every top-level
|
|
94
|
-
infrastructure directory is present in the tarball (Acceptance
|
|
95
|
-
#18 from `docs/refactor-plan.md`).
|
|
96
|
-
|
|
97
|
-
Total test count: 85 → 104, all green.
|
|
98
|
-
|
|
99
|
-
### Fixed (drift cleanup)
|
|
100
|
-
|
|
101
|
-
- `schemas/spec-state.schema.json`, `schemas/config.schema.json` —
|
|
102
|
-
remove unreachable `sketch` and `autonomous` mode enum values.
|
|
103
|
-
Both were retired on the user-facing surface in v2 but never
|
|
104
|
-
cleaned from the schemas (see `MIGRATION.md`).
|
|
105
|
-
- `hooks/scripts/session-start.sh` — adds `chrome-devtools-mcp` to
|
|
106
|
-
the dependency-check list, closing the beta.8 drift that
|
|
107
|
-
`cli/registry.js` was supposed to prevent.
|
|
108
|
-
- `agent-preamble/preamble.md` — removes an empty
|
|
109
|
-
`| Task | Guideline |` table header left behind by a prior edit.
|
|
110
|
-
- `README.zh.md` — masthead paragraph rewritten from the pre-v2
|
|
111
|
-
"meta-framework" positioning to the current "discipline layer"
|
|
112
|
-
framing, parallel to `README.md`.
|
|
113
|
-
- `cli/protocols-body.md` — explicit carve-out paragraph allowing
|
|
114
|
-
`cli/` installer menus to be bilingual; every other layer stays
|
|
115
|
-
English for AI / agent adaptation.
|
|
116
|
-
|
|
117
|
-
### Fixed (hooks — previously pending)
|
|
118
|
-
|
|
119
|
-
- `hooks/hooks.json` + `hooks/scripts/inject-karpathy.sh` — migrated the L1 baseline injector from the `InstructionsLoaded` event to `SessionStart` with `matcher: "startup|clear|compact"`. Per the Claude Code hooks docs (code.claude.com/docs/en/hooks), `InstructionsLoaded` is an observability-only event: its hook schema has no `hookSpecificOutput` field, so the injector's `{"hookSpecificOutput":{"hookEventName":"InstructionsLoaded","additionalContext":…}}` payload was rejected at session boot with `Hook JSON output validation failed — (root): Invalid input`, producing the `SessionStart:startup hook error` banner on every Claude Code launch. The `startup|clear|compact` matcher preserves the original "baseline survives compaction" intent. Also updated `docs/architecture.md` and `README.zh.md` hook-event inventories.
|
|
120
|
-
|
|
121
|
-
### BREAKING
|
|
122
|
-
|
|
123
|
-
- **`context7` and `sequential-thinking` moved from plugin-bundled MCPs to user-level MCPs.** Previously `.claude-plugin/plugin.json` declared both in `mcpServers`, so Claude Code auto-registered them as `plugin:curdx-flow:context7` and `plugin:curdx-flow:sequential-thinking` when the plugin installed. This is no longer the case — the `mcpServers` block is gone. Instead, `curdx-flow install` now runs `claude mcp add context7 …` + `claude mcp add sequential-thinking …` against the user's `~/.claude.json`, which keeps them as standard user-level registrations named `context7` and `sequential-thinking`.
|
|
124
|
-
|
|
125
|
-
**Why**: every early adopter who ran `claude mcp add context7 -- npx -y @upstash/context7-mcp --api-key ctx7sk-…` before installing curdx-flow ended up with *both* entries side-by-side — doubling MCP processes, making API-key routing unpredictable (random between free-tier plugin copy and paid user copy), and forcing an awkward env-var migration path. User-level registration matches the way every other MCP in the ecosystem is installed, keeps tool names standard (`mcp__context7__*` instead of `mcp__plugin_curdx-flow_context7__*`), and lets users put an `--api-key` directly in their own entry without any env-var indirection. Every agent / knowledge doc / command in the repo already calls the standard tool-name form, so this is a **zero-change-for-callers** migration.
|
|
126
|
-
|
|
127
|
-
**Migration for existing users**:
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
# Upgrade the plugin — this removes the plugin-bundled MCPs and
|
|
131
|
-
# registers them at user-level (preserving any existing user-level entry
|
|
132
|
-
# with a custom --api-key).
|
|
133
|
-
npx @curdx/flow@latest upgrade
|
|
134
|
-
|
|
135
|
-
# Restart Claude Code so the plugin manifest reloads.
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
After upgrade, `claude mcp list` will show `context7` and
|
|
139
|
-
`sequential-thinking` (user-level) but NOT `plugin:curdx-flow:context7` etc.
|
|
140
|
-
`npx @curdx/flow doctor` confirms with "user-level (standard)" in the
|
|
141
|
-
"MCP Servers" section.
|
|
142
|
-
|
|
143
|
-
### Added
|
|
144
|
-
|
|
145
|
-
- `cli/registry.js` exports a new `BUNDLED_MCPS` constant — the source-of-truth list of MCPs that `install` registers at user-level and `uninstall` optionally removes.
|
|
146
|
-
- `cli/install.js` Step 3.5 — registers the required MCPs via `claude mcp add`. Detects pre-existing user-level entries (e.g. your hand-configured context7 with an API key) and preserves them instead of overwriting.
|
|
147
|
-
- `cli/uninstall.js` Step 4.5 — asks whether to `claude mcp remove` the registered MCPs (default: no, because other tools may depend on them).
|
|
148
|
-
- `cli/doctor.js` — now reports "user-level (standard)" for each required MCP when it's registered the right way, and "(legacy)" with a migration hint when the old plugin-bundled form is still active.
|
|
149
|
-
|
|
150
|
-
### Changed
|
|
151
|
-
|
|
152
|
-
- The "Duplicate MCP" warning in `doctor` (added in beta.11) is now framed as "Legacy plugin-bundled MCPs still present" with a concrete migration command, since the new architecture reserves duplication strictly for the upgrade-transition window.
|
|
153
|
-
- `docs/getting-started.md` "Optional: use your paid context7 API key" section rewritten around the user-level path (add `--api-key` to your `claude mcp add` command) since env-var indirection is no longer the only way to route a key to the plugin copy.
|
|
154
|
-
|
|
155
|
-
## [2.0.0-beta.11] - 2026-04-22
|
|
156
|
-
|
|
157
|
-
### Added
|
|
158
|
-
|
|
159
|
-
- `cli/doctor.js` detects when a user-level MCP in `~/.claude.json` (typically `context7` added via `claude mcp add …`) duplicates a plugin-bundled MCP from `plugin.json` (`plugin:curdx-flow:context7`). Backed by `cli/utils.js:readUserMcpConfig()` + `findDuplicateMcps()` and 3 new tests in `test/utils.test.js`.
|
|
160
|
-
- `docs/getting-started.md` "Optional: use your paid context7 API key" section documenting the env-var path.
|
|
161
|
-
|
|
162
|
-
## [2.0.0-beta.10] - 2026-04-21
|
|
163
|
-
|
|
164
|
-
### Fixed
|
|
165
|
-
|
|
166
|
-
- `cli/utils.js` — `listMcps` rewritten to handle the actual `claude mcp list` format captured from claude 2.1.117. The previous regex matched only a single kebab-case token before the first colon, so `plugin:curdx-flow:context7: npx ...` parsed as name=`plugin` and silently dropped the rest. New parser exports `{ name, plugin, fullName, status, command }` and is fixture-tested in `test/utils.test.js`.
|
|
167
|
-
- `cli/doctor.js` — MCP presence check now accepts both standalone (`context7`) and plugin-bundled (`plugin:curdx-flow:context7`) registrations, with source in the status line. Fixes the same class of false-positive that bit `chrome-devtools` in beta.7. Also gated `--verbose` raw-plugin dump behind `claude` being on PATH, so it no longer runs a meaningless empty child when the CLI is absent.
|
|
168
|
-
- `cli/install.js` — step counter was `1/4`..`4/4` but there are five steps; `Step 5: inject global protocols` was emitted via bare `console.log` so the progress display lied. All five steps now use `log.step(N, 5, ...)`. Also switched `⏳ Installing` and `✅ Install complete` glyphs to the `▸` / `✓` symbols used elsewhere in the project's `log.*` helpers.
|
|
169
|
-
- `cli/uninstall.js` — same `⏳` → `▸` glyph normalisation.
|
|
170
|
-
- `cli/protocols.js` + `cli/utils.js` + `cli/uninstall.js` — switched from `process.env.HOME || ""` to `os.homedir()`. `$HOME` is only guaranteed in interactive login shells; CI containers, some `docker exec` invocations, and non-login spawns can leave it empty, which resolved `GLOBAL_CLAUDE_MD` to `/.claude/CLAUDE.md` and broke `ensureRuntimeInPath` runtime candidate lookup.
|
|
171
|
-
- `bin/curdx-flow.js` — `main()` was called unconditionally at module scope, so `import()` from a test would spawn the CLI, parse the test runner's argv, and `exit(1)`. Now guarded by the ESM direct-invocation idiom (`import.meta.url === pathToFileURL(process.argv[1]).href`). Added one real-import test.
|
|
172
|
-
- `.claude-plugin/plugin.json` — `homepage` and `repository` pointed at `github.com/wdx/curdx-flow` but the authoritative remote is `github.com/curdx/curdx-flow`. Plugin-marketplace UI clicks previously 404'd. Aligned to the real owner.
|
|
173
|
-
- `.github/workflows/npm-publish.yml` — bumped `actions/setup-node` from Node 20 to Node 22 LTS ahead of the 2026-06-02 Node 20 removal.
|
|
174
|
-
- `scripts/release.sh` — lockstep bump of `plugin.json` + `marketplace.json` now parses both files in memory before writing either, with `git checkout -- package.json` auto-revert on failure. Previously the second file could fail to write while the first was already disk-committed.
|
|
175
|
-
|
|
176
|
-
### Changed
|
|
177
|
-
|
|
178
|
-
- `commands/start.md` — replaced the brittle `xargs`/`awk`/`sed` flag-parsing block with a model-directed parse that tolerates quoted strings in `$ARGUMENTS` (e.g. `my-feature "Fix user's login bug"` no longer hits `xargs: unmatched quote`).
|
|
179
|
-
- `commands/init.md` — Step 5 used to say "Run `npx @curdx/flow doctor`" but the slash command runs inside Claude Code where a spawned CLI's output doesn't render cleanly. Reframed as "verify inline + suggest the user run the CLI in a separate terminal if they want the full report."
|
|
180
|
-
- `commands/implement.md` — replaced `❌` emoji with `✗` to match the project's own `log.err` helper.
|
|
181
|
-
- `docs/architecture.md` — Hook System section and CLI layout were **entirely fabricated** (listed non-existent hooks `pre-spec.sh` / `post-implement.sh` / `pre-verify.sh` / `post-review.sh` / `on-gate-fail.sh` and bogus paths `cli/bin/flow` / `cli/commands/install.js` / `cli/lib/…`). Rewritten to match the real `hooks/scripts/` layout (4 hooks: session-start / inject-karpathy / quick-mode-guard / stop-watcher) and real `bin/` + `cli/` paths including `cli/registry.js` and the `test/` directory.
|
|
182
|
-
|
|
183
|
-
### Added
|
|
184
|
-
|
|
185
|
-
- `test/utils.test.js` grew 5 fixture tests for the new `parseMcpList` against a captured `claude mcp list` output.
|
|
186
|
-
- `test/cli-entrypoints.test.js` — 5 smoke tests that each dynamically-import `cli/doctor.js` / `cli/install.js` / `cli/upgrade.js` / `cli/uninstall.js` and assert the expected top-level function exports. Guards against the "deleted an import but forgot the consumer" class of regression at CI time. Plus one test that imports `bin/curdx-flow.js` now that it no longer runs `main()` at module load.
|
|
187
|
-
|
|
188
|
-
### Removed (docs compliance)
|
|
189
|
-
|
|
190
|
-
- Chinese trigger phrases from `skills/*/SKILL.md` descriptions (5 files). Keeping bilingual triggers violated the project's own language-separation rule (`CLAUDE.md`: "Documentation layer = English"). Semantic matching on the English phrases plus the model's own bilingual understanding covers the same invocation surface.
|
|
191
|
-
|
|
192
|
-
## [2.0.0-beta.9] - 2026-04-21
|
|
193
|
-
|
|
194
|
-
### Fixed (P0)
|
|
195
|
-
|
|
196
|
-
- `cli/utils.js` — `findRuntime()` referenced `existsSync` without importing it; any user whose `bun`/`uv` was not on PATH hit `ReferenceError` during install or doctor.
|
|
197
|
-
- `hooks/scripts/stop-watcher.sh` — `export STATE_FILE` was placed after the python heredoc, so the stop-hook execution strategy never activated. Moved the export before the heredoc.
|
|
198
|
-
- `package.json` — `skills/` directory was missing from `files[]`; the 5 bundled skills were stripped from the published tarball.
|
|
199
|
-
- `cli/uninstall.js` + `cli/upgrade.js` — `chrome-devtools-mcp` (added as a recommended plugin in beta.8) was missing from uninstall/upgrade lists, making it installable but uninstallable.
|
|
200
|
-
- `cli/protocols.js` — `injectGlobalProtocols()` returned action `"created"` on both ternary branches, silently collapsing the append-to-existing-file case. Atomic write + corrupted-block detection added.
|
|
201
|
-
|
|
202
|
-
### Changed (structural)
|
|
203
|
-
|
|
204
|
-
- New `cli/registry.js` is the single source of truth for recommended plugins. `install.js`, `uninstall.js`, `upgrade.js`, and `doctor.js` all import from it.
|
|
205
|
-
- `commands/start.md` and `commands/spec.md` now produce `.state.json` files that match `schemas/spec-state.schema.json` (field names: `spec_name` / `created` / `updated` / `version`; initial phase is `research`, not the undefined `created`).
|
|
206
|
-
- All python heredocs inside hook scripts use quoted delimiters (`<<'PY'`) and read `STATE_FILE` via `os.environ`, closing a shell→python code-injection surface triggered by unusual spec names.
|
|
207
|
-
|
|
208
|
-
### Added
|
|
209
|
-
|
|
210
|
-
- First real test suite — `node --test`-based, 18 regression tests covering `cli/protocols.js`, `cli/registry.js`, and `cli/utils.js`. Wired into `package.json` `scripts.test` and the CI `publish` job so a failing test blocks `npm publish`.
|
|
211
|
-
|
|
212
|
-
### Removed
|
|
213
|
-
|
|
214
|
-
- `hooks/scripts/fail-tracker.sh` and its `PostToolUseFailure` registration — the counter was written but never read by any consumer (the intended pua escalation was never implemented). Can be reintroduced when the consumer exists.
|
|
215
|
-
|
|
216
|
-
## [2.0.0-beta.1] - 2026-04-20
|
|
217
|
-
|
|
218
|
-
### BREAKING — Major redesign: Discipline Layer, not meta-framework
|
|
219
|
-
|
|
220
|
-
v2 reframes the project from "AI engineering workflow meta-framework distilling 6 methodologies" into a focused **Claude Code Discipline Layer** — spec-driven workflow + goal-backward verification + Karpathy discipline. 30 slash commands became 9. 24 agents became 15.
|
|
221
|
-
|
|
222
|
-
See [MIGRATION.md](./MIGRATION.md) for the full v1 → v2 command mapping.
|
|
223
|
-
|
|
224
|
-
### Removed — 21 slash commands
|
|
225
|
-
|
|
226
|
-
Folded into `/curdx-flow:spec` via flags:
|
|
227
|
-
- `/research`, `/requirements`, `/design`, `/tasks` → `/spec --phase=<name>`
|
|
228
|
-
- `/plan-ceo`, `/plan-eng`, `/plan-design`, `/plan-dx`, `/autoplan` → `/spec --review[=<dim>]`
|
|
229
|
-
- `/audit` → `/verify --strict`
|
|
230
|
-
|
|
231
|
-
Moved to auto-invoked skills (also slash-callable by their skill name):
|
|
232
|
-
- `/triage` → `epic` skill
|
|
233
|
-
- `/qa` → `browser-qa` skill
|
|
234
|
-
- `/sketch` → `ui-sketch` skill
|
|
235
|
-
- `/security` → `security-audit` skill
|
|
236
|
-
- `/index` → `brownfield-index` skill
|
|
237
|
-
|
|
238
|
-
Moved to CLI-only (outside Claude Code):
|
|
239
|
-
- `/doctor` → `npx @curdx/flow doctor`
|
|
240
|
-
- `/install-deps` → `npx @curdx/flow install --all`
|
|
241
|
-
|
|
242
|
-
Removed outright:
|
|
243
|
-
- `/party` — gimmick, no measured value. Ask Claude directly for multi-perspective discussion.
|
|
244
|
-
- `/discuss` — edit `.flow/STATE.md` directly to log decisions.
|
|
245
|
-
- `/status` — use `/curdx-flow:start --list`, or read `.flow/specs/<name>/.state.json` directly.
|
|
246
|
-
- `/switch` — folded into `/curdx-flow:start <spec-name>`.
|
|
247
|
-
- `/spike` — folded into `/curdx-flow:fast "spike: <hypothesis>"`.
|
|
248
|
-
|
|
249
|
-
### Removed — 9 persona agents
|
|
250
|
-
|
|
251
|
-
Mary, John, Winston, Amelia, Rachel, David, Oliver, Serena, Emma. Their voices merged into the corresponding `flow-*` functional agents. `/party` is gone too.
|
|
252
|
-
|
|
253
|
-
### Added — 5 auto-invoked skills
|
|
254
|
-
|
|
255
|
-
Each skill has extensive trigger keywords in English and Chinese so Claude auto-invokes based on context. All are also slash-callable (`/curdx-flow:<skill-name>`).
|
|
256
|
-
|
|
257
|
-
- `skills/epic/` — vertical-slice decomposition of large features
|
|
258
|
-
- `skills/browser-qa/` — real-browser testing via chrome-devtools MCP
|
|
259
|
-
- `skills/ui-sketch/` — UI design variant generation (uses `frontend-design` skill)
|
|
260
|
-
- `skills/security-audit/` — OWASP + STRIDE + CVE scan
|
|
261
|
-
- `skills/brownfield-index/` — map unfamiliar / legacy codebases
|
|
262
|
-
|
|
263
|
-
### Changed — expanded flag surface on core commands
|
|
264
|
-
|
|
265
|
-
- `/curdx-flow:spec` gains `--phase=<X[,Y,...]>`, `--until=<phase>`, `--review[=<dim>]`, `--regenerate`, `--resume`
|
|
266
|
-
- `/curdx-flow:start` gains `--resume`, `--list`, `--mode=<fast|standard|enterprise>` and now handles spec switching (absorbing v1 `/switch`)
|
|
267
|
-
- `/curdx-flow:verify` gains `--strict` (multi-source coverage audit, absorbing v1 `/audit`)
|
|
268
|
-
- `/curdx-flow:review` normalizes flags to `--stage=<1|2|both>`, `--adversarial`, `--edge-case`
|
|
269
|
-
|
|
270
|
-
### Changed — mode semantics
|
|
271
|
-
|
|
272
|
-
Modes reduced from 4 (`sketch / fast / standard / enterprise`) to 3 (`fast / standard / enterprise`). `sketch` folded into the `ui-sketch` skill which runs regardless of mode.
|
|
273
|
-
|
|
274
|
-
### Unchanged (intentionally)
|
|
275
|
-
|
|
276
|
-
- `.flow/` directory structure — fully backwards-compatible with v1 specs
|
|
277
|
-
- 3 auto-installed MCPs (context7, sequential-thinking, chrome-devtools)
|
|
278
|
-
- 5 hook events (SessionStart, InstructionsLoaded, Stop, PreToolUse, PostToolUseFailure)
|
|
279
|
-
- 8 composable gates (karpathy, verification, tdd, coverage-audit, adversarial-review, edge-case, security, devex)
|
|
280
|
-
- Templates (`templates/*.tmpl`) and their rendering pipeline
|
|
281
|
-
- The CLI (install, doctor, upgrade, uninstall)
|
|
282
|
-
- Global `~/.claude/CLAUDE.md` protocol injection
|
|
283
|
-
|
|
284
|
-
### Why
|
|
285
|
-
|
|
286
|
-
Field feedback on v1:
|
|
287
|
-
- Users couldn't discover commands — 30 options in the slash menu exceeds working memory
|
|
288
|
-
- Claude Code auto-truncates slash descriptions once they exceed ~8 KB, hitting us at 30 commands
|
|
289
|
-
- Peer tools (Spec Kit ~7, BMAD ~15, Aider ~15) ship with far fewer commands
|
|
290
|
-
- "Meta-framework distilling 6 methodologies" is a maintainer concept, not a user value prop
|
|
291
|
-
- The real value is **Karpathy discipline + goal-backward verification** — everything else is scaffolding
|
|
292
|
-
|
|
293
|
-
v2 keeps the scaffolding (agents, gates, hooks, knowledge docs) but hides it behind the 9 commands that real users use.
|
|
294
|
-
|
|
295
|
-
## [1.1.1] - 2026-04-20
|
|
296
|
-
|
|
297
|
-
### Fixed
|
|
298
|
-
- **Plugin load failure** — removed the explicit `"hooks": "./hooks/hooks.json"` declaration from `plugin.json`.
|
|
299
|
-
Claude Code auto-loads the default path `hooks/hooks.json`; declaring it explicitly caused a duplicate-hook-file
|
|
300
|
-
error. Symptom: `claude plugin list` showed `Status: ✘ failed to load`.
|
|
301
|
-
- The local `claude --plugin-dir` mode does not trigger duplicate detection, so all 8 rounds of dev-time validation
|
|
302
|
-
passed; only a real marketplace install exposed this bug (lesson from the first publish).
|
|
303
|
-
|
|
304
|
-
## [1.1.0] - 2026-04-20
|
|
305
|
-
|
|
306
|
-
### Changed — **BREAKING**: command namespacing
|
|
307
|
-
|
|
308
|
-
All 31 commands moved from `/flow-<name>` to **`/curdx-flow:<name>`** (Claude Code's native plugin namespace).
|
|
309
|
-
|
|
310
|
-
**Migration map (old → new)**:
|
|
311
|
-
- `/flow-init` → `/curdx-flow:init`
|
|
312
|
-
- `/flow-start` → `/curdx-flow:start`
|
|
313
|
-
- `/flow-research` → `/curdx-flow:research`
|
|
314
|
-
- `/flow-requirements` → `/curdx-flow:requirements`
|
|
315
|
-
- `/flow-design` → `/curdx-flow:design`
|
|
316
|
-
- `/flow-tasks` → `/curdx-flow:tasks`
|
|
317
|
-
- `/flow-spec` → `/curdx-flow:spec`
|
|
318
|
-
- `/flow-implement` → `/curdx-flow:implement`
|
|
319
|
-
- `/flow-verify` → `/curdx-flow:verify`
|
|
320
|
-
- `/flow-review` → `/curdx-flow:review`
|
|
321
|
-
- `/flow-audit` → `/curdx-flow:audit`
|
|
322
|
-
- `/flow-debug` → `/curdx-flow:debug`
|
|
323
|
-
- `/flow-triage` → `/curdx-flow:triage`
|
|
324
|
-
- `/flow-discuss` → `/curdx-flow:discuss`
|
|
325
|
-
- `/flow-party` → `/curdx-flow:party`
|
|
326
|
-
- `/flow-qa` → `/curdx-flow:qa`
|
|
327
|
-
- `/flow-sketch` → `/curdx-flow:sketch`
|
|
328
|
-
- `/flow-security` → `/curdx-flow:security`
|
|
329
|
-
- `/flow-index` → `/curdx-flow:index`
|
|
330
|
-
- `/flow-doctor` → `/curdx-flow:doctor`
|
|
331
|
-
- `/flow-status` → `/curdx-flow:status`
|
|
332
|
-
- `/flow-switch` → `/curdx-flow:switch`
|
|
333
|
-
- `/flow-help` → `/curdx-flow:help`
|
|
334
|
-
- `/flow-install-deps` → `/curdx-flow:install-deps`
|
|
335
|
-
- `/flow-fast` → `/curdx-flow:fast`
|
|
336
|
-
- `/flow-spike` → `/curdx-flow:spike`
|
|
337
|
-
- `/flow-plan-ceo` → `/curdx-flow:plan-ceo`
|
|
338
|
-
- `/flow-plan-eng` → `/curdx-flow:plan-eng`
|
|
339
|
-
- `/flow-plan-design` → `/curdx-flow:plan-design`
|
|
340
|
-
- `/flow-plan-dx` → `/curdx-flow:plan-dx`
|
|
341
|
-
- `/flow-autoplan` → `/curdx-flow:autoplan`
|
|
342
|
-
|
|
343
|
-
### Changed
|
|
344
|
-
- Renamed `commands/flow-*.md` to `commands/*.md` (history preserved via `git mv`)
|
|
345
|
-
- Each command's `name: flow:xxx` frontmatter changed to `name: xxx`
|
|
346
|
-
- 78 doc files updated for a total of 594 + 38 command references
|
|
347
|
-
- Template strings that dynamically generate command names (help/switch/start/spec) updated in lockstep
|
|
348
|
-
- `plugin.json` / `marketplace.json` version: 1.0.0 → 1.1.0
|
|
349
|
-
|
|
350
|
-
### Unchanged (intentional)
|
|
351
|
-
- `agents/flow-*.md` file paths (agent internal namespace, not commands)
|
|
352
|
-
- `CHANGELOG.md` historical entries (history is not rewritten)
|
|
353
|
-
- References to future Phase 6+ commands (e.g. `/curdx-flow:ship`, marked "not implemented")
|
|
354
|
-
|
|
355
|
-
### Why
|
|
356
|
-
Claude Code natively supports the `<plugin-name>:<command>` namespace, which avoids collisions with other plugins'
|
|
357
|
-
`/flow-*` commands and makes provenance clearer. When users see `/curdx-flow:start` they immediately know it
|
|
358
|
-
belongs to curdx-flow.
|
|
359
|
-
|
|
360
|
-
### Migration
|
|
361
|
-
Old commands no longer work. If your scripts or docs reference the old names, do a global replace
|
|
362
|
-
`/flow-` → `/curdx-flow:` (note: agent file paths `agents/flow-*.md` stay unchanged).
|
|
363
|
-
|
|
364
|
-
## [1.0.0] - 2026-04-20
|
|
365
|
-
|
|
366
|
-
### Added — Phase 7: Polish & Release
|
|
367
|
-
|
|
368
|
-
- **7 complete user docs** (`docs/*.md`):
|
|
369
|
-
- `getting-started.md` — 5-minute on-ramp
|
|
370
|
-
- `command-reference.md` — all 31 commands grouped by family
|
|
371
|
-
- `agent-reference.md` — all 24 agents (15 functional + 9 personas)
|
|
372
|
-
- `workflows.md` — 5 typical workflows (greenfield/brownfield/epic/fast/ui-heavy)
|
|
373
|
-
- `architecture.md` — technical architecture (hook system / strategy router / gate composition / extension points)
|
|
374
|
-
- `ethos.md` — design philosophy (five pillars / credits / trade-offs / anti-patterns)
|
|
375
|
-
- `troubleshoot.md` — symptom-indexed troubleshooting
|
|
376
|
-
- **README upgrade** (English + Chinese) — added badges / overview list / Quick Start / credits / explicit "skipped" notes
|
|
377
|
-
|
|
378
|
-
### Changed
|
|
379
|
-
- `plugin.json` version: 0.6.0 → **1.0.0** (Polish complete = official 1.0 release)
|
|
380
|
-
|
|
381
|
-
### Design Decision
|
|
382
|
-
- v1.0 marks "feature-complete + publishable"
|
|
383
|
-
- Subsequent versioning is semantic:
|
|
384
|
-
- 1.0.x patch — doc fixes, hook fixes
|
|
385
|
-
- 1.x.0 minor — new commands / new agents / new gates
|
|
386
|
-
- 2.0.0 major — breaking changes (e.g. frontmatter schema change)
|
|
387
|
-
- **Phase 6 intentionally skipped** (ship/land/canary/retro) — low ROI for private repos
|
|
388
|
-
|
|
389
|
-
## [0.6.0] - 2026-04-19
|
|
390
|
-
|
|
391
|
-
### Added — Phase 5: Tools & UI
|
|
392
|
-
|
|
393
|
-
- **4 tool-class agents** (`agents/*.md`):
|
|
394
|
-
- `flow-qa-engineer` — runs real-browser QA via the chrome-devtools MCP, capturing bugs / performance / accessibility
|
|
395
|
-
- `flow-ux-designer` — invokes the frontend-design skill to generate HTML variants
|
|
396
|
-
- `flow-security-auditor` — OWASP Top 10 + STRIDE + npm audit
|
|
397
|
-
- `flow-ui-researcher` — UI pattern research; scans codebase + WebSearch + screenshots
|
|
398
|
-
- **2 new gates** (`gates/*.md`):
|
|
399
|
-
- `security-gate` — SR blocking red lines (hard-coded credentials, injection, sensitive logging) + SW warnings + SM mandatory items
|
|
400
|
-
- `devex-gate` — 8 dimensions (naming/comments/structure/error-handling/setup/types/tests/dev loop)
|
|
401
|
-
- **4 tool commands**:
|
|
402
|
-
- `/curdx-flow:qa [--url=...]` — dispatches Oliver for browser QA
|
|
403
|
-
- `/curdx-flow:sketch "<description>"` — dispatches Emma to generate UI variants
|
|
404
|
-
- `/curdx-flow:security` — dispatches Serena for security audit
|
|
405
|
-
- `/curdx-flow:index [--force]` — scans a brownfield codebase and generates an index
|
|
406
|
-
- **5 Planning Review commands** (inherited from gstack and extended):
|
|
407
|
-
- `/curdx-flow:plan-ceo` — strategic-layer review (scope / ROI / opportunity cost)
|
|
408
|
-
- `/curdx-flow:plan-eng` — engineering-layer review (architecture lock / risks)
|
|
409
|
-
- `/curdx-flow:plan-design` — UI/UX review (accessibility / design system)
|
|
410
|
-
- `/curdx-flow:plan-dx` — DevEx review (8-dimension scoring)
|
|
411
|
-
- `/curdx-flow:autoplan` — runs the 4 reviews above in parallel and aggregates findings
|
|
412
|
-
- **New knowledge doc** (`knowledge/planning-reviews.md`) — 4-dimension methodology + when to use + when to skip
|
|
413
|
-
|
|
414
|
-
### Changed
|
|
415
|
-
- `plugin.json` version: 0.5.1 → 0.6.0
|
|
416
|
-
|
|
417
|
-
## [0.5.1] - 2026-04-19
|
|
418
|
-
|
|
419
|
-
### Added — Wave Execution complete (Phase 2 follow-up)
|
|
420
|
-
|
|
421
|
-
- **`knowledge/wave-execution.md`** — DAG analysis algorithm, parallel dispatch mechanism,
|
|
422
|
-
conflict detection (pre + post), failure strategy, configuration notes, 3 file-conflict scenarios
|
|
423
|
-
- **`commands/curdx-flow:implement.md`** wave section expanded from a 20-line concept sketch
|
|
424
|
-
to a complete 6-step execution flow: DAG analysis → pre-conflict check → single-message
|
|
425
|
-
parallel Task dispatch → result aggregation → failure handling → progress feedback
|
|
426
|
-
|
|
427
|
-
### Changed
|
|
428
|
-
- `plugin.json` version: 0.5.0 → 0.5.1
|
|
429
|
-
|
|
430
|
-
## [0.5.0] - 2026-04-19
|
|
431
|
-
|
|
432
|
-
### Added — Phase 4: Advanced (Triage / Party / Debug / Personas)
|
|
433
|
-
|
|
434
|
-
- **2 new functional agents**:
|
|
435
|
-
- `flow-triage-analyst` — Epic vertical-slice decomposition, splitting by user value (not technical layer); produces a dependency graph + frozen shared interfaces
|
|
436
|
-
- `flow-debugger` — systematic 4-stage debugging (root cause → pattern → hypothesis → fix); ≥3 failures triggers an architecture challenge
|
|
437
|
-
- **9 persona agents** (`agents/persona-*.md`) — BMAD-style personalization:
|
|
438
|
-
- Mary (Senior Analyst → flow-researcher)
|
|
439
|
-
- John (Product Manager → flow-product-designer)
|
|
440
|
-
- Winston (Architect → flow-architect)
|
|
441
|
-
- Amelia (Developer → flow-executor)
|
|
442
|
-
- Rachel (Code Reviewer → flow-reviewer)
|
|
443
|
-
- David (Debugger → flow-debugger)
|
|
444
|
-
- Oliver (QA Engineer → flow-edge-hunter + Phase 5+ flow-qa-engineer)
|
|
445
|
-
- Serena (Security Auditor → Phase 5+ flow-security-auditor)
|
|
446
|
-
- Emma (UX Designer → Phase 5+ flow-ux-designer)
|
|
447
|
-
- **4 new commands**:
|
|
448
|
-
- `/curdx-flow:triage "<epic goal>"` — dispatches flow-triage-analyst to slice the Epic vertically
|
|
449
|
-
- `/curdx-flow:discuss` — captures key decisions (D-NN), writes to STATE.md + .progress.md
|
|
450
|
-
- `/curdx-flow:party <personas...> "<question>"` — multiple personas reason in parallel and independently (true multi-agent, not single-LLM role-play)
|
|
451
|
-
- `/curdx-flow:debug "<bug>"` — dispatches David / flow-debugger for systematic 4-stage debugging
|
|
452
|
-
- **2 new knowledge docs**:
|
|
453
|
-
- `knowledge/epic-decomposition.md` — vertical slice vs horizontal layer, dependency types, shared-interface freeze
|
|
454
|
-
- `knowledge/systematic-debugging.md` — full 4-stage methodology + forbidden anti-patterns
|
|
455
|
-
|
|
456
|
-
### Changed
|
|
457
|
-
- `plugin.json` version: 0.4.0 → 0.5.0
|
|
458
|
-
|
|
459
|
-
## [0.4.0] - 2026-04-19
|
|
460
|
-
|
|
461
|
-
### Added — Phase 3: Gates & Review
|
|
462
|
-
|
|
463
|
-
- **6 core gates** (`gates/*.md`) — composable quality-gate definitions:
|
|
464
|
-
- `karpathy-gate` (always-on, blocking) — code-level checks for the 4 principles
|
|
465
|
-
- `verification-gate` (always-on, blocking) — completion claims require fresh evidence
|
|
466
|
-
- `tdd-gate` (standard, blocking) — RED → GREEN → YELLOW enforcement + exemption paths
|
|
467
|
-
- `coverage-audit-gate` (standard, blocking) — 4-source (FR/AD/Research/D-NN) coverage audit
|
|
468
|
-
- `adversarial-review-gate` (enterprise, warning) — zero-findings forbidden + minimum findings across 3 categories
|
|
469
|
-
- `edge-case-gate` (enterprise, warning) — 7 categories of edge cases + test-gap checklist
|
|
470
|
-
- **4 review agents** (`agents/*.md`):
|
|
471
|
-
- `flow-verifier` — goal-backward verification; detects stubs / fake completions
|
|
472
|
-
- `flow-reviewer` — Two-Stage Review (Stage 1 spec compliance + Stage 2 code quality)
|
|
473
|
-
- `flow-adversary` — adversarial review; 6 dimensions × 2 rounds of sequential-thinking
|
|
474
|
-
- `flow-edge-hunter` — hunts 7 categories of edge cases; generates a test-gap checklist
|
|
475
|
-
- **3 new commands** (`commands/*.md`):
|
|
476
|
-
- `/curdx-flow:verify` — goal-backward verification (dispatches flow-verifier)
|
|
477
|
-
- `/curdx-flow:review [--adversarial|--edge-case|--both]` — Two-Stage Review with optional adversarial / edge-case scan
|
|
478
|
-
- `/curdx-flow:audit` — multi-source coverage audit (tasks-vs-specs cross-check)
|
|
479
|
-
- **New knowledge doc** (`knowledge/two-stage-review.md`) — Stage 1/2 design principles + typical anti-patterns
|
|
480
|
-
|
|
481
|
-
### Changed
|
|
482
|
-
- `plugin.json` version: 0.3.0 → 0.4.0
|
|
483
|
-
|
|
484
|
-
## [0.3.0] - 2026-04-19
|
|
485
|
-
|
|
486
|
-
### Added — Phase 2: Execution Engine
|
|
487
|
-
|
|
488
|
-
- **flow-executor agent** (`agents/flow-executor.md`) — core execution agent:
|
|
489
|
-
- Executes a single task with POC-First + TDD
|
|
490
|
-
- Verify must pass
|
|
491
|
-
- Atomic commits in conventional-commit format
|
|
492
|
-
- Emits `TASK_COMPLETE` / `TASK_FAILED` / `ALL_TASKS_COMPLETE` markers
|
|
493
|
-
- 5-round retry mechanism (pua-style pressure escalation)
|
|
494
|
-
- **2 new knowledge docs**:
|
|
495
|
-
- `knowledge/execution-strategies.md` — 4 execution strategies in detail (linear / subagent / stop-hook / wave / auto)
|
|
496
|
-
- `knowledge/atomic-commits.md` — atomic-commit rules + conventional-commit format
|
|
497
|
-
- **2 new hook scripts**:
|
|
498
|
-
- `hooks/scripts/stop-watcher.sh` — StopHookLoop implementation (detects `ALL_TASKS_COMPLETE`, tracks failure count, prevents infinite loops)
|
|
499
|
-
- `hooks/scripts/quick-mode-guard.sh` — Quick Mode blocks AskUserQuestion (so the autonomous loop does not stall)
|
|
500
|
-
- **`hooks.json`** registers the new hooks:
|
|
501
|
-
- `Stop` → stop-watcher.sh
|
|
502
|
-
- `PreToolUse(AskUserQuestion)` → quick-mode-guard.sh
|
|
503
|
-
- **3 new commands**:
|
|
504
|
-
- `/curdx-flow:implement` — main execute command, with Strategy Router (`--strategy=auto|linear|subagent|stop-hook|wave`, `--task=X.Y`, `--quick`)
|
|
505
|
-
- `/curdx-flow:fast` — skip the spec, implement directly (one-shot tasks)
|
|
506
|
-
- `/curdx-flow:spike` — feasibility experiment (2–5 small tests to validate a hypothesis)
|
|
507
|
-
|
|
508
|
-
### Changed
|
|
509
|
-
- `plugin.json` version: 0.2.0 → 0.3.0
|
|
510
|
-
|
|
511
|
-
## [0.2.0] - 2026-04-19
|
|
512
|
-
|
|
513
|
-
### Added — Phase 1: Spec Engine
|
|
514
|
-
|
|
515
|
-
- **5 spec templates** (`templates/*.tmpl`):
|
|
516
|
-
- `research.md.tmpl` — research report structure
|
|
517
|
-
- `requirements.md.tmpl` — user stories + acceptance criteria + FR/NFR
|
|
518
|
-
- `design.md.tmpl` — architecture decisions + component boundaries + mermaid diagrams
|
|
519
|
-
- `tasks.md.tmpl` — POC-First 5 Phases + coverage audit
|
|
520
|
-
- `progress.md.tmpl` — progress log + learnings
|
|
521
|
-
- **3 JSON Schemas** (`schemas/*.schema.json`):
|
|
522
|
-
- `spec-state.schema.json` — cross-session state
|
|
523
|
-
- `config.schema.json` — project configuration
|
|
524
|
-
- `spec-frontmatter.schema.json` — spec file YAML frontmatter
|
|
525
|
-
- **2 knowledge docs** (`knowledge/*.md`):
|
|
526
|
-
- `spec-driven-development.md` — SDD methodology
|
|
527
|
-
- `poc-first-workflow.md` — POC-First 5 Phases
|
|
528
|
-
- **4 functional agents** (`agents/*.md`):
|
|
529
|
-
- `flow-researcher` — deep research (context7 + claude-mem + sequential-thinking ≥5 rounds + WebSearch)
|
|
530
|
-
- `flow-product-designer` — user stories + acceptance criteria + FR/NFR
|
|
531
|
-
- `flow-architect` — architecture design (sequential-thinking ≥8 rounds + context7 to validate technology choices)
|
|
532
|
-
- `flow-planner` — POC-First decomposition + multi-source coverage audit
|
|
533
|
-
- **7 new commands** (`commands/*.md`):
|
|
534
|
-
- `/curdx-flow:start` — intelligent entry (new spec / resume spec)
|
|
535
|
-
- `/curdx-flow:switch` — switch the active spec
|
|
536
|
-
- `/curdx-flow:research` — dispatches flow-researcher
|
|
537
|
-
- `/curdx-flow:requirements` — dispatches flow-product-designer
|
|
538
|
-
- `/curdx-flow:design` — dispatches flow-architect
|
|
539
|
-
- `/curdx-flow:tasks` — dispatches flow-planner
|
|
540
|
-
- `/curdx-flow:spec` — runs the 4 phases sequentially in one shot
|
|
541
|
-
|
|
542
|
-
### Changed
|
|
543
|
-
- `plugin.json` version: 0.1.0 → 0.2.0
|
|
544
|
-
|
|
545
|
-
## [0.1.0] - 2026-04-19
|
|
546
|
-
|
|
547
|
-
### Added — Phase 0: Foundation
|
|
548
|
-
|
|
549
|
-
- Project skeleton for Claude Code plugin
|
|
550
|
-
- `plugin.json` with inline `mcpServers` declaring 3 auto-installed MCPs:
|
|
551
|
-
- `context7` — latest documentation fetcher
|
|
552
|
-
- `sequential-thinking` — structured reasoning
|
|
553
|
-
- `chrome-devtools` — browser automation
|
|
554
|
-
- `marketplace.json` for future plugin market publishing
|
|
555
|
-
- Hook system:
|
|
556
|
-
- `SessionStart` — dependency check + project state load
|
|
557
|
-
- `InstructionsLoaded` — inject Karpathy L1 baseline
|
|
558
|
-
- `PostToolUseFailure` — fail counter (pua integration prep)
|
|
559
|
-
- Shared agent preamble (`agent-preamble/preamble.md`) — enforces `context7` / `sequential-thinking` / `claude-mem` usage in all agents
|
|
560
|
-
- Core commands:
|
|
561
|
-
- `/curdx-flow:init` — initialize `.flow/` project structure
|
|
562
|
-
- `/curdx-flow:install-deps` — one-click install of recommended plugins (pua, claude-mem, frontend-design)
|
|
563
|
-
- `/curdx-flow:doctor` — dependency health check
|
|
564
|
-
- `/curdx-flow:status` — project & spec status
|
|
565
|
-
- `/curdx-flow:help` — smart help
|
|
566
|
-
- Document templates (`templates/*.tmpl`) for PROJECT/CONTEXT/STATE/ROADMAP/config
|
|
567
|
-
- Knowledge base (`knowledge/karpathy-guidelines.md`) for agents to `@`-reference
|
|
568
|
-
- CLAUDE.md with L1-L4 rules
|
|
569
|
-
- README (English + Chinese) + LICENSE (MIT)
|
|
12
|
+
- aligned the public docs surface with the current skill-first plugin layout
|
|
13
|
+
- kept thin entry docs while moving detailed workflow logic into skill references
|
|
14
|
+
- locked command summaries to workflow skill descriptions with tests
|