@curdx/flow 2.0.20 → 2.0.21

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.
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Claude Code Discipline Layer — spec-driven workflow + goal-backward verification + Karpathy 4 principles enforced via gates. Stops Claude from faking \"done\" on non-trivial features.",
9
- "version": "2.0.20"
9
+ "version": "2.0.21"
10
10
  },
11
11
  "plugins": [
12
12
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curdx-flow",
3
- "version": "2.0.20",
3
+ "version": "2.0.21",
4
4
  "description": "Claude Code Discipline Layer — spec-driven workflow + goal-backward verification + Karpathy 4 principles enforced via gates. Stops Claude from faking \"done\" on non-trivial features.",
5
5
  "author": {
6
6
  "name": "wdx",
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to CurdX-Flow will be documented here.
4
4
 
5
+ ## [2.0.21] - 2026-04-23
6
+
7
+ ### Fixed
8
+
9
+ - `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.
10
+ - `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`.
11
+
5
12
  ## [Unreleased]
6
13
 
7
14
  ### Fixed
package/README.zh.md CHANGED
@@ -124,7 +124,7 @@ claude --plugin-dir ./curdx-flow
124
124
  CurdX-Flow 是蒸馏,不是原创。深深致谢:
125
125
 
126
126
  - [**andrej-karpathy-skills**](https://github.com/forrestchang/andrej-karpathy-skills) — 4 原则
127
- - [**smart-ralph**](https://github.com/Nibzard/smart-ralph) — 规格引擎 + stop-hook 循环
127
+ - [**smart-ralph**](https://github.com/tzachbon/smart-ralph) — 规格引擎 + stop-hook 循环
128
128
  - [**superpowers**](https://github.com/obra/superpowers) — Subagent 纪律 + TDD + 两阶段审查
129
129
  - [**BMAD-METHOD**](https://github.com/bmad-code-org/BMAD-METHOD) — 协作流程 + 对抗审查
130
130
  - [**get-shit-done**](https://github.com/ryangentry/get-shit-done) — 波形执行 + 决策锁定 + 多源审计
@@ -133,7 +133,11 @@ export async function checkAndUpdateSelf() {
133
133
 
134
134
  if (updateRes.code === 0) {
135
135
  log.ok(`CLI updated to v${latestVersion}`);
136
- return { updated: true, version: latestVersion };
136
+ return {
137
+ updated: true,
138
+ version: latestVersion,
139
+ entryPath: join(installedPath, "bin", "curdx-flow.js"),
140
+ };
137
141
  }
138
142
 
139
143
  log.warn("CLI update failed, continuing with current version");
@@ -54,8 +54,8 @@ export async function maybeRestartWithUpdatedCli(
54
54
 
55
55
  logImpl.info("Restarting with updated version...");
56
56
  const child = spawnImpl(
57
- "curdx-flow",
58
- ["install", ...context.args, "--skip-self-update"],
57
+ process.execPath,
58
+ [updateResult.entryPath, "install", ...context.args, "--skip-self-update"],
59
59
  {
60
60
  stdio: "inherit",
61
61
  shell: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curdx/flow",
3
- "version": "2.0.20",
3
+ "version": "2.0.21",
4
4
  "description": "CLI installer for CurdX-Flow — AI engineering workflow meta-framework for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {