@bovinphang/frontend-craft 2.8.0 → 2.9.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 -3
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +378 -339
- package/CHANGELOG.zh-CN.md +377 -338
- package/CONTRIBUTING.md +371 -361
- package/CONTRIBUTING.zh-CN.md +371 -361
- package/README.md +545 -493
- package/README.openclaw.md +359 -320
- package/README.openclaw.zh-CN.md +359 -320
- package/README.zh-CN.md +545 -493
- package/agents/fec-code-reviewer.md +24 -3
- package/agents/fec-debugger.md +1 -1
- package/agents/fec-doc-updater.md +1 -1
- package/agents/fec-e2e-runner.md +1 -1
- package/agents/fec-figma-implementer.md +1 -1
- package/agents/fec-performance-optimizer.md +1 -1
- package/agents/fec-refactor-cleaner.md +4 -1
- package/agents/fec-refactoring-expert.md +81 -0
- package/agents/fec-security-reviewer.md +17 -1
- package/agents/fec-test-planner.md +1 -1
- package/agents/fec-typescript-reviewer.md +24 -8
- package/agents/fec-ui-checker.md +11 -11
- package/commands/fec-debug.md +1 -1
- package/commands/fec-refactor-plan.md +17 -0
- package/commands/fec-refactor.md +18 -0
- package/commands/fec-review.md +40 -10
- package/commands/fec-scaffold.md +1 -1
- package/commands/fec-smell.md +17 -0
- package/commands/fec-tdd.md +6 -2
- package/dist/bin/frontend-craft.js +190 -38
- package/dist/hooks/fec-run-tests.js +5 -1
- package/dist/hooks/fec-session-start.js +1 -1
- package/docs/example-prompts.md +157 -140
- package/docs/ja-JP/README.md +534 -493
- package/docs/ko-KR/README.md +534 -493
- package/docs/project-structure.md +151 -131
- package/docs/refactoring/README.md +50 -0
- package/docs/refactoring/catalog.md +105 -0
- package/docs/refactoring/smell-refactoring-matrix.md +41 -0
- package/docs/review-and-diagram-workflows.md +39 -0
- package/docs/runtimes/antigravity.md +18 -10
- package/docs/runtimes/augment.md +18 -10
- package/docs/runtimes/claude.md +191 -177
- package/docs/runtimes/claude.zh-CN.md +189 -175
- package/docs/runtimes/cline.md +18 -10
- package/docs/runtimes/codebuddy.md +18 -10
- package/docs/runtimes/codex.md +18 -10
- package/docs/runtimes/compatibility.md +27 -0
- package/docs/runtimes/copilot.md +18 -10
- package/docs/runtimes/cursor.md +18 -10
- package/docs/runtimes/gemini.md +18 -10
- package/docs/runtimes/kilo.md +18 -10
- package/docs/runtimes/openclaw.md +18 -10
- package/docs/runtimes/opencode.md +18 -10
- package/docs/runtimes/qoder.md +18 -19
- package/docs/runtimes/trae.md +18 -10
- package/docs/runtimes/windsurf.md +18 -10
- package/docs/superpowers/plans/2026-09-26-content-integrity.md +145 -0
- package/docs/superpowers/plans/2026-09-26-diagram-quality.md +170 -0
- package/docs/superpowers/specs/2026-09-26-diagram-quality-design.md +77 -0
- package/docs/superpowers/specs/2026-09-26-project-optimization-design.md +95 -0
- package/docs/zh-CN/example-prompts.md +157 -140
- package/docs/zh-CN/project-structure.md +148 -128
- package/docs/zh-CN/review-and-diagram-workflows.md +39 -0
- package/docs/zh-TW/README.md +534 -493
- package/localized/zh-CN/agents/fec-code-reviewer.md +22 -3
- package/localized/zh-CN/agents/fec-refactor-cleaner.md +3 -0
- package/localized/zh-CN/agents/fec-refactoring-expert.md +53 -0
- package/localized/zh-CN/agents/fec-security-reviewer.md +16 -0
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +23 -7
- package/localized/zh-CN/commands/fec-refactor-plan.md +15 -0
- package/localized/zh-CN/commands/fec-refactor.md +14 -0
- package/localized/zh-CN/commands/fec-review.md +40 -9
- package/localized/zh-CN/commands/fec-smell.md +13 -0
- package/localized/zh-CN/commands/fec-tdd.md +4 -0
- package/localized/zh-CN/skills/eval_queries.json +244 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +20 -1
- package/localized/zh-CN/skills/fec-code-review/references/report-template.md +11 -1
- package/localized/zh-CN/skills/fec-code-smells/SKILL.md +33 -0
- package/localized/zh-CN/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-catalog.md +817 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +31 -1
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/README.md +14 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/architecture.json +121 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/invalid-explicit.json +41 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/sequence.json +53 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/sequence.mmd +21 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/workflow.json +98 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/workflow.mmd +7 -0
- package/localized/zh-CN/skills/fec-image-generation/references/diagram-workflows.md +10 -3
- package/localized/zh-CN/skills/fec-image-generation/references/html-technical-diagrams.md +8 -1
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-browser.mjs +90 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/export-diagram.mjs +48 -80
- package/localized/zh-CN/skills/fec-image-generation/scripts/mermaid-render.mjs +64 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +35 -4
- package/localized/zh-CN/skills/fec-image-generation/scripts/tech-diagram-render.mjs +193 -53
- package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +3 -0
- package/localized/zh-CN/skills/fec-refactoring/SKILL.md +83 -0
- package/localized/zh-CN/skills/fec-refactoring/references/principles.md +43 -0
- package/localized/zh-CN/skills/fec-refactoring/references/refactoring-vs-feature-change.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring/references/when-to-refactor.md +17 -0
- package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +59 -0
- package/localized/zh-CN/skills/fec-refactoring-api/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/SKILL.md +21 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/selection-guide.md +41 -0
- package/localized/zh-CN/skills/fec-refactoring-control/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/localized/zh-CN/skills/fec-refactoring-data/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/SKILL.md +52 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/behavior-preservation.md +15 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +25 -0
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +16 -0
- package/localized/zh-CN/skills/fec-security-review/references/report-template.md +10 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +3 -0
- package/localized/zh-CN/skills/metadata.json +408 -50
- package/localized/zh-CN/skills/relations.json +271 -3
- package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +1 -0
- package/openclaw.plugin.json +2 -3
- package/package.json +27 -17
- package/skills/eval_queries.json +244 -0
- package/skills/fec-code-review/SKILL.md +20 -1
- package/skills/fec-code-review/references/report-template.md +11 -1
- package/skills/fec-code-smells/SKILL.md +33 -0
- package/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/skills/fec-code-smells/references/smell-catalog.md +861 -0
- package/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
- package/skills/fec-data-fetching/SKILL.md +1 -1
- package/skills/fec-image-generation/SKILL.md +31 -1
- package/skills/fec-image-generation/assets/quality-examples/README.md +14 -0
- package/skills/fec-image-generation/assets/quality-examples/architecture.json +121 -0
- package/skills/fec-image-generation/assets/quality-examples/invalid-explicit.json +41 -0
- package/skills/fec-image-generation/assets/quality-examples/sequence.json +53 -0
- package/skills/fec-image-generation/assets/quality-examples/sequence.mmd +21 -0
- package/skills/fec-image-generation/assets/quality-examples/workflow.json +98 -0
- package/skills/fec-image-generation/assets/quality-examples/workflow.mmd +7 -0
- package/skills/fec-image-generation/references/diagram-workflows.md +10 -3
- package/skills/fec-image-generation/references/html-technical-diagrams.md +8 -1
- package/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/skills/fec-image-generation/scripts/diagram-browser.mjs +90 -0
- package/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/skills/fec-image-generation/scripts/export-diagram.mjs +48 -80
- package/skills/fec-image-generation/scripts/mermaid-render.mjs +64 -0
- package/skills/fec-image-generation/scripts/png-qa.mjs +35 -4
- package/skills/fec-image-generation/scripts/tech-diagram-render.mjs +193 -53
- package/skills/fec-legacy-web-standard/SKILL.md +1 -1
- package/skills/fec-refactor-clean/SKILL.md +3 -0
- package/skills/fec-refactoring/SKILL.md +83 -0
- package/skills/fec-refactoring/references/principles.md +60 -0
- package/skills/fec-refactoring/references/refactoring-vs-feature-change.md +27 -0
- package/skills/fec-refactoring/references/when-to-refactor.md +31 -0
- package/skills/fec-refactoring/references/workflow.md +90 -0
- package/skills/fec-refactoring-api/SKILL.md +25 -0
- package/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/skills/fec-refactoring-catalog/SKILL.md +28 -0
- package/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/skills/fec-refactoring-catalog/references/selection-guide.md +47 -0
- package/skills/fec-refactoring-control/SKILL.md +25 -0
- package/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/skills/fec-refactoring-data/SKILL.md +25 -0
- package/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/skills/fec-refactoring-validation/SKILL.md +59 -0
- package/skills/fec-refactoring-validation/references/behavior-preservation.md +53 -0
- package/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +42 -0
- package/skills/fec-security-review/SKILL.md +16 -0
- package/skills/fec-security-review/references/report-template.md +10 -0
- package/skills/fec-tdd-workflow/SKILL.md +5 -1
- package/skills/metadata.json +434 -71
- package/skills/relations.json +264 -0
- package/templates/shared/rules/fec-agent-workflow.md +1 -0
- package/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
- package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
# fec-debug 设计文档
|
|
2
|
-
|
|
3
|
-
> 将 `fec-build-fix` 升级为 `fec-debug`:从构建失败修复工具扩展为前端全类型问题诊断与修复框架。
|
|
4
|
-
|
|
5
|
-
## 背景与动机
|
|
6
|
-
|
|
7
|
-
当前 `fec-build-fix` 体系只覆盖 lint、type-check、test、build、CI 等验证命令的失败修复。实际开发中,构建失败只是前端调试的一小部分,更多时间花在运行时错误、UI 异常、接口问题等场景。
|
|
8
|
-
|
|
9
|
-
本次升级目标:
|
|
10
|
-
|
|
11
|
-
1. **扩大覆盖面**:从构建失败扩展到运行时错误、UI/视觉异常、接口与数据问题
|
|
12
|
-
2. **引入系统化诊断方法论**:从"跑命令看报错"升级为"分类→收集→假设→验证→修复"的 5 步科学方法
|
|
13
|
-
3. **按类型分流**:构建失败走现有快速路径,其他类型走假设-验证流程
|
|
14
|
-
|
|
15
|
-
## 架构概览
|
|
16
|
-
|
|
17
|
-
### 统一诊断框架(5 步法)
|
|
18
|
-
|
|
19
|
-
所有前端问题诊断遵循统一流程骨架:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
1. 分类(Classify)— 识别问题类型 + 影响范围
|
|
23
|
-
2. 收集(Collect)— 按类型收集证据
|
|
24
|
-
3. 假设(Hypothesize)— 基于证据模式提出可能根因
|
|
25
|
-
4. 验证(Verify)— 逐一测试假设,排除法缩小范围
|
|
26
|
-
5. 修复与确认(Fix & Validate)— 最小修复 + 回归验证
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### 诊断模块(按问题类型适配)
|
|
30
|
-
|
|
31
|
-
每个模块定义该类型下步骤 2-4 的具体策略:
|
|
32
|
-
|
|
33
|
-
| 模块 | 收集策略 | 假设策略 | 验证策略 |
|
|
34
|
-
| ----------- | ----------------------------------- | ---------------------------------- | ------------------------------- |
|
|
35
|
-
| **build** | 运行失败命令,捕获 stderr | 按错误类型分组匹配已知模式 | 修一类 → 重跑命令 |
|
|
36
|
-
| **runtime** | 复现路径 + 控制台/堆栈 + 组件树 | 异常堆栈反向追踪 + 状态流分析 | 断点/日志验证 → 修复 → 复现 |
|
|
37
|
-
| **ui** | 截图/布局快照 + DOM 检查 + 计算样式 | CSS 特异性 + 组件状态 + 响应式断点 | DevTools 验证 → 修复 → 视觉对比 |
|
|
38
|
-
| **api** | 请求/响应日志 + 网络瀑布 + 状态快照 | 请求链路逐跳检查 | curl 复现 → 修复 → 端到端验证 |
|
|
39
|
-
|
|
40
|
-
### 文件结构
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
commands/fec-debug.md # 入口命令(路由 + 调度)
|
|
44
|
-
skills/fec-debug-framework/SKILL.md # 核心框架(5 步法 + 四个诊断模块)
|
|
45
|
-
agents/fec-debugger.md # 子代理(执行复杂诊断)
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 与现有组件的关系
|
|
49
|
-
|
|
50
|
-
- `fec-validation-fix` — 保留,作为 Build 模块的核心逻辑引用
|
|
51
|
-
- `fec-build-fix` / `fec-build-fixer` — 废弃,由 `fec-debug` / `fec-debugger` 替代
|
|
52
|
-
- `gsd-debug` — 独立共存,`fec-debug` 专注前端领域
|
|
53
|
-
|
|
54
|
-
## 详细设计
|
|
55
|
-
|
|
56
|
-
### Command: `fec-debug`
|
|
57
|
-
|
|
58
|
-
入口命令,负责问题分类和调度。
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
---
|
|
62
|
-
name: fec-debug
|
|
63
|
-
description: 前端问题诊断与修复:覆盖构建失败、运行时错误、UI 异常、接口问题,使用统一诊断框架按类型分流。
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
# 前端 Debug
|
|
67
|
-
|
|
68
|
-
使用 `fec-debug-framework` 统一诊断框架,按问题类型分流诊断。
|
|
69
|
-
|
|
70
|
-
## 使用方式
|
|
71
|
-
|
|
72
|
-
用户描述问题后,自动进入诊断框架:
|
|
73
|
-
|
|
74
|
-
1. **分类**:识别问题类型(build / runtime / ui / api)
|
|
75
|
-
2. 按类型进入对应诊断模块
|
|
76
|
-
3. 复杂或跨类型问题可委托 `fec-debugger` 子代理
|
|
77
|
-
|
|
78
|
-
## 问题类型速查
|
|
79
|
-
|
|
80
|
-
| 类型 | 典型场景 |
|
|
81
|
-
| ------- | ----------------------------------------------- |
|
|
82
|
-
| build | lint/type-check/test/build/CI 失败 |
|
|
83
|
-
| runtime | JS 异常、白屏、组件渲染错误、路由异常、状态丢失 |
|
|
84
|
-
| ui | 样式错位、交互异常、动画卡顿、响应式问题 |
|
|
85
|
-
| api | 请求失败、超时、数据不一致、CORS、缓存问题 |
|
|
86
|
-
|
|
87
|
-
## 强约束
|
|
88
|
-
|
|
89
|
-
- 不通过关闭规则、删除测试或降低类型安全来"修复"问题
|
|
90
|
-
- 不顺手重构无关代码
|
|
91
|
-
- 不在缺少证据时猜测根因
|
|
92
|
-
- 修复后必须验证,不能只改不测
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Skill: `fec-debug-framework`
|
|
96
|
-
|
|
97
|
-
核心框架 skill,定义统一诊断方法论和四个诊断模块。
|
|
98
|
-
|
|
99
|
-
```markdown
|
|
100
|
-
---
|
|
101
|
-
name: fec-debug-framework
|
|
102
|
-
description: Use when diagnosing and fixing frontend issues including build failures, runtime errors, UI anomalies, and API/data problems. Provides a unified 5-step diagnostic methodology with type-specific modules. Chinese triggers: 调试, debug, 排查, 定位, 报错, 异常, 白屏, 请求失败.
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
# 前端诊断框架
|
|
106
|
-
|
|
107
|
-
## 核心方法论(5 步法)
|
|
108
|
-
|
|
109
|
-
所有前端问题诊断遵循统一流程:
|
|
110
|
-
|
|
111
|
-
### Step 1: 分类(Classify)
|
|
112
|
-
|
|
113
|
-
识别问题类型和影响范围:
|
|
114
|
-
|
|
115
|
-
| 类型 | 判断依据 | 诊断入口 |
|
|
116
|
-
| ------- | ---------------------------- | -------------- |
|
|
117
|
-
| build | 命令退出非零、stderr 有错误 | → Build 模块 |
|
|
118
|
-
| runtime | 控制台异常、白屏、功能不可用 | → Runtime 模块 |
|
|
119
|
-
| ui | 视觉偏差、交互不符预期 | → UI 模块 |
|
|
120
|
-
| api | 请求状态码异常、数据不一致 | → API 模块 |
|
|
121
|
-
|
|
122
|
-
跨类型问题(如 API 失败导致 UI 异常)从最表层症状入手,逐层深入。
|
|
123
|
-
|
|
124
|
-
### Step 2: 收集(Collect)
|
|
125
|
-
|
|
126
|
-
按类型收集证据(各模块有具体策略,见下方)。
|
|
127
|
-
|
|
128
|
-
### Step 3: 假设(Hypothesize)
|
|
129
|
-
|
|
130
|
-
基于证据提出可能根因,按可能性排序:
|
|
131
|
-
|
|
132
|
-
- 每个假设必须可测试(有明确的验证方法)
|
|
133
|
-
- 最多保留 3 个假设,避免发散
|
|
134
|
-
- 格式:「因为 X,导致 Y,可通过 Z 验证」
|
|
135
|
-
|
|
136
|
-
### Step 4: 验证(Verify)
|
|
137
|
-
|
|
138
|
-
逐一测试假设:
|
|
139
|
-
|
|
140
|
-
- 从最可能的假设开始
|
|
141
|
-
- 每次只改一个变量
|
|
142
|
-
- 验证结果记录:证实 / 证伪 / 待定
|
|
143
|
-
- 假设全部证伪时回到 Step 2 重新收集
|
|
144
|
-
|
|
145
|
-
### Step 5: 修复与确认(Fix & Validate)
|
|
146
|
-
|
|
147
|
-
- 应用最小修复
|
|
148
|
-
- 运行受影响验证命令
|
|
149
|
-
- 确认无回归
|
|
150
|
-
- 输出修复报告
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 诊断模块
|
|
155
|
-
|
|
156
|
-
### Build 模块
|
|
157
|
-
|
|
158
|
-
**收集**:运行最小失败命令,捕获完整 stderr/stdout
|
|
159
|
-
**假设**:按错误类型分组(类型错误、导入失败、配置解析、依赖缺失),匹配已知模式
|
|
160
|
-
**验证**:修一类根因 → 重跑命令 → 确认错误减少
|
|
161
|
-
**特殊处理**:
|
|
162
|
-
|
|
163
|
-
- 依赖升级/peer dependency/ESM/CJS 问题同时参考 `fec-dependency-upgrade`
|
|
164
|
-
- CI 专属失败检查 Node 版本、包管理器、环境变量差异
|
|
165
|
-
|
|
166
|
-
### Runtime 模块
|
|
167
|
-
|
|
168
|
-
**收集**:
|
|
169
|
-
|
|
170
|
-
- 复现路径(用户操作序列)
|
|
171
|
-
- 控制台错误和堆栈
|
|
172
|
-
- 组件渲染树状态(检查关键组件是否正确挂载)
|
|
173
|
-
- 相关 store/state 快照
|
|
174
|
-
|
|
175
|
-
**假设**:
|
|
176
|
-
|
|
177
|
-
- 堆栈反向追踪:从异常位置回溯到触发源
|
|
178
|
-
- 状态流分析:检查 state 变化是否符合预期
|
|
179
|
-
- 生命周期分析:是否在错误的时机访问了未初始化的数据
|
|
180
|
-
|
|
181
|
-
**验证**:
|
|
182
|
-
|
|
183
|
-
- 添加临时日志确认状态值
|
|
184
|
-
- 在可疑路径添加断言
|
|
185
|
-
- 复现路径验证修复
|
|
186
|
-
|
|
187
|
-
### UI 模块
|
|
188
|
-
|
|
189
|
-
**收集**:
|
|
190
|
-
|
|
191
|
-
- 当前截图 vs 期望效果
|
|
192
|
-
- DOM 结构检查(元素是否存在、层级是否正确)
|
|
193
|
-
- 计算样式检查(实际应用的 CSS 值)
|
|
194
|
-
- 响应式断点测试
|
|
195
|
-
|
|
196
|
-
**假设**:
|
|
197
|
-
|
|
198
|
-
- CSS 特异性冲突(选择器权重不够被覆盖)
|
|
199
|
-
- 组件状态不匹配(props/state 未正确传递)
|
|
200
|
-
- 布局模型问题(flex/grid 配置错误)
|
|
201
|
-
- 响应式断点遗漏
|
|
202
|
-
|
|
203
|
-
**验证**:
|
|
204
|
-
|
|
205
|
-
- 浏览器 DevTools 实时调整验证
|
|
206
|
-
- 隔离组件测试(排除外部样式干扰)
|
|
207
|
-
- 多断点逐一验证
|
|
208
|
-
|
|
209
|
-
### API 模块
|
|
210
|
-
|
|
211
|
-
**收集**:
|
|
212
|
-
|
|
213
|
-
- 请求 URL、method、headers、body
|
|
214
|
-
- 响应 status、headers、body
|
|
215
|
-
- 网络瀑布时序
|
|
216
|
-
- 相关 store/state 中的缓存数据
|
|
217
|
-
|
|
218
|
-
**假设**:
|
|
219
|
-
|
|
220
|
-
- 请求链路逐跳检查(URL → 中间件 → 拦截器 → 服务端)
|
|
221
|
-
- 数据转换检查(响应解析、类型映射)
|
|
222
|
-
- 缓存策略检查(过期、失效、竞态)
|
|
223
|
-
- 并发请求竞态(race condition)
|
|
224
|
-
|
|
225
|
-
**验证**:
|
|
226
|
-
|
|
227
|
-
- curl 独立复现(排除前端干扰)
|
|
228
|
-
- 逐层 mock 定位问题层级
|
|
229
|
-
- 端到端请求验证修复
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 报告格式
|
|
234
|
-
|
|
235
|
-
保存至 `reports/debug-YYYY-MM-DD-HHmmss.md`:
|
|
236
|
-
|
|
237
|
-
### 诊断报告
|
|
238
|
-
|
|
239
|
-
| 项目 | 内容 |
|
|
240
|
-
| ---------- | -------------------------- |
|
|
241
|
-
| 问题类型 | build / runtime / ui / api |
|
|
242
|
-
| 问题描述 | 用户报告的现象 |
|
|
243
|
-
| 收集的证据 | 关键日志、截图、请求记录 |
|
|
244
|
-
| 假设与验证 | 每个假设的验证结果 |
|
|
245
|
-
| 根因 | 最终确认的根本原因 |
|
|
246
|
-
| 修复内容 | 修改的文件和具体改动 |
|
|
247
|
-
| 验证结果 | 修复后的验证命令和结果 |
|
|
248
|
-
| 剩余风险 | 未覆盖的边界或潜在回归 |
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 强约束
|
|
253
|
-
|
|
254
|
-
- 不在缺少证据时猜测根因
|
|
255
|
-
- 不通过关闭规则、删除测试或降低类型安全来「修复」
|
|
256
|
-
- 每次只改一个变量来验证假设
|
|
257
|
-
- 不在验证前扩大改动范围
|
|
258
|
-
- 同一假设连续 3 次验证失败,停止并报告阻塞
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
### Agent: `fec-debugger`
|
|
262
|
-
|
|
263
|
-
子代理,处理复杂或多层嵌套的诊断场景。
|
|
264
|
-
|
|
265
|
-
```markdown
|
|
266
|
-
---
|
|
267
|
-
name: fec-debugger
|
|
268
|
-
description: 前端诊断与修复子代理:使用统一 5 步诊断框架处理构建失败、运行时错误、UI 异常、接口问题。适合复杂或多层嵌套的前端问题排查。
|
|
269
|
-
tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
|
|
270
|
-
model: sonnet
|
|
271
|
-
permissionMode: default
|
|
272
|
-
maxTurns: 16
|
|
273
|
-
skills:
|
|
274
|
-
- fec-debug-framework
|
|
275
|
-
- fec-validation-fix
|
|
276
|
-
- fec-vite-project-standard
|
|
277
|
-
- fec-react-project-standard
|
|
278
|
-
- fec-vue3-project-standard
|
|
279
|
-
- fec-testing-strategy
|
|
280
|
-
- fec-dependency-upgrade
|
|
281
|
-
- fec-security-review
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
你是一名前端诊断专家,使用统一 5 步诊断框架(分类→收集→假设→验证→修复)定位和修复前端问题。
|
|
285
|
-
|
|
286
|
-
## 工作流
|
|
287
|
-
|
|
288
|
-
1. 读取问题描述,按 `fec-debug-framework` 的 Step 1 分类问题类型。
|
|
289
|
-
2. 进入对应诊断模块,执行 Step 2 收集证据。
|
|
290
|
-
3. 基于证据提出假设(Step 3),每个假设必须可测试。
|
|
291
|
-
4. 逐一验证假设(Step 4),每次只改一个变量,记录证实/证伪。
|
|
292
|
-
5. 确认根因后执行最小修复(Step 5),运行受影响验证命令。
|
|
293
|
-
6. 输出诊断报告到 `reports/debug-YYYY-MM-DD-HHmmss.md`。
|
|
294
|
-
|
|
295
|
-
## 跨类型问题
|
|
296
|
-
|
|
297
|
-
当问题涉及多个类型(如 API 失败导致 UI 异常):
|
|
298
|
-
|
|
299
|
-
- 从最表层症状入手
|
|
300
|
-
- 逐层深入,每层确认后再进入下一层
|
|
301
|
-
- 在报告中标注问题链路
|
|
302
|
-
|
|
303
|
-
## 强约束
|
|
304
|
-
|
|
305
|
-
- 不在缺少证据时猜测根因
|
|
306
|
-
- 不通过关闭规则、删除测试或降低类型安全来"修复"
|
|
307
|
-
- 不在验证前扩大改动范围
|
|
308
|
-
- 同一假设连续 3 次验证失败,停止并报告阻塞
|
|
309
|
-
- 不顺手重构无关代码
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
## 迁移方案
|
|
313
|
-
|
|
314
|
-
### 文件变更清单
|
|
315
|
-
|
|
316
|
-
| 操作 | 文件 | 说明 |
|
|
317
|
-
| ---- | ------------------------------------------------- | ------------------------------------------------- |
|
|
318
|
-
| 新建 | `commands/fec-debug.md` | 新入口命令 |
|
|
319
|
-
| 新建 | `skills/fec-debug-framework/SKILL.md` | 核心框架 skill |
|
|
320
|
-
| 新建 | `agents/fec-debugger.md` | 新子代理 |
|
|
321
|
-
| 删除 | `commands/fec-build-fix.md` | 被 fec-debug 替代 |
|
|
322
|
-
| 删除 | `agents/fec-build-fixer.md` | 被 fec-debugger 替代 |
|
|
323
|
-
| 保留 | `skills/fec-validation-fix/SKILL.md` | 作为 Build 模块参考逻辑 |
|
|
324
|
-
| 同步 | `npm-packages/openclaw/commands/fec-build-fix.md` | 重命名为 fec-debug 并更新内容 |
|
|
325
|
-
| 同步 | `npm-packages/openclaw/agents/` 下对应文件 | 新增 fec-debugger,删除 fec-build-fixer(若存在) |
|
|
326
|
-
|
|
327
|
-
### 向后兼容策略
|
|
328
|
-
|
|
329
|
-
- `fec-validation-fix` skill 保留不动,`fec-debug-framework` 的 Build 模块引用它
|
|
330
|
-
- 旧命令 `fec-build-fix` 和 `fec-build-fixer` agent 删除(避免命名混乱)
|
|
331
|
-
- npm 包同步更新
|
|
332
|
-
|
|
333
|
-
### 验证步骤
|
|
334
|
-
|
|
335
|
-
迁移完成后:
|
|
336
|
-
|
|
337
|
-
1. 确认 `/fec-debug` 命令可正常调用
|
|
338
|
-
2. 确认 `fec-debug-framework` skill 被正确加载
|
|
339
|
-
3. 确认 `fec-debugger` agent 可被委托
|
|
340
|
-
4. 确认旧命令 `fec-build-fix` 不再出现在可用列表中
|