@devflow-tools/cli 0.16.11 → 0.16.13
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/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +278 -19
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/embeddings.d.ts +8 -0
- package/dist/commands/embeddings.d.ts.map +1 -0
- package/dist/commands/embeddings.js +26 -0
- package/dist/commands/embeddings.js.map +1 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +41 -3
- package/dist/commands/server.js.map +1 -1
- package/dist/index.js +53 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/with-server.d.ts.map +1 -1
- package/dist/lib/with-server.js +12 -6
- package/dist/lib/with-server.js.map +1 -1
- package/dist/plugin-files/.claude-plugin/plugin.json +1 -1
- package/dist/plugin-files/dist/command-registry.json +5 -5
- package/dist/plugin-files/dist/hooks/hook-daemon.js +32 -14
- package/dist/plugin-files/dist/hooks/memory-snapshot-cache.js +11 -0
- package/dist/plugin-files/dist/hooks/post-tool-use-failure.js +2 -2
- package/dist/plugin-files/dist/hooks/post-tool-use.js +6 -3
- package/dist/plugin-files/dist/hooks/pre-compact.js +3 -2
- package/dist/plugin-files/dist/hooks/pre-tool-use.js +3 -2
- package/dist/plugin-files/dist/hooks/server-bootstrap.js +22 -22
- package/dist/plugin-files/dist/hooks/session-end.js +4 -2
- package/dist/plugin-files/dist/hooks/stop.js +17 -2
- package/dist/plugin-files/dist/hooks/user-prompt-submit.js +15 -4
- package/dist/plugin-files/dist/skills/devflow:react/SKILL.md +8 -0
- package/dist/plugin-files/hooks/session-start +12 -15
- package/dist/plugin-files/package.json +7 -7
- package/dist/plugin-files/skills/react/SKILL.md +8 -0
- package/package.json +27 -27
|
@@ -70,6 +70,14 @@ rm -f ~/.devflow/current-skill.json ~/.devflow/current-execution-id
|
|
|
70
70
|
- 生成代码后必须通过 TypeScript 类型检查
|
|
71
71
|
- 不能凭记忆猜测 API 行为,必须基于当前项目版本
|
|
72
72
|
|
|
73
|
+
## 性能证据契约
|
|
74
|
+
|
|
75
|
+
- `react_audit_performance` 返回的 `evidenceContract` 是机器强制约束,不是可选提示。
|
|
76
|
+
- 最终性能回答必须包含“工具发现”“模型假设”“需要运行时验证”三个标题;优先直接使用工具返回的 `canonicalReport`。
|
|
77
|
+
- `runtimeProfilingOccurred=false` 时,不得把静态候选升级为 P0、高风险、确认瓶颈、已观察卡顿/掉帧/CPU 热点,也不得给出未经测量的性能数字或收益比例。
|
|
78
|
+
- 没有明确采样周期、丢弃规则和前后基准时,不得把 requestAnimationFrame/RAF 推荐为通用节流方案。
|
|
79
|
+
- Stop 首次发现违规会要求纠正一次;重复违规会 fail-open 并记录 `evidence_contract_unresolved`,不得通过改写措辞规避证据边界。
|
|
80
|
+
|
|
73
81
|
## 知识来源
|
|
74
82
|
|
|
75
83
|
以下版本描述知识源,不代表目标项目版本;目标项目的 package.json 与 lockfile 证据始终优先。
|
|
@@ -209,7 +209,7 @@ elif [ "$DEVFLOW_DAEMON_REACHABLE" != "1" ]; then
|
|
|
209
209
|
WARNING: DevFlow is in degraded mode (daemon unreachable): 4-Gate enforcement is unavailable, memory prefetch cache is unavailable, and daemon-shared Hook state is unavailable. Run devflow doctor for details."
|
|
210
210
|
fi
|
|
211
211
|
|
|
212
|
-
MEMORY_SNAPSHOT=$'## Project memory\
|
|
212
|
+
MEMORY_SNAPSHOT=$'## Project memory\nDevFlow memory snapshot=pending; source=none; reason=runtime_warming. Memory availability is not yet known; do not conclude that the project has no memories.'
|
|
213
213
|
CONFIG_FILE="${PROJECT_ROOT}/.devflow/config.json"
|
|
214
214
|
MEMORY_RESPONSE=""
|
|
215
215
|
if { [ "$DEVFLOW_DAEMON_REACHABLE" = "1" ] || [ -z "$SESSION_START_INPUT" ]; } \
|
|
@@ -219,18 +219,12 @@ if { [ "$DEVFLOW_DAEMON_REACHABLE" = "1" ] || [ -z "$SESSION_START_INPUT" ]; } \
|
|
|
219
219
|
DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS=0 \
|
|
220
220
|
node "$CLIENT_JS" memory-snapshot </dev/null 2>/dev/null || echo "")
|
|
221
221
|
fi
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
try: response=json.loads(os.environ.get('DEVFLOW_MEMORY_RESPONSE',''))
|
|
229
|
-
except Exception: response={}
|
|
230
|
-
markdown = response.get('markdown')
|
|
231
|
-
print(markdown or '## Project memory\n本项目暂无记忆')
|
|
232
|
-
PY
|
|
233
|
-
) || MEMORY_SNAPSHOT=$'## Project memory\n本项目暂无记忆'
|
|
222
|
+
MEMORY_CACHE_JS="${PLUGIN_ROOT}/dist/hooks/memory-snapshot-cache.js"
|
|
223
|
+
if [ -f "$MEMORY_CACHE_JS" ] && command -v node >/dev/null 2>&1; then
|
|
224
|
+
MEMORY_SNAPSHOT=$(DEVFLOW_MEMORY_SNAPSHOT_CLI=1 \
|
|
225
|
+
DEVFLOW_MEMORY_RESPONSE="$MEMORY_RESPONSE" \
|
|
226
|
+
node "$MEMORY_CACHE_JS" session-start "$PROJECT_ROOT" "$CONFIG_FILE" 2>/dev/null) \
|
|
227
|
+
|| MEMORY_SNAPSHOT=$'## Project memory\nDevFlow memory snapshot=degraded; source=none; reason=cache_reader_failed. Memory availability is not yet known; do not conclude that the project has no memories.'
|
|
234
228
|
fi
|
|
235
229
|
|
|
236
230
|
ONBOARDING_SNAPSHOT=""
|
|
@@ -259,11 +253,14 @@ fi
|
|
|
259
253
|
|
|
260
254
|
SUMMARY="${SUMMARY}${DEGRADED_CONTEXT}${DAEMON_CONTEXT}"$'\n\n'"${ONBOARDING_SNAPSHOT}"$'\n\n'"${MEMORY_SNAPSHOT}${MCP_PROTOCOL}"$'\n\n'"${GLOBAL_CONSTRAINT}${GATEWAY_STATUS}"
|
|
261
255
|
|
|
262
|
-
if command -v
|
|
256
|
+
if command -v node >/dev/null 2>&1 \
|
|
257
|
+
&& ESCAPED=$(printf '%s\n' "$SUMMARY" | node -e "let s=''; process.stdin.setEncoding('utf8'); process.stdin.on('data',c=>s+=c); process.stdin.on('end',()=>process.stdout.write(JSON.stringify(s)))" 2>/dev/null); then
|
|
258
|
+
:
|
|
259
|
+
elif command -v python3 >/dev/null 2>&1 \
|
|
263
260
|
&& ESCAPED=$(printf '%s\n' "$SUMMARY" | python3 -c "import sys,json; print(json.dumps(sys.stdin.read()))" 2>/dev/null); then
|
|
264
261
|
:
|
|
265
262
|
else
|
|
266
|
-
ESCAPED='"DevFlow SessionStart
|
|
263
|
+
ESCAPED='"DevFlow SessionStart status=degraded; memory snapshot=pending; runtime helpers unavailable. Memory availability is not yet known."'
|
|
267
264
|
fi
|
|
268
265
|
|
|
269
266
|
printf '{\n "hookSpecificOutput": {\n "hookEventName": "SessionStart",\n "additionalContext": %s\n }\n}\n' "$ESCAPED"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/claude-code-plugin",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.13",
|
|
4
4
|
"description": "DevFlow — Developer Intelligence Platform for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
"deploy": "npx tsx scripts/inject-gates.ts --deploy"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@devflow-tools/database": "0.16.
|
|
12
|
-
"@devflow-tools/memory-engine": "0.16.
|
|
13
|
-
"@devflow-tools/sdk": "0.16.
|
|
14
|
-
"@devflow-tools/telemetry": "0.16.
|
|
15
|
-
"@devflow-tools/workflow-engine": "0.16.
|
|
11
|
+
"@devflow-tools/database": "0.16.13",
|
|
12
|
+
"@devflow-tools/memory-engine": "0.16.13",
|
|
13
|
+
"@devflow-tools/sdk": "0.16.13",
|
|
14
|
+
"@devflow-tools/telemetry": "0.16.13",
|
|
15
|
+
"@devflow-tools/workflow-engine": "0.16.13"
|
|
16
16
|
},
|
|
17
17
|
"allowScripts": {
|
|
18
18
|
"better-sqlite3@12.11.1": true,
|
|
19
19
|
"sharp@0.32.6": true
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@devflow-tools/mcp-server": "0.16.
|
|
22
|
+
"@devflow-tools/mcp-server": "0.16.13"
|
|
23
23
|
},
|
|
24
24
|
"keywords": [
|
|
25
25
|
"pi-package",
|
|
@@ -37,6 +37,14 @@ description: React 专家能力 — Bug 诊断、组件重构、性能优化、H
|
|
|
37
37
|
- 生成代码后必须通过 TypeScript 类型检查
|
|
38
38
|
- 不能凭记忆猜测 API 行为,必须基于当前项目版本
|
|
39
39
|
|
|
40
|
+
## 性能证据契约
|
|
41
|
+
|
|
42
|
+
- `react_audit_performance` 返回的 `evidenceContract` 是机器强制约束,不是可选提示。
|
|
43
|
+
- 最终性能回答必须包含“工具发现”“模型假设”“需要运行时验证”三个标题;优先直接使用工具返回的 `canonicalReport`。
|
|
44
|
+
- `runtimeProfilingOccurred=false` 时,不得把静态候选升级为 P0、高风险、确认瓶颈、已观察卡顿/掉帧/CPU 热点,也不得给出未经测量的性能数字或收益比例。
|
|
45
|
+
- 没有明确采样周期、丢弃规则和前后基准时,不得把 requestAnimationFrame/RAF 推荐为通用节流方案。
|
|
46
|
+
- Stop 首次发现违规会要求纠正一次;重复违规会 fail-open 并记录 `evidence_contract_unresolved`,不得通过改写措辞规避证据边界。
|
|
47
|
+
|
|
40
48
|
## 知识来源
|
|
41
49
|
|
|
42
50
|
以下版本描述知识源,不代表目标项目版本;目标项目的 package.json 与 lockfile 证据始终优先。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/cli",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,31 +12,31 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@colbymchenry/codegraph": "^1.1.1",
|
|
15
|
-
"@devflow-tools/adapters": "0.16.
|
|
16
|
-
"@devflow-tools/benchmark": "0.16.
|
|
17
|
-
"@devflow-tools/context-engine": "0.16.
|
|
18
|
-
"@devflow-tools/database": "0.16.
|
|
19
|
-
"@devflow-tools/knowledge-engine": "0.16.
|
|
20
|
-
"@devflow-tools/mcp-server": "0.16.
|
|
21
|
-
"@devflow-tools/memory-engine": "0.16.
|
|
22
|
-
"@devflow-tools/plugin-animation": "0.16.
|
|
23
|
-
"@devflow-tools/plugin-css": "0.16.
|
|
24
|
-
"@devflow-tools/plugin-docker": "0.16.
|
|
25
|
-
"@devflow-tools/plugin-electron": "0.16.
|
|
26
|
-
"@devflow-tools/plugin-git": "0.16.
|
|
27
|
-
"@devflow-tools/plugin-graphql": "0.16.
|
|
28
|
-
"@devflow-tools/plugin-nest": "0.16.
|
|
29
|
-
"@devflow-tools/plugin-nextjs": "0.16.
|
|
30
|
-
"@devflow-tools/plugin-performance": "0.16.
|
|
31
|
-
"@devflow-tools/plugin-react": "0.16.
|
|
32
|
-
"@devflow-tools/plugin-tailwind": "0.16.
|
|
33
|
-
"@devflow-tools/plugin-taro": "0.16.
|
|
34
|
-
"@devflow-tools/plugin-ui-layout": "0.16.
|
|
35
|
-
"@devflow-tools/plugin-vue": "0.16.
|
|
36
|
-
"@devflow-tools/sdk": "0.16.
|
|
37
|
-
"@devflow-tools/server": "0.16.
|
|
38
|
-
"@devflow-tools/telemetry": "0.16.
|
|
39
|
-
"@devflow-tools/workflow-engine": "0.16.
|
|
15
|
+
"@devflow-tools/adapters": "0.16.13",
|
|
16
|
+
"@devflow-tools/benchmark": "0.16.13",
|
|
17
|
+
"@devflow-tools/context-engine": "0.16.13",
|
|
18
|
+
"@devflow-tools/database": "0.16.13",
|
|
19
|
+
"@devflow-tools/knowledge-engine": "0.16.13",
|
|
20
|
+
"@devflow-tools/mcp-server": "0.16.13",
|
|
21
|
+
"@devflow-tools/memory-engine": "0.16.13",
|
|
22
|
+
"@devflow-tools/plugin-animation": "0.16.13",
|
|
23
|
+
"@devflow-tools/plugin-css": "0.16.13",
|
|
24
|
+
"@devflow-tools/plugin-docker": "0.16.13",
|
|
25
|
+
"@devflow-tools/plugin-electron": "0.16.13",
|
|
26
|
+
"@devflow-tools/plugin-git": "0.16.13",
|
|
27
|
+
"@devflow-tools/plugin-graphql": "0.16.13",
|
|
28
|
+
"@devflow-tools/plugin-nest": "0.16.13",
|
|
29
|
+
"@devflow-tools/plugin-nextjs": "0.16.13",
|
|
30
|
+
"@devflow-tools/plugin-performance": "0.16.13",
|
|
31
|
+
"@devflow-tools/plugin-react": "0.16.13",
|
|
32
|
+
"@devflow-tools/plugin-tailwind": "0.16.13",
|
|
33
|
+
"@devflow-tools/plugin-taro": "0.16.13",
|
|
34
|
+
"@devflow-tools/plugin-ui-layout": "0.16.13",
|
|
35
|
+
"@devflow-tools/plugin-vue": "0.16.13",
|
|
36
|
+
"@devflow-tools/sdk": "0.16.13",
|
|
37
|
+
"@devflow-tools/server": "0.16.13",
|
|
38
|
+
"@devflow-tools/telemetry": "0.16.13",
|
|
39
|
+
"@devflow-tools/workflow-engine": "0.16.13",
|
|
40
40
|
"@inquirer/prompts": "^7.10.1",
|
|
41
41
|
"chalk": "^5.3.0",
|
|
42
42
|
"commander": "^12.0.0"
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"dist",
|
|
50
50
|
"bin"
|
|
51
51
|
],
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "67c9dfc3709bd0ce36b7c2a9341896eedcc8a725"
|
|
53
53
|
}
|