@bovinphang/frontend-craft 2.5.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.
Files changed (180) hide show
  1. package/.claude-plugin/marketplace.json +61 -0
  2. package/.claude-plugin/plugin.json +32 -0
  3. package/.mcp.json +44 -0
  4. package/CHANGELOG.md +229 -0
  5. package/CHANGELOG.zh-CN.md +228 -0
  6. package/CODE_OF_CONDUCT.md +34 -0
  7. package/CODE_OF_CONDUCT.zh-CN.md +34 -0
  8. package/CONTRIBUTING.md +356 -0
  9. package/CONTRIBUTING.zh-CN.md +356 -0
  10. package/LICENSE +21 -0
  11. package/README.md +467 -0
  12. package/README.openclaw.md +262 -0
  13. package/README.openclaw.zh-CN.md +262 -0
  14. package/README.zh-CN.md +467 -0
  15. package/SECURITY.md +44 -0
  16. package/SECURITY.zh-CN.md +44 -0
  17. package/agents/fec-architect.md +125 -0
  18. package/agents/fec-code-reviewer.md +152 -0
  19. package/agents/fec-debugger.md +44 -0
  20. package/agents/fec-design-token-mapper.md +75 -0
  21. package/agents/fec-doc-updater.md +30 -0
  22. package/agents/fec-e2e-runner.md +107 -0
  23. package/agents/fec-figma-implementer.md +104 -0
  24. package/agents/fec-performance-optimizer.md +293 -0
  25. package/agents/fec-refactor-cleaner.md +32 -0
  26. package/agents/fec-security-reviewer.md +116 -0
  27. package/agents/fec-test-planner.md +50 -0
  28. package/agents/fec-typescript-reviewer.md +142 -0
  29. package/agents/fec-ui-checker.md +120 -0
  30. package/commands/fec-debug.md +30 -0
  31. package/commands/fec-doc-sync.md +18 -0
  32. package/commands/fec-init.md +70 -0
  33. package/commands/fec-plan.md +94 -0
  34. package/commands/fec-refactor-clean.md +19 -0
  35. package/commands/fec-review.md +66 -0
  36. package/commands/fec-scaffold.md +205 -0
  37. package/commands/fec-tdd.md +21 -0
  38. package/dist/bin/frontend-craft.js +82 -0
  39. package/dist/hooks/fec-cleanup-claude-cache.js +4 -0
  40. package/dist/hooks/fec-format-changed-file.js +1 -0
  41. package/dist/hooks/fec-notify.js +1 -0
  42. package/dist/hooks/fec-run-tests.js +1 -0
  43. package/dist/hooks/fec-security-check.js +2 -0
  44. package/dist/hooks/fec-session-start.js +1 -0
  45. package/docs/example-prompts.md +124 -0
  46. package/docs/ja-JP/README.md +467 -0
  47. package/docs/ko-KR/README.md +467 -0
  48. package/docs/project-structure.md +119 -0
  49. package/docs/runtimes/antigravity.md +10 -0
  50. package/docs/runtimes/augment.md +10 -0
  51. package/docs/runtimes/claude.md +171 -0
  52. package/docs/runtimes/claude.zh-CN.md +169 -0
  53. package/docs/runtimes/cline.md +10 -0
  54. package/docs/runtimes/codebuddy.md +10 -0
  55. package/docs/runtimes/codex.md +10 -0
  56. package/docs/runtimes/copilot.md +10 -0
  57. package/docs/runtimes/cursor.md +10 -0
  58. package/docs/runtimes/gemini.md +10 -0
  59. package/docs/runtimes/kilo.md +10 -0
  60. package/docs/runtimes/openclaw.md +10 -0
  61. package/docs/runtimes/opencode.md +10 -0
  62. package/docs/runtimes/qoder.md +19 -0
  63. package/docs/runtimes/trae.md +10 -0
  64. package/docs/runtimes/windsurf.md +10 -0
  65. package/docs/superpowers/plans/2026-05-29-fec-debug.md +491 -0
  66. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +340 -0
  67. package/docs/zh-CN/example-prompts.md +124 -0
  68. package/docs/zh-CN/project-structure.md +119 -0
  69. package/docs/zh-TW/README.md +467 -0
  70. package/hooks/hooks.json +71 -0
  71. package/openclaw.plugin.json +26 -0
  72. package/package.json +101 -0
  73. package/skills/TEMPLATE.md +155 -0
  74. package/skills/eval_queries.json +890 -0
  75. package/skills/fec-accessibility-check/SKILL.md +39 -0
  76. package/skills/fec-accessibility-check/references/report-template.md +23 -0
  77. package/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
  78. package/skills/fec-api-integration/SKILL.md +78 -0
  79. package/skills/fec-api-integration/references/integration-patterns.md +80 -0
  80. package/skills/fec-browser-storage/SKILL.md +34 -0
  81. package/skills/fec-browser-storage/references/storage-patterns.md +65 -0
  82. package/skills/fec-canvas-threejs/SKILL.md +66 -0
  83. package/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
  84. package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
  85. package/skills/fec-code-review/SKILL.md +135 -0
  86. package/skills/fec-code-review/references/report-template.md +29 -0
  87. package/skills/fec-component-testing/SKILL.md +119 -0
  88. package/skills/fec-data-fetching/SKILL.md +62 -0
  89. package/skills/fec-data-fetching/references/query-patterns.md +77 -0
  90. package/skills/fec-debug-framework/SKILL.md +162 -0
  91. package/skills/fec-dependency-upgrade/SKILL.md +34 -0
  92. package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
  93. package/skills/fec-doc-sync/SKILL.md +37 -0
  94. package/skills/fec-e2e-testing/SKILL.md +40 -0
  95. package/skills/fec-e2e-testing/references/e2e-advanced.md +176 -0
  96. package/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
  97. package/skills/fec-form-handling/SKILL.md +76 -0
  98. package/skills/fec-form-handling/references/advanced-form-patterns.md +72 -0
  99. package/skills/fec-implement-from-design/SKILL.md +122 -0
  100. package/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
  101. package/skills/fec-legacy-to-modern-migration/SKILL.md +180 -0
  102. package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
  103. package/skills/fec-legacy-web-standard/SKILL.md +35 -0
  104. package/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
  105. package/skills/fec-list-virtualization/SKILL.md +34 -0
  106. package/skills/fec-list-virtualization/references/virtualization-patterns.md +52 -0
  107. package/skills/fec-monorepo-project-standard/SKILL.md +142 -0
  108. package/skills/fec-motion-interaction/SKILL.md +66 -0
  109. package/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
  110. package/skills/fec-nextjs-project-standard/SKILL.md +117 -0
  111. package/skills/fec-nuxt-project-standard/SKILL.md +122 -0
  112. package/skills/fec-performance-optimization/SKILL.md +72 -0
  113. package/skills/fec-pwa-implementation/SKILL.md +36 -0
  114. package/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
  115. package/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
  116. package/skills/fec-react-project-standard/SKILL.md +83 -0
  117. package/skills/fec-react-project-standard/references/react-project-details.md +642 -0
  118. package/skills/fec-refactor-clean/SKILL.md +48 -0
  119. package/skills/fec-responsive-layout/SKILL.md +34 -0
  120. package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +59 -0
  121. package/skills/fec-route-protection/SKILL.md +135 -0
  122. package/skills/fec-security-review/SKILL.md +38 -0
  123. package/skills/fec-security-review/references/report-template.md +27 -0
  124. package/skills/fec-security-review/references/security-checklist.md +64 -0
  125. package/skills/fec-source-driven-development/SKILL.md +61 -0
  126. package/skills/fec-state-management/SKILL.md +140 -0
  127. package/skills/fec-state-management/references/state-patterns.md +109 -0
  128. package/skills/fec-storybook-component-doc/SKILL.md +37 -0
  129. package/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
  130. package/skills/fec-svg-animation/SKILL.md +148 -0
  131. package/skills/fec-tailwind-design-system/SKILL.md +34 -0
  132. package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +55 -0
  133. package/skills/fec-tdd-workflow/SKILL.md +52 -0
  134. package/skills/fec-testing-strategy/SKILL.md +45 -0
  135. package/skills/fec-typescript-type-safety/SKILL.md +157 -0
  136. package/skills/fec-typescript-type-safety/references/type-safety-patterns.md +102 -0
  137. package/skills/fec-ui-design/SKILL.md +90 -0
  138. package/skills/fec-ui-design/data/product-rules.json +110 -0
  139. package/skills/fec-ui-design/data/stack-ui-rules.json +14 -0
  140. package/skills/fec-ui-design/data/style-archetypes.json +74 -0
  141. package/skills/fec-ui-design/data/ux-quality-rules.json +56 -0
  142. package/skills/fec-ui-design/references/design-intelligence.md +37 -0
  143. package/skills/fec-ui-design/references/master-page-overrides.md +30 -0
  144. package/skills/fec-ui-design/references/pre-delivery-checklist.md +33 -0
  145. package/skills/fec-ui-design/scripts/design-system.mjs +530 -0
  146. package/skills/fec-validation-fix/SKILL.md +48 -0
  147. package/skills/fec-vite-project-standard/SKILL.md +83 -0
  148. package/skills/fec-vue3-project-standard/SKILL.md +49 -0
  149. package/skills/fec-vue3-project-standard/references/vue3-project-details.md +547 -0
  150. package/skills/fec-web-workers/SKILL.md +36 -0
  151. package/skills/fec-web-workers/references/advanced-workers.md +54 -0
  152. package/skills/fec-web-workers/references/basic-worker.md +67 -0
  153. package/skills/metadata.json +1422 -0
  154. package/skills/relations.json +644 -0
  155. package/templates/claude/CLAUDE.md +106 -0
  156. package/templates/claude/settings.json +62 -0
  157. package/templates/codex/AGENTS.md +105 -0
  158. package/templates/codex/config.toml +32 -0
  159. package/templates/openclaw/AGENTS.md +101 -0
  160. package/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
  161. package/templates/shared/rules/fec-agent-workflow.md +54 -0
  162. package/templates/shared/rules/fec-api-layer.md +99 -0
  163. package/templates/shared/rules/fec-ci-cd.md +128 -0
  164. package/templates/shared/rules/fec-code-comments.md +33 -0
  165. package/templates/shared/rules/fec-design-system.md +248 -0
  166. package/templates/shared/rules/fec-error-handling.md +200 -0
  167. package/templates/shared/rules/fec-git-conventions.md +73 -0
  168. package/templates/shared/rules/fec-i18n.md +112 -0
  169. package/templates/shared/rules/fec-naming-conventions.md +120 -0
  170. package/templates/shared/rules/fec-performance.md +101 -0
  171. package/templates/shared/rules/fec-react.md +82 -0
  172. package/templates/shared/rules/fec-refactoring.md +43 -0
  173. package/templates/shared/rules/fec-rendering-patterns.md +183 -0
  174. package/templates/shared/rules/fec-responsive-design.md +227 -0
  175. package/templates/shared/rules/fec-source-driven-development.md +31 -0
  176. package/templates/shared/rules/fec-state-management.md +163 -0
  177. package/templates/shared/rules/fec-testing.md +98 -0
  178. package/templates/shared/rules/fec-typescript.md +355 -0
  179. package/templates/shared/rules/fec-vue.md +64 -0
  180. package/templates/shared/rules/fec-working-modes.md +50 -0
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: fec-ui-checker
3
+ description: 使用该子代理排查前端 UI 中的视觉缺陷、布局错乱、CSS 问题、响应式异常以及交互与设计不一致的问题,将报告保存为 Markdown 文件。支持从 Figma、Sketch、MasterGo、Pixso、墨刀、摹客获取设计数据,对比设计稿与实现结果,评估还原度并给出具体差异报告。
4
+ tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash, WebFetch, mcp__figma__get_design_context, mcp__sketch__get_selection_as_image, mcp__mastergo__*, mcp__pixso__*, mcp__modao__*
5
+ model: sonnet
6
+ permissionMode: default
7
+ maxTurns: 10
8
+ mcpServers:
9
+ - figma
10
+ - figma-desktop
11
+ - sketch
12
+ - mastergo
13
+ - pixso
14
+ - modao
15
+ skills:
16
+ - fec-code-review
17
+ - fec-ui-design
18
+ - fec-tailwind-design-system
19
+ - fec-responsive-layout
20
+ - fec-accessibility-check
21
+ - fec-validation-fix
22
+ ---
23
+
24
+ # UI 问题排查与设计还原度评估
25
+
26
+ 你是一名专注于设计还原度评估与 UI 问题排查的质量工程师。
27
+
28
+ 关注重点:
29
+
30
+ - 布局损坏
31
+ - 溢出和裁剪
32
+ - 间距或对齐错误
33
+ - 样式优先级冲突
34
+ - 响应式断点回归问题
35
+ - 容器查询、触摸目标、安全区域和断点中间值问题
36
+ - hover / focus / disabled 状态异常
37
+ - 设计与实现不一致
38
+ - 泛化模板感、视觉记忆点不足
39
+ - 字体、色彩、动效和背景质感不成体系
40
+ - Tailwind token、variant、暗色模式或动态 class 治理失控
41
+
42
+ 工作流程:
43
+
44
+ 1. 先定位最小可复现路径
45
+ 2. 若项目存在 `design-system/<project>/pages/<page>.md`,先读取页面 override;再读取对应 `design-system/<project>/MASTER.md`
46
+ 3. 检查组件结构和样式来源
47
+ 4. 追踪问题来自 markup、CSS、Token、状态还是数据
48
+ 5. 给出最小且稳妥的修复方案
49
+ 6. 修改后进行验证
50
+
51
+ 如果局部修复已足够,不要进行大范围重写。
52
+
53
+ ## 检查流程
54
+
55
+ 1. 从可用的设计工具获取设计数据(颜色、字体、间距、尺寸)
56
+ - Figma / MasterGo / Pixso / 墨刀:通过 MCP 获取结构化数据
57
+ - Sketch:通过 MCP 获取选区截图
58
+ - 摹客:从用户提供的截图或标注中获取
59
+ 2. 读取对应的实现代码
60
+ 3. 如果存在设计系统文档,确认实现是否遵守 Master 与页面 override 的产品类型、token、图表、动效和 QA 规则
61
+ 4. 逐项对比以下维度:
62
+
63
+ | 维度 | 权重 | 检查内容 |
64
+ | --------- | ---- | ----------------------------------- |
65
+ | 颜色 | 25% | 背景色、文字色、边框色与 token 对应 |
66
+ | 间距 | 25% | padding/margin/gap 与设计一致 |
67
+ | 字体 | 20% | 字号、字重、行高、字间距 |
68
+ | 尺寸 | 15% | 组件宽高、图标尺寸 |
69
+ | 圆角/阴影 | 10% | border-radius、box-shadow |
70
+ | 响应式 | 5% | 各断点布局正确 |
71
+
72
+ 若任务不是设计稿还原,而是产品化 UI 质量检查,还需要补充评估:
73
+
74
+ - 首屏主体是否明确,是否直接支撑核心任务
75
+ - 视觉锚点是否贴合业务,而不是通用装饰
76
+ - 字体层级、色彩角色、动效节奏和背景质感是否一致
77
+ - 是否存在默认紫色渐变、空泛 hero、卡片堆叠、单一色相或无语境字体等模板化痕迹
78
+ - 是否忽略 `design-system/MASTER.md` 或页面 override 中已定义的行业风险、图表选择、状态覆盖和交付前 QA
79
+
80
+ ## 输出格式
81
+
82
+ ```
83
+ # 设计还原度报告
84
+
85
+ > 生成时间: YYYY-MM-DD HH:mm
86
+ > 评审工具: frontend-craft
87
+ > 设计工具: Figma / Sketch / MasterGo / Pixso / 墨刀 / 摹客
88
+
89
+ **总体得分**: XX/100
90
+
91
+ ## 颜色 (XX/25)
92
+ ✅ 背景色: --color-bg-primary 正确
93
+ ❌ 按钮色: 使用了 #3B82F6,应为 --color-brand-500
94
+
95
+ ## 间距 (XX/25)
96
+ ...
97
+
98
+ ## 字体 (XX/20)
99
+ ...
100
+
101
+ ## 尺寸 (XX/15)
102
+ ...
103
+
104
+ ## 圆角/阴影 (XX/10)
105
+ ...
106
+
107
+ ## 响应式 (XX/5)
108
+ ...
109
+
110
+ ## 需要调整的项目(按优先级)
111
+ 1. ...
112
+ ```
113
+
114
+ ## 报告文件输出
115
+
116
+ 检查完成后,必须将报告内容使用 Write 工具保存为 Markdown 文件:
117
+
118
+ - 目录:项目根目录下的 `reports/`(如不存在则创建)
119
+ - 文件名:`ui-fidelity-review-YYYY-MM-DD-HHmmss.md`(使用当前时间戳)
120
+ - 保存后告知用户报告文件路径
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: fec-debug
3
+ description: 前端问题诊断与修复:覆盖构建失败、运行时错误、UI 异常、接口问题,使用统一诊断框架按类型分流。
4
+ ---
5
+
6
+ 按 `fec-debug-framework` 执行前端问题诊断与修复。先分类问题类型(build / runtime / ui / api),再进入对应诊断模块执行 5 步法(分类→收集→假设→验证→修复)。复杂或跨类型问题可委托 **`fec-debugger`** 子代理。
7
+
8
+ ## 问题类型速查
9
+
10
+ | 类型 | 典型场景 |
11
+ | ------- | ----------------------------------------------- |
12
+ | build | lint/type-check/test/build/CI 失败 |
13
+ | runtime | JS 异常、白屏、组件渲染错误、路由异常、状态丢失 |
14
+ | ui | 样式错位、交互异常、动画卡顿、响应式问题 |
15
+ | api | 请求失败、超时、数据不一致、CORS、缓存问题 |
16
+
17
+ ## 执行步骤
18
+
19
+ 1. 读取用户描述的问题,按 `fec-debug-framework` Step 1 分类问题类型。
20
+ 2. 进入对应诊断模块,执行 Step 2 收集证据。
21
+ 3. 基于证据提出假设(Step 3),逐一验证(Step 4)。
22
+ 4. 确认根因后执行最小修复(Step 5),运行受影响验证命令。
23
+ 5. 输出诊断报告到 `reports/debug-YYYY-MM-DD-HHmmss.md`。
24
+
25
+ ## 强约束
26
+
27
+ - 不通过关闭规则、删除测试或降低类型安全来「修复」问题
28
+ - 不顺手重构无关代码
29
+ - 不在缺少证据时猜测根因
30
+ - 修复后必须验证,不能只改不测
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: fec-doc-sync
3
+ description: 从代码和元数据同步 README、runtime docs、项目结构、能力表、命令清单和报告说明。
4
+ ---
5
+
6
+ 按 `fec-doc-sync` 同步前端工程文档。复杂多语言更新可委托 **`fec-doc-updater`**。
7
+
8
+ ## 执行步骤
9
+
10
+ 1. 读取事实来源:`package.json`、`skills/metadata.json`、`agents/`、`commands/`、`templates/shared/rules/`。
11
+ 2. 比对 README、localized README、runtime docs、project structure、marketplace 描述和 changelog。
12
+ 3. 更新数量、命令名、skill id、agent id、报告文件名、示例 prompts、依赖升级/ADR 说明和安装说明。
13
+ 4. 多语言文档保持信息一致。
14
+ 5. 运行元数据一致性、打包或相关测试。
15
+
16
+ ## 输出要求
17
+
18
+ 总结更新范围、事实来源、验证命令和仍需人工校对的翻译风险。
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: fec-init
3
+ description: 按当前 AI runtime 初始化 frontend-craft 项目模板、rules 或降级说明。
4
+ ---
5
+
6
+ 将 frontend-craft 提供的项目模板复制到当前项目对应 runtime 的配置目录中。优先根据当前目录已有配置判断 runtime;无法判断时,按用户正在使用的工具选择。
7
+
8
+ ## 执行步骤
9
+
10
+ 1. 检测 runtime:
11
+ - 存在 `.claude/` 或 Claude Code 插件环境 → `claude`
12
+ - 存在 `.codex/` 或 `AGENTS.md` → `codex`
13
+ - 存在 `.openclaw/`、`OPENCLAW-CONFIG.md` 或 `openclaw.plugin.json` → `openclaw`
14
+ - 存在 `.qoder/`、`.qoder/settings.json`、`.qoder/rules/` 或 `.qoder/skills/` → `qoder`
15
+ - 存在 `.cursor/` → `cursor`
16
+ - 存在 `.windsurf/` → `windsurf`
17
+ - 存在 `.opencode/` → `opencode`
18
+ - 存在 `.kilo/` → `kilo`
19
+ - 存在 `.gemini/` 或 `GEMINI.md` → `gemini`
20
+ - 存在 `.github/copilot-instructions.md` 或 `.github/instructions/` → `copilot`
21
+ - 存在 `.trae/`、`.augment/`、`.codebuddy/`、`.clinerules` 时按对应 runtime 处理
22
+ - 仍无法判断时,询问用户当前要初始化的 runtime。
23
+
24
+ 2. 按 runtime 初始化,不要在未确认时覆盖已有文件:
25
+ - `claude`:复制 Claude 模板、hooks、commands、agents、skills 与 shared rules 到 `.claude/`;如 `.claude/CLAUDE.md` 已存在,先确认。
26
+ - `codex`:复制 `templates/codex/AGENTS.md` 到项目根目录(如不存在)、`templates/codex/config.toml` 到 `.codex/config.toml`、shared rules 到 `.codex/rules/`;skills/agents 应由 CLI 安装流程负责。
27
+ - `openclaw`:复制 `templates/openclaw/*.md` 到项目根目录、commands/skills 到 `.openclaw/`;如文件已存在,先确认。
28
+ - `qoder`:复制 skills 到 `.qoder/skills/`、commands 到 `.qoder/commands/`、agents 到 `.qoder/agents/`、shared rules 到 `.qoder/rules/`、hook scripts 到 `.qoder/hooks/`,并生成或合并 `.qoder/settings.json` 的 hooks 配置。
29
+ - `cursor`:复制 shared rules 到 `.cursor/rules/*.mdc`,保留 `fec-` skills 目录;说明 Cursor 不支持本插件 hooks。
30
+ - `windsurf`:复制 commands 到 `.windsurf/workflows/`、shared rules 到 `.windsurf/rules/`、skills 到 `.windsurf/skills/`。
31
+ - `opencode` / `kilo`:复制 commands 到 `.opencode/command/` 或 `.kilo/command/`,skills 到对应 `skills/`;OpenCode 可补 `.opencode/opencode.jsonc`。
32
+ - `gemini`:复制 skills 到 `.gemini/extensions/frontend-craft/skills/`,如无 `GEMINI.md` 则由 Claude 模板改写生成。
33
+ - `copilot`:合并 shared rules 到 `.github/instructions/frontend-craft.instructions.md`,commands 到 `.github/prompts/`。
34
+ - `trae` / `cline`:只写入规则 bundle,并明确这是 rules-only 降级模式。
35
+ - `antigravity` / `augment` / `codebuddy`:只安装 skills;输出“此 runtime 当前无 commands/hooks 原生适配”。
36
+
37
+ 3. Claude runtime 下,将以下模板文件从插件的 `${FRONTEND_CRAFT_ROOT}/templates/claude/` 与 `${FRONTEND_CRAFT_ROOT}/templates/shared/rules/` 复制到项目根目录的 `.claude/`:
38
+ - `templates/claude/CLAUDE.md` → `.claude/CLAUDE.md`
39
+ - `templates/claude/settings.json` → `.claude/settings.json`
40
+ - `templates/shared/rules/fec-vue.md` → `.claude/rules/fec-vue.md`
41
+ - `templates/shared/rules/fec-react.md` → `.claude/rules/fec-react.md`
42
+ - `templates/shared/rules/fec-design-system.md` → `.claude/rules/fec-design-system.md`
43
+ - `templates/shared/rules/fec-testing.md` → `.claude/rules/fec-testing.md`
44
+ - `templates/shared/rules/fec-git-conventions.md` → `.claude/rules/fec-git-conventions.md`
45
+ - `templates/shared/rules/fec-i18n.md` → `.claude/rules/fec-i18n.md`
46
+ - `templates/shared/rules/fec-performance.md` → `.claude/rules/fec-performance.md`
47
+ - `templates/shared/rules/fec-source-driven-development.md` → `.claude/rules/fec-source-driven-development.md`
48
+ - `templates/shared/rules/fec-responsive-design.md` → `.claude/rules/fec-responsive-design.md`
49
+ - `templates/shared/rules/fec-rendering-patterns.md` → `.claude/rules/fec-rendering-patterns.md`
50
+ - `templates/shared/rules/fec-api-layer.md` → `.claude/rules/fec-api-layer.md`
51
+ - `templates/shared/rules/fec-state-management.md` → `.claude/rules/fec-state-management.md`
52
+ - `templates/shared/rules/fec-error-handling.md` → `.claude/rules/fec-error-handling.md`
53
+ - `templates/shared/rules/fec-naming-conventions.md` → `.claude/rules/fec-naming-conventions.md`
54
+ - `templates/shared/rules/fec-typescript.md` → `.claude/rules/fec-typescript.md`
55
+ - `templates/shared/rules/fec-code-comments.md` → `.claude/rules/fec-code-comments.md`
56
+ - `templates/shared/rules/fec-ci-cd.md` → `.claude/rules/fec-ci-cd.md`
57
+ - `templates/shared/rules/fec-refactoring.md` → `.claude/rules/fec-refactoring.md`
58
+ - `templates/shared/rules/fec-agent-workflow.md` → `.claude/rules/fec-agent-workflow.md`
59
+ - `templates/shared/rules/fec-working-modes.md` → `.claude/rules/fec-working-modes.md`
60
+
61
+ 4. 复制完成后,不要只输出提醒。先检查项目根目录中的 `package.json`、常见框架配置文件和 `.github/workflows/`,推断适用规则,然后向用户提供初始化后配置选项:
62
+ - 推荐:自动检测并裁剪规则(默认推荐项)。根据检测结果展示建议保留和建议移除的规则,用户确认后再修改 `.claude/CLAUDE.md` 底部的规则导入部分。
63
+ - 手动选择要保留的规则。列出已复制的规则文件,让用户选择要保留的规则,再按选择更新 `.claude/CLAUDE.md`。
64
+ - 暂不调整,仅输出清单。保持复制结果不变,只输出初始化完成信息、文件清单和后续建议。
65
+
66
+ 推荐项的判断应保持保守:只自动建议移除明显不匹配的规则,例如纯 React 项目移除 `@./rules/fec-vue.md`、纯 Vue 项目移除 `@./rules/fec-react.md`、无 TypeScript/JavaScript 源码时移除 `@./rules/fec-typescript.md`。对 `@./rules/fec-i18n.md`、`@./rules/fec-ci-cd.md`、`@./rules/fec-refactoring.md` 这类依赖项目上下文的规则,优先展示为建议项并说明依据;无法确定时默认保留。
67
+
68
+ 如果当前运行环境支持结构化提问工具,使用选择题形式提问,并明确标注推荐项;否则使用编号选项。用户选择并确认前,不要修改 `.claude/CLAUDE.md` 的规则导入部分。完成裁剪或用户选择暂不调整后,再提醒用户根据项目实际情况修改 `CLAUDE.md` 的项目基础信息、常用命令、`rules/fec-react.md` 或 `rules/fec-vue.md` 中的技术栈配置,并检查 `settings.json` 中的权限列表是否符合项目需求。
69
+
70
+ 5. 输出初始化完成的确认信息和文件清单。
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: fec-plan
3
+ description: 统一前端规划入口——实现/架构计划或测试策略。默认走实施路径;当用户明确要测试计划、覆盖矩阵、测试分层、risk-to-test 等时,输出完整测试策略。
4
+ ---
5
+
6
+ 在改代码前创建前端计划。根据用户意图自动分流到实施规划或测试规划。
7
+
8
+ ## 意图识别
9
+
10
+ - **实施规划**(默认):用户要拆组件、设计数据流、安排目录结构、迁移步骤、架构方案。
11
+ - **测试规划**:用户明确说"测试计划"、"测试策略"、"覆盖矩阵"、"测试分层"、"测什么"、"risk-to-test"等。
12
+ - **混合**:用户同时有实施和测试诉求。
13
+
14
+ 若意图不清,先问用户想看实施计划还是测试策略。
15
+
16
+ ## 实施规划路径
17
+
18
+ 1. 重述用户目标、成功标准和不在范围内的内容。
19
+ 2. 阅读相关代码、模板、规则、配置、测试和已有实现,避免脱离项目现状。
20
+ 3. 若涉及页面拆分、状态流、目录结构、数据流或大型重构,委托 **`fec-architect`**。
21
+ 4. 输出计划:
22
+ - 影响范围
23
+ - 关键文件或模块
24
+ - 架构与模块边界
25
+ - 数据流 / 状态流 / API 交互
26
+ - 实施阶段
27
+ - 回滚或渐进迁移策略
28
+ - 风险与缓解
29
+ - 最小验证门禁(lint、type-check、test、build、E2E 或人工验收)
30
+ 5. 对版本敏感、依赖升级或外部库相关决策,列出事实来源、版本范围、迁移影响和需要查证的文档。
31
+ 6. 在用户确认前不执行实现。
32
+
33
+ 实施规划保存到 `reports/architecture-proposal-YYYY-MM-DD-HHmmss.md`。
34
+
35
+ ## 测试规划路径
36
+
37
+ 1. 确定范围:
38
+ - 用户指定功能、PR、文件或业务流程时,以该范围为准。
39
+ - 用户未指定时,查看最近变更并推断主要风险面。
40
+ - 若用户要的是模块拆分、状态流、目录结构或迁移步骤,回到实施规划路径。
41
+
42
+ 2. 使用 `fec-testing-strategy` Skill 建立测试分层矩阵:
43
+ - 静态检查
44
+ - 单元测试
45
+ - 组件测试
46
+ - 轻量集成测试
47
+ - E2E 测试
48
+ - 视觉 / Storybook / interaction
49
+ - a11y / 安全 / 性能等专项质量验证
50
+
51
+ 3. 对每个风险给出建议测试层、优先级、建议命令、责任 skill 和失败定位证据。
52
+
53
+ 4. 标明哪些风险只需要现有门禁覆盖,哪些需要新增测试,哪些暂不覆盖并说明原因。
54
+
55
+ 5. 必要时委托 **`fec-test-planner`** 子代理生成独立测试计划。
56
+
57
+ 6. 将计划保存到 `reports/test-plan-YYYY-MM-DD-HHmmss.md`:
58
+
59
+ ```markdown
60
+ # 前端测试计划
61
+
62
+ > 生成时间: YYYY-MM-DD HH:mm
63
+ > 范围: ...
64
+
65
+ ## 风险概览
66
+
67
+ | Risk | Impact | Suggested Layer | Priority | Evidence |
68
+ | ---- | ------ | --------------- | -------- | -------- |
69
+
70
+ ## 覆盖矩阵
71
+
72
+ | Layer | What to Cover | Tooling / Command | Skill |
73
+ | ----- | ------------- | ----------------- | ----- |
74
+
75
+ ## 执行顺序
76
+
77
+ ## 不覆盖项与原因
78
+ ```
79
+
80
+ 7. 若用户要求继续实现测试,按矩阵分流到对应专项 skill 或 agent。
81
+
82
+ ## 混合路径
83
+
84
+ 当用户同时需要实施计划和测试策略时:
85
+
86
+ 1. 先输出完整实施规划。
87
+ 2. 在实施规划末尾追加"测试策略"章节,列出关键风险对应的测试层级和验证门禁。
88
+ 3. 只有用户明确要求完整覆盖矩阵时,才额外生成 `test-plan-*` 独立报告。
89
+
90
+ ## 边界
91
+
92
+ - 不在计划阶段直接写代码,除非用户明确要求继续实现。
93
+ - 不默认要求补齐完整测试金字塔,只按风险和维护成本选择覆盖。
94
+ - 不负责大规模编写测试文件;用户明确要求落地时再分流到专项测试 skill。
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: fec-refactor-clean
3
+ description: 在验证保护下识别并清理前端死代码、未使用导出、过期组件、样式和依赖。
4
+ ---
5
+
6
+ 按 `fec-refactor-clean` 执行安全清理。复杂清理可委托 **`fec-refactor-cleaner`**。
7
+
8
+ ## 执行步骤
9
+
10
+ 1. 建立当前验证基线。
11
+ 2. 使用仓库已有工具或 `rg` 收集未使用候选项。
12
+ 3. 检查动态引用、路由、barrel export、Storybook、测试和样式入口。
13
+ 4. 将候选项分为 SAFE、CAUTION、DANGER。
14
+ 5. 仅清理 SAFE 项;其他项输出建议和证据。
15
+ 6. 每批清理后重新运行受影响验证命令。
16
+
17
+ ## 输出要求
18
+
19
+ 将清理报告保存到 `reports/refactor-clean-YYYY-MM-DD-HHmmss.md`。
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: fec-review
3
+ description: 对指定文件或最近变更的前端代码进行规范化评审,输出分级评审报告并保存为 Markdown 文件。
4
+ ---
5
+
6
+ 对前端代码进行全面评审。先读项目现状和 diff,再输出有证据的发现;不把猜测写成阻塞项。若需要**结合 git diff、按严重级别(CRITICAL→LOW)降噪输出、并显式给出 Approve/Warning/Block 结论**,可委托 **`fec-code-reviewer`** 子代理执行;若变更以 **`.ts` / `.tsx` / `.js` / `.jsx`** 为主且需先跑 **typecheck/eslint**、PR 合并就绪检查与 TS/JS 惯用法专项结论,可委托 **`typescript-reviewer`**(报告为 `typescript-review-*.md`)。否则继续按本命令与 `fec-code-review` Skill 流程即可。
7
+
8
+ ## 执行步骤
9
+
10
+ 1. 确定评审范围:
11
+
12
+ - 如果用户指定了文件路径,评审指定文件
13
+ - 如果用户没有指定文件,运行 `git diff --name-only HEAD` 获取最近变更的文件列表
14
+ - 如果没有 git 变更记录,提示用户指定需要评审的文件或目录
15
+
16
+ 2. 过滤只保留前端相关文件(`.ts`, `.tsx`, `.vue`, `.js`, `.jsx`, `.css`, `.scss`, `.less`, `.html`)
17
+
18
+ 3. 使用 `fec-code-review` Skill 的评审维度逐项检查:
19
+
20
+ - 架构(组件边界、职责分离)
21
+ - 类型安全(any 使用、props 类型)
22
+ - 渲染与状态(重复渲染、key 稳定性)
23
+ - 样式(Token 使用、响应式)
24
+ - Tailwind / 设计系统(token、variant、暗色模式、动态 class)
25
+ - 可访问性(语义化、ARIA、键盘操作)
26
+ - 可维护性(文件体积、命名、重复逻辑)
27
+ - 测试(关键覆盖、测试模式)
28
+ - 安全(XSS、敏感信息、输入校验)
29
+ - 性能(首屏依赖、重复请求、长任务、大列表)
30
+ - 依赖升级(lockfile、peer dependency、CVE、大版本迁移验证)
31
+
32
+ 每个问题必须包含文件位置、影响、置信度和建议验证方式。
33
+
34
+ 4. 按以下格式输出评审报告:
35
+
36
+ ```
37
+ # 代码审查报告
38
+
39
+ > 生成时间: YYYY-MM-DD HH:mm
40
+ > 评审工具: frontend-craft
41
+
42
+ **评审范围**: N 个文件
43
+
44
+ ## 🔴 必须修改 (N项)
45
+ - **[文件:行号]** 问题描述 → 建议修改
46
+
47
+ ## 🟡 建议优化 (N项)
48
+ - **[文件:行号]** 问题描述 → 建议修改
49
+
50
+ ## 🔵 可选优化项 (N项)
51
+ - **[文件:行号]** 问题描述
52
+
53
+ ## 🟢 做得好的地方
54
+ - ...
55
+
56
+ ## 风险等级:低 / 中 / 高
57
+
58
+ **总体评价**: 可合并 / 待修改后合并 / 需要重构
59
+ ```
60
+
61
+ 5. 将报告内容使用 Write 工具保存为 Markdown 文件:
62
+ - 目录:项目根目录下的 `reports/`(如不存在则创建)
63
+ - 文件名:`code-review-YYYY-MM-DD-HHmmss.md`(使用当前时间戳)
64
+ - 保存后告知用户报告文件路径
65
+
66
+ 6. 如果用户同意修改,直接修复"必须修改"中可以自动修复的项目。
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: fec-scaffold
3
+ description: 按项目规范创建 page、feature 或 component 的标准目录结构和样板文件。用法:/fec-scaffold <type> <Name>,如 /fec-scaffold page UserDetail
4
+ ---
5
+
6
+ 按项目约定的目录结构创建新的 page、feature 或 component。
7
+
8
+ ## 依赖与版本
9
+
10
+ 若本次脚手架涉及新增或建议 `package.json` 依赖,遵循项目 `.claude/rules/fec-react.md` 或 `.claude/rules/fec-vue.md` 中「版本与依赖」约定;项目中尚无对应规则时,优先采用彼此兼容的主流稳定版本(对齐官方文档、脚手架默认值或包管理器推荐)。
11
+
12
+ ## 参数解析
13
+
14
+ 从 `$ARGUMENTS` 中解析两个参数:
15
+ - **type**: `page` | `feature` | `component`(必填)
16
+ - **name**: 模块名称,使用 PascalCase(必填)
17
+
18
+ 如果参数缺失,提示用法示例并要求用户补充:
19
+ ```
20
+ 用法:/fec-scaffold <type> <Name>
21
+ 示例:
22
+ /fec-scaffold page UserDetail
23
+ /fec-scaffold feature payment
24
+ /fec-scaffold component DataTable
25
+ ```
26
+
27
+ ## 执行步骤
28
+
29
+ ### 1. 检测项目框架
30
+
31
+ 检查 `package.json` 的 `dependencies`:
32
+ - 包含 `react` → React 项目
33
+ - 包含 `vue` → Vue 项目
34
+ - 都不包含 → 提示用户手动指定
35
+
36
+ ### 2. 探测项目约定并确定目标路径
37
+
38
+ 检查 `src/`、`app/`、`pages/`、`features/`、`components/`、`__tests__/`、`tests/`、`vitest.config.*`、`jest.config.*`、`playwright.config.*` 和现有组件命名方式。优先复用项目已有目录;仅在没有现成约定时使用默认路径:
39
+ - page → `src/pages/<Name>/`
40
+ - feature → `src/features/<name>/`(name 转为 kebab-case)
41
+ - component → `src/components/<Name>/`
42
+
43
+ 如果目标目录已存在,提示用户确认是否继续。
44
+
45
+ ### 3. 创建目录和文件
46
+
47
+ 根据框架和类型,创建以下结构:
48
+
49
+ #### React page
50
+
51
+ ```
52
+ src/pages/<Name>/
53
+ ├── <Name>Page.tsx
54
+ ├── components/
55
+ │ └── .gitkeep
56
+ └── hooks/
57
+ └── .gitkeep
58
+ ```
59
+
60
+ `<Name>Page.tsx` 内容:
61
+
62
+ ```tsx
63
+ export default function <Name>Page() {
64
+ return (
65
+ <div>
66
+ <h1><Name></h1>
67
+ </div>
68
+ );
69
+ }
70
+ ```
71
+
72
+ #### React feature
73
+
74
+ ```
75
+ src/features/<name>/
76
+ ├── components/
77
+ │ └── .gitkeep
78
+ ├── hooks/
79
+ │ └── .gitkeep
80
+ ├── api.ts
81
+ ├── types.ts
82
+ ├── constants.ts
83
+ └── index.ts
84
+ ```
85
+
86
+ `index.ts` 内容:
87
+
88
+ ```typescript
89
+ export * from './types';
90
+ export * from './constants';
91
+ ```
92
+
93
+ `api.ts` 内容(仅在项目已有 `src/services/request.*`、`src/lib/request.*`、`src/api/client.*` 或同类 API client 时导入对应 client;否则保持空导出,避免制造不存在的别名依赖):
94
+
95
+ ```typescript
96
+ export {};
97
+ ```
98
+
99
+ `types.ts` 和 `constants.ts` 创建为空文件或最小空导出。
100
+
101
+ #### React component
102
+
103
+ ```
104
+ src/components/<Name>/
105
+ ├── <Name>.tsx
106
+ ├── <Name>.styles.css
107
+ └── __tests__/
108
+ └── <Name>.spec.tsx
109
+ ```
110
+
111
+ `<Name>.tsx` 内容:
112
+
113
+ ```tsx
114
+ import './<Name>.styles.css';
115
+
116
+ interface <Name>Props {
117
+ children?: React.ReactNode;
118
+ }
119
+
120
+ export function <Name>({ children }: <Name>Props) {
121
+ return (
122
+ <div className="<name>">
123
+ {children}
124
+ </div>
125
+ );
126
+ }
127
+ ```
128
+
129
+ #### Vue page
130
+
131
+ ```
132
+ src/pages/<Name>/
133
+ ├── <Name>Page.vue
134
+ ├── components/
135
+ │ └── .gitkeep
136
+ └── composables/
137
+ └── .gitkeep
138
+ ```
139
+
140
+ `<Name>Page.vue` 内容:
141
+
142
+ ```vue
143
+ <script setup lang="ts">
144
+ </script>
145
+
146
+ <template>
147
+ <div>
148
+ <h1><Name></h1>
149
+ </div>
150
+ </template>
151
+
152
+ <style scoped>
153
+ </style>
154
+ ```
155
+
156
+ #### Vue feature
157
+
158
+ ```
159
+ src/features/<name>/
160
+ ├── components/
161
+ │ └── .gitkeep
162
+ ├── composables/
163
+ │ └── .gitkeep
164
+ ├── api.ts
165
+ ├── types.ts
166
+ ├── constants.ts
167
+ └── index.ts
168
+ ```
169
+
170
+ `index.ts` 内容与 React 相同。
171
+
172
+ #### Vue component
173
+
174
+ ```
175
+ src/components/<Name>/
176
+ ├── <Name>.vue
177
+ └── __tests__/
178
+ └── <Name>.spec.ts
179
+ ```
180
+
181
+ `<Name>.vue` 内容:
182
+
183
+ ```vue
184
+ <script setup lang="ts">
185
+ interface Props {
186
+ }
187
+
188
+ const props = defineProps<Props>();
189
+ </script>
190
+
191
+ <template>
192
+ <div>
193
+ <slot />
194
+ </div>
195
+ </template>
196
+
197
+ <style scoped>
198
+ </style>
199
+ ```
200
+
201
+ ### 4. 输出确认
202
+
203
+ 创建完成后,输出:
204
+ - 创建的文件清单
205
+ - 下一步建议(如"在路由配置中注册新页面"、"在 index.ts 中导出公开 API")
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: fec-tdd
3
+ description: 使用前端 TDD 工作流实现功能、修复 Bug 或重构逻辑:先写失败测试,再实现最小代码,再重构。
4
+ ---
5
+
6
+ 按 `fec-tdd-workflow` 执行测试驱动开发。
7
+
8
+ ## 执行步骤
9
+
10
+ 1. 明确要验证的前端行为。
11
+ 2. 选择最近风险的测试层:单元、组件、轻量集成或 E2E。
12
+ 3. 写最小失败测试并运行,确认失败原因正确。
13
+ 4. 写最小实现让测试通过。
14
+ 5. 保持测试通过后再重构。
15
+ 6. 总结测试命令、覆盖行为和剩余风险。
16
+
17
+ ## 分流
18
+
19
+ - 组件和 hook 测试:`fec-component-testing`
20
+ - 跨页浏览器流程:`fec-e2e-testing`
21
+ - 测试分层策略:`fec-testing-strategy`