@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/cli/protocols-body.md +21 -0
- package/cli/protocols.js +12 -27
- package/cli/registry.js +1 -2
- package/package.json +1 -1
|
@@ -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.
|
|
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.
|
|
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
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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:
|
|
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",
|