@curdx/flow 2.0.0-beta.17 → 2.0.0-beta.19

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.0-beta.17"
9
+ "version": "2.0.0-beta.18"
10
10
  },
11
11
  "plugins": [
12
12
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curdx-flow",
3
- "version": "2.0.0-beta.17",
3
+ "version": "2.0.0-beta.18",
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/README.md CHANGED
@@ -30,6 +30,8 @@ npx @curdx/flow install --all
30
30
 
31
31
  This installs the Claude Code plugin (fully offline from the npm package — no GitHub fetch), the official Context7 plugin, the required sequential-thinking MCP server, and four recommended companion plugins (pua, claude-mem, frontend-design, chrome-devtools-mcp).
32
32
 
33
+ **Note:** If you're running this command inside the `curdx-flow` project directory itself, use `npx --ignore-existing @curdx/flow install --all` to avoid npx trying to use the local package without dependencies installed.
34
+
33
35
  ## 9 slash commands, that's it
34
36
 
35
37
  ```
package/README.zh.md CHANGED
@@ -47,6 +47,8 @@ npx @curdx/flow install --all
47
47
 
48
48
  这会用 `claude plugin ...` 非交互 CLI 安装 CurDX-Flow 插件、Context7 官方插件、必需 MCP,并安装推荐插件。
49
49
 
50
+ **注意:** 如果你在 `curdx-flow` 项目目录内运行此命令,请使用 `npx --ignore-existing @curdx/flow install --all` 避免 npx 尝试使用本地未安装依赖的包。
51
+
50
52
  ### 本地 dev
51
53
  ```bash
52
54
  git clone https://github.com/curdx/curdx-flow
@@ -0,0 +1,21 @@
1
+ ## Global Protocols (curdx-flow)
2
+
3
+ All operations MUST strictly follow these system constraints:
4
+
5
+ ### Language separation
6
+ - **Tool / persistence layer = English**: commit messages, code, comments, file names, function names, PR descriptions, CLI log output, error messages thrown by code, and any artifact persisted to the repository or shown in a developer terminal.
7
+ - **Conversational layer = Simplified Chinese**: chat replies, explanations and reasoning shown directly to the human in a conversation interface (e.g. Claude Code chat).
8
+
9
+ Rationale: English in the persistence/tool layer aligns with developer-tool industry norms (npm/git/cargo are all English) and keeps the codebase internationally collaborable. Chinese in the conversational layer matches the user's language preference. Mixing the two (e.g. Chinese commit messages, Chinese CLI log output) is a violation.
10
+
11
+ ### Discovery & reasoning
12
+ - **Library / framework / API questions**: query `context7` MCP first. Do not rely on training memory.
13
+ - **Planning / design / architecture review / epic decomposition**: use `sequential-thinking` MCP with at least 5 thoughts.
14
+ - **Cross-session memory**: query `claude-mem` MCP at task start when available.
15
+
16
+ ### Three red lines (inherited from pua)
17
+ 1. **Closed loop**: claiming "done"? Provide evidence (build output / passing tests / curl result).
18
+ 2. **Fact-driven**: before saying "probably an env issue", verify it. Unverified attribution = blame-shifting.
19
+ 3. **Exhaust everything**: before saying "I cannot", complete the systematic 4-stage debugging.
20
+
21
+ > Source: curdx-flow CLI installer (`curdx-flow install`). Remove with: `curdx-flow uninstall --purge`.
package/cli/protocols.js CHANGED
@@ -15,6 +15,7 @@ import {
15
15
  } from "node:fs";
16
16
  import { join, dirname } from "node:path";
17
17
  import { homedir } from "node:os";
18
+ import { fileURLToPath } from "node:url";
18
19
 
19
20
  // Use os.homedir() instead of process.env.HOME — HOME can be empty inside
20
21
  // non-login shells (CI containers, some spawned child envs), which would
@@ -28,33 +29,17 @@ const SENTINEL_BEGIN =
28
29
  "<!-- BEGIN curdx-flow protocols (auto-managed; do not edit between sentinels) -->";
29
30
  const SENTINEL_END = "<!-- END curdx-flow protocols -->";
30
31
 
31
- // Protocol block is itself in English it's instructions for the model,
32
- // not user-facing prose. User chat output is still Chinese per the rule below.
33
- const PROTOCOL_BODY = `
34
- ## Global Protocols (curdx-flow)
35
-
36
- All operations MUST strictly follow these system constraints:
37
-
38
- ### Language separation
39
- - **Tool / persistence layer = English**: commit messages, code, comments, file names, function names, PR descriptions, CLI log output, error messages thrown by code, and any artifact persisted to the repository or shown in a developer terminal.
40
- - **Conversational layer = Simplified Chinese**: chat replies, explanations and reasoning shown directly to the human in a conversation interface (e.g. Claude Code chat).
41
-
42
- Rationale: English in the persistence/tool layer aligns with developer-tool industry norms (npm/git/cargo are all English) and keeps the codebase internationally collaborable. Chinese in the conversational layer matches the user's language preference. Mixing the two (e.g. Chinese commit messages, Chinese CLI log output) is a violation.
43
-
44
- ### Discovery & reasoning
45
- - **Library / framework / API questions**: query \`context7\` MCP first. Do not rely on training memory.
46
- - **Planning / design / architecture review / epic decomposition**: use \`sequential-thinking\` MCP with at least 5 thoughts.
47
- - **Cross-session memory**: query \`claude-mem\` MCP at task start when available.
48
-
49
- ### Three red lines (inherited from pua)
50
- 1. **Closed loop**: claiming "done"? Provide evidence (build output / passing tests / curl result).
51
- 2. **Fact-driven**: before saying "probably an env issue", verify it. Unverified attribution = blame-shifting.
52
- 3. **Exhaust everything**: before saying "I cannot", complete the systematic 4-stage debugging.
53
-
54
- > Source: curdx-flow CLI installer (\`curdx-flow install\`). Remove with: \`curdx-flow uninstall --purge\`.
55
- `;
56
-
57
- const FULL_BLOCK = `${SENTINEL_BEGIN}\n${PROTOCOL_BODY.trim()}\n${SENTINEL_END}`;
32
+ // Protocol body lives in a sibling markdown file so it keeps markdown tooling
33
+ // (preview, lint, prettier) and avoids backtick-escaping noise inside a JS
34
+ // template literal. The body itself is English — it's instructions for the
35
+ // model, not user-facing prose.
36
+ const __dirname = dirname(fileURLToPath(import.meta.url));
37
+ const PROTOCOL_BODY = readFileSync(
38
+ join(__dirname, "protocols-body.md"),
39
+ "utf-8"
40
+ ).trim();
41
+
42
+ const FULL_BLOCK = `${SENTINEL_BEGIN}\n${PROTOCOL_BODY}\n${SENTINEL_END}`;
58
43
 
59
44
  /**
60
45
  * Read existing CLAUDE.md content; return "" if missing.
package/cli/registry.js CHANGED
@@ -42,9 +42,8 @@ export const RECOMMENDED_PLUGINS = [
42
42
  },
43
43
  {
44
44
  name: "frontend-design",
45
- // Already in default marketplace claude-plugins-official, no add needed
46
45
  id: "frontend-design@claude-plugins-official",
47
- marketplaceSource: null,
46
+ marketplaceSource: "anthropics/claude-plugins-official",
48
47
  marketplaceId: "claude-plugins-official",
49
48
  installSpec: "frontend-design@claude-plugins-official",
50
49
  uninstallSpec: "frontend-design@claude-plugins-official",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curdx/flow",
3
- "version": "2.0.0-beta.17",
3
+ "version": "2.0.0-beta.19",
4
4
  "description": "CLI installer for CurDX-Flow — AI engineering workflow meta-framework for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {