@bovinphang/frontend-craft 2.8.0 → 3.0.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 (681) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +64 -0
  4. package/CHANGELOG.zh-CN.md +64 -0
  5. package/CONTRIBUTING.md +74 -54
  6. package/CONTRIBUTING.zh-CN.md +75 -53
  7. package/README.md +150 -38
  8. package/README.openclaw.md +86 -11
  9. package/README.openclaw.zh-CN.md +86 -11
  10. package/README.zh-CN.md +147 -35
  11. package/agents/fec-code-reviewer.md +24 -3
  12. package/agents/fec-debugger.md +1 -1
  13. package/agents/fec-doc-updater.md +1 -1
  14. package/agents/fec-e2e-runner.md +1 -1
  15. package/agents/fec-figma-implementer.md +1 -1
  16. package/agents/fec-performance-optimizer.md +1 -1
  17. package/agents/fec-refactor-cleaner.md +4 -1
  18. package/agents/fec-refactoring-expert.md +81 -0
  19. package/agents/fec-security-reviewer.md +17 -1
  20. package/agents/fec-test-planner.md +1 -1
  21. package/agents/fec-typescript-reviewer.md +25 -9
  22. package/agents/fec-ui-checker.md +11 -11
  23. package/commands/fec-debug.md +1 -1
  24. package/commands/fec-refactor-plan.md +17 -0
  25. package/commands/fec-refactor.md +18 -0
  26. package/commands/fec-review.md +40 -10
  27. package/commands/fec-scaffold.md +1 -1
  28. package/commands/fec-smell.md +17 -0
  29. package/commands/fec-tdd.md +6 -2
  30. package/common-content.lock.json +3795 -0
  31. package/dist/bin/frontend-craft.js +386 -55
  32. package/dist/hooks/fec-run-tests.js +5 -1
  33. package/dist/hooks/fec-session-start.js +1 -1
  34. package/docs/common-migration.md +61 -0
  35. package/docs/example-prompts.md +29 -12
  36. package/docs/ja-JP/README.md +129 -34
  37. package/docs/ko-KR/README.md +129 -34
  38. package/docs/project-structure.md +49 -14
  39. package/docs/refactoring/README.md +50 -0
  40. package/docs/refactoring/catalog.md +105 -0
  41. package/docs/refactoring/smell-refactoring-matrix.md +41 -0
  42. package/docs/review-and-diagram-workflows.md +39 -0
  43. package/docs/runtimes/antigravity.md +13 -5
  44. package/docs/runtimes/augment.md +13 -5
  45. package/docs/runtimes/claude.md +26 -10
  46. package/docs/runtimes/claude.zh-CN.md +26 -10
  47. package/docs/runtimes/cline.md +13 -5
  48. package/docs/runtimes/codebuddy.md +13 -5
  49. package/docs/runtimes/codex.md +13 -5
  50. package/docs/runtimes/compatibility.md +42 -0
  51. package/docs/runtimes/copilot.md +13 -5
  52. package/docs/runtimes/cursor.md +13 -5
  53. package/docs/runtimes/gemini.md +13 -5
  54. package/docs/runtimes/kilo.md +13 -5
  55. package/docs/runtimes/openclaw.md +13 -5
  56. package/docs/runtimes/opencode.md +13 -5
  57. package/docs/runtimes/qoder.md +11 -12
  58. package/docs/runtimes/trae.md +13 -5
  59. package/docs/runtimes/windsurf.md +13 -5
  60. package/docs/superpowers/plans/2026-09-26-content-integrity.md +145 -0
  61. package/docs/superpowers/plans/2026-09-26-diagram-quality.md +170 -0
  62. package/docs/superpowers/specs/2026-09-26-diagram-quality-design.md +77 -0
  63. package/docs/superpowers/specs/2026-09-26-project-optimization-design.md +95 -0
  64. package/docs/zh-CN/common-migration.md +57 -0
  65. package/docs/zh-CN/example-prompts.md +29 -12
  66. package/docs/zh-CN/project-structure.md +49 -11
  67. package/docs/zh-CN/review-and-diagram-workflows.md +39 -0
  68. package/docs/zh-TW/README.md +129 -34
  69. package/localized/zh-CN/agents/fec-code-reviewer.md +22 -3
  70. package/localized/zh-CN/agents/fec-refactor-cleaner.md +3 -0
  71. package/localized/zh-CN/agents/fec-refactoring-expert.md +53 -0
  72. package/localized/zh-CN/agents/fec-security-reviewer.md +16 -0
  73. package/localized/zh-CN/agents/fec-typescript-reviewer.md +24 -8
  74. package/localized/zh-CN/commands/fec-refactor-plan.md +15 -0
  75. package/localized/zh-CN/commands/fec-refactor.md +14 -0
  76. package/localized/zh-CN/commands/fec-review.md +40 -9
  77. package/localized/zh-CN/commands/fec-smell.md +13 -0
  78. package/localized/zh-CN/commands/fec-tdd.md +4 -0
  79. package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
  80. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  81. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  82. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  83. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  84. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  85. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  86. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  87. package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  88. package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
  89. package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
  90. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  91. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  92. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  93. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  94. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  95. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  96. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  97. package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  98. package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
  99. package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
  100. package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
  101. package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
  102. package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
  103. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  104. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  105. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  106. package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
  107. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  108. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  109. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  110. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  111. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  112. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  113. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  114. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  115. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  116. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  117. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  118. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  119. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  120. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  121. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  122. package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  123. package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
  124. package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
  125. package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
  126. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  127. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  128. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  129. package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  130. package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
  131. package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
  132. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  133. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  134. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  135. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  136. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  137. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  138. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  139. package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  140. package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
  141. package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
  142. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
  143. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  144. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  145. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  146. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  147. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  148. package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  149. package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
  150. package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
  151. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  152. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  153. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  154. package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  155. package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
  156. package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
  157. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  158. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  159. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  160. package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  161. package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
  162. package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
  163. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  164. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  165. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  166. package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
  167. package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
  168. package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
  169. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  170. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  171. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  172. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  173. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  174. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  175. package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  176. package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
  177. package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
  178. package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
  179. package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
  180. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  181. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  182. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  183. package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
  184. package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
  185. package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
  186. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  187. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  188. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  189. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  190. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  191. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  192. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  193. package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  194. package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
  195. package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
  196. package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
  197. package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
  198. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  199. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  200. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  201. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  202. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  203. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  204. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  205. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  206. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  207. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  208. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  209. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  210. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  211. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  212. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  213. package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  214. package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
  215. package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
  216. package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
  217. package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
  218. package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
  219. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  220. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  221. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
  222. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
  223. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
  224. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
  225. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
  226. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
  227. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
  228. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
  229. package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  230. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
  231. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  232. package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
  233. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
  234. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  235. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
  236. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  237. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
  238. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  239. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  240. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  241. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  242. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  243. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  244. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  245. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  246. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  247. package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  248. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
  249. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
  250. package/localized/zh-CN/skills/eval_queries.json +738 -72
  251. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
  252. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  253. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  254. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  255. package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
  256. package/localized/zh-CN/skills/fec-code-review/SKILL.md +24 -1
  257. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  258. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  259. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  260. package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
  261. package/localized/zh-CN/skills/fec-code-review/references/report-template.md +11 -1
  262. package/localized/zh-CN/skills/fec-code-smells/SKILL.md +33 -0
  263. package/localized/zh-CN/skills/fec-code-smells/references/detection-guide.md +25 -0
  264. package/localized/zh-CN/skills/fec-code-smells/references/smell-catalog.md +817 -0
  265. package/localized/zh-CN/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
  266. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
  267. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  268. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  269. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  270. package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  271. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
  272. package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
  273. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
  274. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  275. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  276. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  277. package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  278. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
  279. package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  280. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -71
  281. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
  282. package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
  283. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
  284. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
  285. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  286. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  287. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  288. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  289. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  290. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  291. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  292. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  293. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  294. package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  295. package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  296. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  297. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  298. package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +3 -0
  299. package/localized/zh-CN/skills/fec-refactoring/SKILL.md +25 -0
  300. package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
  301. package/localized/zh-CN/skills/fec-refactoring/references/principles.md +13 -0
  302. package/localized/zh-CN/skills/fec-refactoring/references/refactoring-vs-feature-change.md +25 -0
  303. package/localized/zh-CN/skills/fec-refactoring/references/when-to-refactor.md +17 -0
  304. package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +7 -0
  305. package/localized/zh-CN/skills/fec-refactoring-api/SKILL.md +25 -0
  306. package/localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
  307. package/localized/zh-CN/skills/fec-refactoring-catalog/SKILL.md +21 -0
  308. package/localized/zh-CN/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
  309. package/localized/zh-CN/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
  310. package/localized/zh-CN/skills/fec-refactoring-catalog/references/selection-guide.md +41 -0
  311. package/localized/zh-CN/skills/fec-refactoring-control/SKILL.md +25 -0
  312. package/localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
  313. package/localized/zh-CN/skills/fec-refactoring-data/SKILL.md +25 -0
  314. package/localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
  315. package/localized/zh-CN/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
  316. package/localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
  317. package/localized/zh-CN/skills/fec-refactoring-functions/SKILL.md +25 -0
  318. package/localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
  319. package/localized/zh-CN/skills/fec-refactoring-inheritance/SKILL.md +25 -0
  320. package/localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
  321. package/localized/zh-CN/skills/fec-refactoring-move-features/SKILL.md +25 -0
  322. package/localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
  323. package/localized/zh-CN/skills/fec-refactoring-validation/SKILL.md +52 -0
  324. package/localized/zh-CN/skills/fec-refactoring-validation/references/behavior-preservation.md +15 -0
  325. package/localized/zh-CN/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +25 -0
  326. package/localized/zh-CN/skills/fec-security-review/SKILL.md +20 -0
  327. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  328. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  329. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  330. package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
  331. package/localized/zh-CN/skills/fec-security-review/references/report-template.md +10 -0
  332. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -40
  333. package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  334. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
  335. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  336. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  337. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  338. package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  339. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
  340. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  341. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  342. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  343. package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  344. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  345. package/localized/zh-CN/skills/metadata.json +2222 -626
  346. package/localized/zh-CN/skills/relations.json +472 -75
  347. package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +1 -0
  348. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
  349. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
  350. package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
  351. package/openclaw.plugin.json +2 -3
  352. package/package.json +34 -17
  353. package/skills/cc-c-project-standard/SKILL.md +25 -0
  354. package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  355. package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  356. package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  357. package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  358. package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  359. package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  360. package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  361. package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  362. package/skills/cc-c-project-standard/references/practice.md +37 -0
  363. package/skills/cc-cpp-project-standard/SKILL.md +25 -0
  364. package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  365. package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  366. package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  367. package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  368. package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  369. package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  370. package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  371. package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  372. package/skills/cc-cpp-project-standard/references/practice.md +37 -0
  373. package/skills/cc-debug-methodology/SKILL.md +8 -0
  374. package/skills/cc-debug-methodology/references/method.md +13 -0
  375. package/skills/cc-doc-sync-core/SKILL.md +8 -0
  376. package/skills/cc-doc-sync-core/references/method.md +12 -0
  377. package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  378. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  379. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  380. package/skills/cc-electron-project-standard/SKILL.md +21 -0
  381. package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  382. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  383. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  384. package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  385. package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  386. package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  387. package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  388. package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  389. package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  390. package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  391. package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  392. package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  393. package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  394. package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  395. package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  396. package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  397. package/skills/cc-electron-project-standard/references/practice.md +19 -0
  398. package/skills/cc-electron-project-standard/references/verification.md +17 -0
  399. package/skills/cc-go-concurrency/SKILL.md +25 -0
  400. package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  401. package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  402. package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  403. package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  404. package/skills/cc-go-concurrency/references/practice.md +37 -0
  405. package/skills/cc-go-project-standard/SKILL.md +25 -0
  406. package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  407. package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  408. package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  409. package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  410. package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  411. package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  412. package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  413. package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  414. package/skills/cc-go-project-standard/references/practice.md +37 -0
  415. package/skills/cc-java-project-standard/SKILL.md +25 -0
  416. package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
  417. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  418. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  419. package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  420. package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  421. package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  422. package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  423. package/skills/cc-java-project-standard/references/practice.md +35 -0
  424. package/skills/cc-java-runtime/SKILL.md +25 -0
  425. package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  426. package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  427. package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  428. package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  429. package/skills/cc-java-runtime/references/practice.md +37 -0
  430. package/skills/cc-native-memory-safety/SKILL.md +25 -0
  431. package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  432. package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  433. package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  434. package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  435. package/skills/cc-native-memory-safety/references/practice.md +37 -0
  436. package/skills/cc-python-async/SKILL.md +25 -0
  437. package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  438. package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  439. package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  440. package/skills/cc-python-async/references/engineering-practices.md +73 -0
  441. package/skills/cc-python-async/references/practice.md +37 -0
  442. package/skills/cc-python-project-standard/SKILL.md +25 -0
  443. package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  444. package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  445. package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  446. package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  447. package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  448. package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  449. package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  450. package/skills/cc-python-project-standard/references/practice.md +37 -0
  451. package/skills/cc-refactoring-core/SKILL.md +8 -0
  452. package/skills/cc-refactoring-core/references/method.md +16 -0
  453. package/skills/cc-rust-async/SKILL.md +25 -0
  454. package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  455. package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  456. package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  457. package/skills/cc-rust-async/references/engineering-practices.md +73 -0
  458. package/skills/cc-rust-async/references/practice.md +37 -0
  459. package/skills/cc-rust-project-standard/SKILL.md +25 -0
  460. package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  461. package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  462. package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  463. package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  464. package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  465. package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  466. package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  467. package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  468. package/skills/cc-rust-project-standard/references/practice.md +37 -0
  469. package/skills/cc-source-driven-development/SKILL.md +8 -0
  470. package/skills/cc-source-driven-development/references/method.md +19 -0
  471. package/skills/cc-tauri-project-standard/SKILL.md +21 -0
  472. package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  473. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  474. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  475. package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  476. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  477. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  478. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  479. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  480. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  481. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  482. package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  483. package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  484. package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  485. package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  486. package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  487. package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  488. package/skills/cc-tauri-project-standard/references/practice.md +20 -0
  489. package/skills/cc-tauri-project-standard/references/verification.md +18 -0
  490. package/skills/cc-tdd-methodology/SKILL.md +8 -0
  491. package/skills/cc-tdd-methodology/references/method.md +13 -0
  492. package/skills/cc-technical-diagrams/SKILL.md +34 -0
  493. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  494. package/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  495. package/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
  496. package/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
  497. package/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
  498. package/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
  499. package/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
  500. package/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
  501. package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
  502. package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
  503. package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  504. package/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
  505. package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  506. package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
  507. package/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
  508. package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  509. package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
  510. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  511. package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
  512. package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  513. package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  514. package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  515. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  516. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  517. package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  518. package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  519. package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  520. package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  521. package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  522. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
  523. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
  524. package/skills/eval_queries.json +738 -72
  525. package/skills/fec-api-integration/SKILL.md +5 -1
  526. package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  527. package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  528. package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  529. package/skills/fec-api-integration/references/engineering-practices.md +73 -0
  530. package/skills/fec-code-review/SKILL.md +24 -1
  531. package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  532. package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  533. package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  534. package/skills/fec-code-review/references/engineering-practices.md +73 -0
  535. package/skills/fec-code-review/references/report-template.md +11 -1
  536. package/skills/fec-code-smells/SKILL.md +33 -0
  537. package/skills/fec-code-smells/references/detection-guide.md +25 -0
  538. package/skills/fec-code-smells/references/smell-catalog.md +861 -0
  539. package/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
  540. package/skills/fec-data-fetching/SKILL.md +5 -1
  541. package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  542. package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  543. package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  544. package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  545. package/skills/fec-debug-framework/SKILL.md +2 -51
  546. package/skills/fec-debug-framework/references/common/debug.md +13 -0
  547. package/skills/fec-dependency-upgrade/SKILL.md +4 -0
  548. package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  549. package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  550. package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  551. package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  552. package/skills/fec-doc-sync/SKILL.md +7 -28
  553. package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  554. package/skills/fec-image-generation/SKILL.md +7 -72
  555. package/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
  556. package/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
  557. package/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
  558. package/skills/fec-legacy-web-standard/SKILL.md +1 -1
  559. package/skills/fec-react-project-standard/SKILL.md +6 -0
  560. package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  561. package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  562. package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  563. package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  564. package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  565. package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  566. package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  567. package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  568. package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  569. package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  570. package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  571. package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  572. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  573. package/skills/fec-refactor-clean/SKILL.md +3 -0
  574. package/skills/fec-refactoring/SKILL.md +25 -0
  575. package/skills/fec-refactoring/references/common/refactoring.md +16 -0
  576. package/skills/fec-refactoring/references/principles.md +13 -0
  577. package/skills/fec-refactoring/references/refactoring-vs-feature-change.md +27 -0
  578. package/skills/fec-refactoring/references/when-to-refactor.md +31 -0
  579. package/skills/fec-refactoring/references/workflow.md +7 -0
  580. package/skills/fec-refactoring-api/SKILL.md +25 -0
  581. package/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
  582. package/skills/fec-refactoring-catalog/SKILL.md +28 -0
  583. package/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
  584. package/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
  585. package/skills/fec-refactoring-catalog/references/selection-guide.md +47 -0
  586. package/skills/fec-refactoring-control/SKILL.md +25 -0
  587. package/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
  588. package/skills/fec-refactoring-data/SKILL.md +25 -0
  589. package/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
  590. package/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
  591. package/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
  592. package/skills/fec-refactoring-functions/SKILL.md +25 -0
  593. package/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
  594. package/skills/fec-refactoring-inheritance/SKILL.md +25 -0
  595. package/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
  596. package/skills/fec-refactoring-move-features/SKILL.md +25 -0
  597. package/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
  598. package/skills/fec-refactoring-validation/SKILL.md +59 -0
  599. package/skills/fec-refactoring-validation/references/behavior-preservation.md +53 -0
  600. package/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +42 -0
  601. package/skills/fec-security-review/SKILL.md +20 -0
  602. package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  603. package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  604. package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  605. package/skills/fec-security-review/references/engineering-practices.md +73 -0
  606. package/skills/fec-security-review/references/report-template.md +10 -0
  607. package/skills/fec-tdd-workflow/SKILL.md +14 -42
  608. package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  609. package/skills/fec-testing-strategy/SKILL.md +4 -0
  610. package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  611. package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  612. package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  613. package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  614. package/skills/fec-vue3-project-standard/SKILL.md +4 -0
  615. package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  616. package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  617. package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  618. package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  619. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  620. package/skills/metadata.json +2230 -629
  621. package/skills/relations.json +467 -74
  622. package/templates/shared/rules/fec-agent-workflow.md +1 -0
  623. package/templates/shared/rules/fec-source-driven-development.md +3 -29
  624. package/templates/shared/rules/fec-typescript.md +4 -4
  625. package/templates/shared/rules/references/common/source-driven-development.md +19 -0
  626. package/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
  627. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
  628. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
  629. package/skills/fec-source-driven-development/SKILL.md +0 -87
  630. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  631. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  632. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  633. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  634. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  635. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  636. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  637. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  638. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  639. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  640. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  641. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  642. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  643. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  644. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  645. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  646. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  647. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  648. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  649. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  650. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  651. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  652. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  653. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  654. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  655. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  656. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  657. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  658. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  659. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  660. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  661. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  662. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  663. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  664. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  665. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  666. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  667. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  668. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  669. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  670. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  671. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  672. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  673. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  674. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  675. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  676. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  677. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  678. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  679. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  680. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  681. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
@@ -22,6 +22,9 @@
22
22
 
23
23
  </div>
24
24
 
25
+
26
+ [執行環境相容性與升級說明](../runtimes/compatibility.md)
27
+
25
28
  ---
26
29
 
27
30
  `frontend-craft` 是一個**通用前端插件**,為以下 **15 款 AI 程式設計助手**注入統一的前端工程規範:
@@ -32,7 +35,7 @@
32
35
 
33
36
  各執行時的路徑與注意事項詳見 [`docs/runtimes/`](../runtimes/)。
34
37
 
35
- 它將 **13 個專業 agent**、**45 個自動啟用 skill**、**8 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
38
+ 它將 **14 個專業 agent**、**61 個自動啟用 skill**、**11 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
36
39
 
37
40
  ---
38
41
 
@@ -40,10 +43,10 @@
40
43
 
41
44
  | 痛點 | frontend-craft 的解法 |
42
45
  | ----------------------------------------------- | --------------------------------------------------------------------------------------- |
43
- | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **45 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
46
+ | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **61 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
44
47
  | 每款 AI 工具都有自己的插件格式 | **一條 CLI 指令** 把相同的規則、agent 和 hook 安裝到 15 個執行時 |
45
48
  | 設計稿到程式碼的交接總有資訊損失 | **MCP 整合** 從 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整設計上下文 |
46
- | 程式碼審查隨意、淺層 | **13 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
49
+ | 程式碼審查隨意、淺層 | **14 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
47
50
  | 沒人記得跑 lint 和測試 | **事件驅動 hook** 在儲存和會話結束時自動校驗 |
48
51
  | 新專案每次都從零開始 | **`/fec-init`** 幾秒內腳手架化 CLAUDE.md、規則和 settings |
49
52
 
@@ -76,7 +79,7 @@ fec setup claude --global
76
79
  fec setup all --global
77
80
 
78
81
  # 6. 預覽 / 查詢
79
- fec install --all --dry-run --global
82
+ fec runtime install --all --dry-run --global
80
83
  fec list
81
84
  ```
82
85
 
@@ -89,17 +92,17 @@ fec list
89
92
  npx @bovinphang/frontend-craft@latest
90
93
 
91
94
  # 2. 接入目前專案
92
- npx @bovinphang/frontend-craft@latest install --local codex
93
- npx @bovinphang/frontend-craft@latest install --local claude
94
- npx @bovinphang/frontend-craft@latest install --all --local
95
+ npx @bovinphang/frontend-craft@latest runtime install --local codex
96
+ npx @bovinphang/frontend-craft@latest runtime install --local claude
97
+ npx @bovinphang/frontend-craft@latest runtime install --all --local
95
98
 
96
99
  # 3. 全域接入,適用於所有專案
97
- npx @bovinphang/frontend-craft@latest install --global codex
98
- npx @bovinphang/frontend-craft@latest install --global claude
99
- npx @bovinphang/frontend-craft@latest install --all --global
100
+ npx @bovinphang/frontend-craft@latest runtime install --global codex
101
+ npx @bovinphang/frontend-craft@latest runtime install --global claude
102
+ npx @bovinphang/frontend-craft@latest runtime install --all --global
100
103
 
101
104
  # 4. 預覽 / 查詢
102
- npx @bovinphang/frontend-craft@latest install --all --dry-run --global
105
+ npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
103
106
  npx @bovinphang/frontend-craft@latest list
104
107
  ```
105
108
 
@@ -109,7 +112,7 @@ npx @bovinphang/frontend-craft@latest list
109
112
 
110
113
  對 Claude Code 用戶,**Claude Code Marketplace** 是推薦的單一來源安裝方式。只有在需要跨執行時安裝、腳本化/離線複製檔案,或非 Marketplace 環境時,才建議對 Claude 使用 CLI。
111
114
 
112
- 如果已經透過 Marketplace 安裝,CLI 不會再安裝或更新第二份 Claude 副本,即使傳入 `--force` 也不會覆蓋;請透過 Claude Code Marketplace 更新。如果已存在另一個作用域的 CLI 管理安裝,互動式終端會詢問是保持已安裝來源並更新,還是解除安裝後切換至當前來源;非互動式終端會停止並列印明確的 `update`、`uninstall`、`install` 命令。
115
+ 如果已經透過 Marketplace 安裝,CLI 不會再安裝或更新第二份 Claude 副本,即使傳入 `--force` 也不會覆蓋;請透過 Claude Code Marketplace 更新。如果已存在另一個作用域的 CLI 管理安裝,互動式終端會詢問是保持已安裝來源並更新,還是解除安裝後切換至當前來源;非互動式終端會停止並列印明確的 `runtime update`、`runtime uninstall`、`runtime install` 命令。
113
116
 
114
117
  完整步驟見 [docs/runtimes/claude.zh-CN.md](../runtimes/claude.zh-CN.md) · [English](../runtimes/claude.md)。
115
118
 
@@ -163,14 +166,31 @@ npx @bovinphang/frontend-craft@latest list
163
166
  | 指令 | 用途 | 報告 |
164
167
  | --------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
165
168
  | `/fec-init` | 初始化專案範本(CLAUDE.md、規則、settings) | — |
166
- | `/fec-review` | 對指定或最近變更的檔案執行結構化審查 | `code-review-*.md` |
169
+ | `/fec-review` | 預設審查全專案;支援指定檔案、目錄或明確變更範圍 | `code-review-*.md` |
167
170
  | `/fec-scaffold` | 依規範建立 page / feature / component 樣板 | — |
168
171
  | `/fec-plan` | 統一規劃入口:實現架構或測試策略 | `architecture-proposal-*.md` 或 `test-plan-*.md` |
169
172
  | `/fec-tdd` | 紅 → 綠 → 重構的前端 TDD 循環 | — |
170
173
  | `/fec-debug` | 前端問題診斷與修復:建置失敗、執行時錯誤、UI 異常、介面問題 | `debug-*.md` |
171
174
  | `/fec-refactor-clean` | 分類並安全清理死程式碼、未使用匯出、樣式和依賴 | `refactor-clean-*.md` |
175
+ | `/fec-smell` | Diagnose code smells without editing | `refactoring/smell-*.md` |
176
+ | `/fec-refactor-plan` | Plan behavior-preserving refactoring | `refactoring/plan-*.md` |
177
+ | `/fec-refactor` | Execute validated behavior-preserving refactoring | `refactoring/refactoring-*.md` |
172
178
  | `/fec-doc-sync` | 同步 README、docs、環境變數、腳本、API/路由說明和部署文件 | — |
173
179
 
180
+ ### 審查範圍
181
+
182
+ `/fec-review`、程式碼 / TypeScript / 安全審查 agent 及其 skill 採用三種模式:
183
+
184
+ - **變更審查**:明確要求最近變更、本次修改、暫存區、PR 或提交,或目前任務已明確這些變更範圍。沒有變更時說明情況,不自動審查最近提交。
185
+ - **指定範圍審查**:指定檔案或目錄,審查其中現有程式碼,包括未變更程式碼,不要求 Git 差異。
186
+ - **全專案審查(預設)**:未指定範圍或變更脈絡,或明確要求審查整個專案時,先建立專案自有前端程式碼、相關測試、設定與相依宣告清單,再按模組審查。
187
+
188
+ 指定檔案或目錄預設審查全部程式碼;明確要求本次變更才僅審查差異。即使有變更,單獨呼叫 `/fec-review` 仍預設全專案。開始時說明模式與範圍,修改後自動委託須明確傳入本次變更範圍。
189
+
190
+ 範例:`/fec-review`、`/fec-review 審查最近變更`、`/fec-review 審查 src/components/Button.tsx`、`/fec-review 審查 src/features/`、`/fec-review 審查整個專案`。這些是自然語言指令,不是 CLI 參數;明確指定的範圍優先於預設模式。
191
+
192
+ 預設排除相依目錄、建置產物、快取、生成檔案與第三方程式碼。報告記錄模式、目標範圍、已審查及未涵蓋檔案或模組、排除項目、完成狀態與驗證結果;涵蓋不足時標記部分完成。讀取呼叫端或執行全專案 lint/型別檢查不等於完成人工審查。變更審查保留合併建議,指定範圍與全專案審查評估已審查範圍的風險。前端審查不取代後端專項審查;未要求修復時不修改業務程式碼。
193
+
174
194
  ### 技能(Skills,自動啟用)
175
195
 
176
196
  技能是根據檔案模式、框架或任務上下文**自動啟用**的工作流定義,編碼了審查維度、輸出約定和報告格式。
@@ -187,7 +207,7 @@ npx @bovinphang/frontend-craft@latest list
187
207
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、組合式 API、資料獲取、中介軟體 |
188
208
  | `fec-vite-project-standard` | Vite 設定、環境變數安全、HMR、開發代理、建置最佳化 |
189
209
  | `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 結構與任務編排 |
190
- | `fec-typescript-project-standard` | TypeScript 設定、公開型別、宣告檔、DTO 和泛型 |
210
+ | `cc-typescript-project-standard` | TypeScript 設定、公開型別、宣告檔、DTO 和泛型 |
191
211
 
192
212
  **實作能力** — 建構特定前端能力時啟用:
193
213
 
@@ -227,13 +247,29 @@ npx @bovinphang/frontend-craft@latest list
227
247
  | `fec-performance-optimization` | Core Web Vitals、包體、渲染、記憶體、網路與效能預算審查 |
228
248
  | `fec-refactor-clean` | 安全清理死程式碼、未使用匯出、樣式、路由和依賴 |
229
249
 
250
+ **Refactoring**
251
+
252
+ | Skill | Scope |
253
+ | --- | --- |
254
+ | `fec-refactoring` | Behavior-preserving refactoring capability |
255
+ | `fec-code-smells` | Behavior-preserving refactoring capability |
256
+ | `fec-refactoring-catalog` | Behavior-preserving refactoring capability |
257
+ | `fec-refactoring-functions` | Behavior-preserving refactoring capability |
258
+ | `fec-refactoring-encapsulation` | Behavior-preserving refactoring capability |
259
+ | `fec-refactoring-move-features` | Behavior-preserving refactoring capability |
260
+ | `fec-refactoring-data` | Behavior-preserving refactoring capability |
261
+ | `fec-refactoring-control` | Behavior-preserving refactoring capability |
262
+ | `fec-refactoring-api` | Behavior-preserving refactoring capability |
263
+ | `fec-refactoring-inheritance` | Behavior-preserving refactoring capability |
264
+ | `fec-refactoring-validation` | Behavior-preserving refactoring capability |
265
+
230
266
  **設計 UI** — 設計實作、設計系統或視覺打磨時啟用:
231
267
 
232
268
  | 技能 | 範圍 |
233
269
  | ----------------------------- | ------------------------------------------------------------------------------------------------ |
234
270
  | `fec-ui-design` | 產品語境 UI 方向、反模板設計撥盤、媒體策略、狀態、視覺 QA |
235
- | `fec-image-generation` | 系統藍圖、流程工作流、互動式即時圖、HTML/SVG/PNG 匯出、圖片生成/編輯、視覺資產和 PNG 自檢 |
236
- | `fec-drawio-studio` | 可編輯 draw.io / diagrams.net 技術圖、XML/Mermaid/CSV URL 交付、形狀檢索、自動布局和程式碼結構圖 |
271
+ | `fec-image-generation` | UI、產品和品牌視覺生成與編輯,重用共用 PNG 檢查 |
272
+ | `cc-drawio-studio` | 可編輯 draw.io / diagrams.net 技術圖、XML/Mermaid/CSV URL 交付、形狀檢索、自動布局和程式碼結構圖 |
237
273
  | `fec-web-video-presentation` | 將文章、口播稿、課程和 demo 轉成可錄屏的 16:9 步進網頁演示 |
238
274
  | `fec-tailwind-design-system` | Tailwind token、主題擴展、元件變體、class 治理和暗色模式 |
239
275
  | `fec-responsive-layout` | 移動優先布局、容器查詢、資料密集型響應式界面 |
@@ -241,6 +277,10 @@ npx @bovinphang/frontend-craft@latest list
241
277
  | `fec-implement-from-design` | 基於設計工具、截圖或分區級視覺參考實現 UI |
242
278
  | `fec-storybook-component-doc` | Storybook 元件文件、設計系統呈現、隔離狀態預覽 |
243
279
 
280
+ 技術圖品質:標準時序圖、流程圖優先本機 Mermaid,可編輯架構圖優先 draw.io;工具缺少時使用 JSON/HTML。以符合 PNG 比例的實測 manifest 執行 QA,並檢視最終圖片。預設最多修復兩輪,未解決問題必須明確回報。
281
+
282
+ [審查範圍與技術圖交付指南](../zh-CN/review-and-diagram-workflows.md).
283
+
244
284
  **遺留遷移** — 現代化遷移時啟用:
245
285
 
246
286
  | 技能 | 範圍 |
@@ -260,7 +300,7 @@ npx @bovinphang/frontend-craft@latest list
260
300
  | ---------------------------------- | --------------------------------------------------------------------- |
261
301
  | `fec-backend-requirements-handoff` | 前端向後端交接 UI 資料需求、使用者動作、狀態、業務規則與待確認問題 |
262
302
  | `fec-doc-sync` | 讓前端文件與程式碼、設定、腳本、路由、API、環境變數和部署事實保持同步 |
263
- | `fec-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
303
+ | `cc-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
264
304
 
265
305
  ### 代理(Agents)
266
306
 
@@ -276,6 +316,7 @@ npx @bovinphang/frontend-craft@latest list
276
316
  | `fec-test-planner` | 風險-層級映射:靜態、單元、元件、E2E、視覺、無障礙、安全 | `test-plan-*.md` |
277
317
  | `fec-debugger` | 複雜前端診斷:建置、執行時、UI 和介面問題 | `debug-*.md` |
278
318
  | `fec-refactor-cleaner` | 分類並安全清理未使用程式碼、匯出、樣式、路由和依賴 | `refactor-clean-*.md` |
319
+ | `fec-refactoring-expert` | Behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
279
320
  | `fec-e2e-runner` | E2E 撰寫與執行(Playwright/Cypress)、flaky 隔離、Trace | `e2e-summary-*.md` |
280
321
  | `fec-doc-updater` | 同步 README、runtime 文件、結構、能力表和 metadata | — |
281
322
  | `fec-ui-checker` | 視覺問題排查與設計還原度評估 | `ui-fidelity-review-*.md` |
@@ -419,33 +460,55 @@ $env:MODAO_TOKEN = "your-modao-token"
419
460
 
420
461
  ## 更新與移除
421
462
 
422
- `fec` 是 `frontend-craft` 的短命令。如果沒有全域安裝 `fec`,可以把同樣參數接在 `npx @bovinphang/frontend-craft@latest` 後使用,例如 `npx @bovinphang/frontend-craft@latest update`。
463
+ ### CLI 自身管理(3.0)
423
464
 
424
- ### 更新
465
+ `fec update`(別名 `upgrade`)透過原 npm/pnpm 將全域 CLI 升級至原 registry 的 `latest`,再啟動新版 CLI 更新目前專案及使用者全域的託管資源;已是最新版也會更新。不掃描其他專案,不管理 Marketplace。CLI 升級失敗即停止;資源部分失敗會分階段回報,不回復 CLI,可執行 `fec runtime update` 重試。
466
+
467
+ `fec uninstall`(別名 `remove`)預設僅解除安裝 CLI;`--purge` 先清理託管資源並保留使用者修改,清理失敗則保留 CLI。互動終端需要確認,非互動終端必須加 `--yes`。僅支援已驗證歸屬的 npm/pnpm registry 全域安裝;原始碼連結、專案依賴、未知來源及含其他套件的 pnpm 共用安裝群組均在修改前拒絕,請透過原套件管理器手動管理。`--dry-run` 僅唯讀預覽,不安裝、刪除或啟動後續更新。
468
+
469
+ ```bash
470
+ fec update
471
+ fec uninstall --dry-run
472
+ fec uninstall --purge --yes
473
+ ```
474
+
475
+ 暫時 npx 執行不建立全域 CLI,也不支援自身解除安裝。npx 頂層 `update` 僅在目前版本等於 registry `latest` 時更新資源,否則使用 `npx @bovinphang/frontend-craft@latest runtime update`。
476
+
477
+ | 2.x 資源命令 | 3.0 替代命令 |
478
+ | --- | --- |
479
+ | `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
480
+ | `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
481
+ | `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
482
+
483
+ 頂層 update/uninstall 在修改前拒絕舊 runtime 參數及 `--global` 等資源選項。`setup` 保留;頂層 `install` 為已棄用的相容入口。資源選項及 `runtime upgrade/remove` 別名保留。`runtime update` 僅使用目前 CLI 套件內容,不連網取得新套件。
484
+
485
+ `fec` 是 `frontend-craft` 的短命令。未全域安裝 CLI 時,資源操作使用 `npx @bovinphang/frontend-craft@latest runtime update`(或 `runtime install/uninstall`)。
486
+
487
+ ### 資源更新
425
488
 
426
489
  ```bash
427
- fec update # 更新自動發現到的所有 CLI 管理安裝
428
- fec update <runtime> --local # 更新一個本地 CLI 管理安裝
429
- fec update <runtime> --global # 更新一個全域 CLI 管理安裝
430
- fec upgrade <runtime> --global # `upgrade` 是 `update` 的別名
490
+ fec runtime update # 更新自動發現到的所有 CLI 管理安裝
491
+ fec runtime update <runtime> --local # 更新一個本地 CLI 管理安裝
492
+ fec runtime update <runtime> --global # 更新一個全域 CLI 管理安裝
493
+ fec runtime upgrade <runtime> --global # `upgrade` 是 `update` 的別名
431
494
  ```
432
495
 
433
- ### 移除
496
+ ### 資源移除
434
497
 
435
498
  ```bash
436
- fec uninstall # 移除自動發現到的所有 CLI 管理安裝
437
- fec remove # `remove` 是 `uninstall` 的別名
438
- fec uninstall <runtime> # 移除指定 runtime 安裝
439
- fec remove <runtime> # 使用別名移除指定 runtime
440
- fec uninstall --global # 只移除發現到的全域安裝
441
- fec remove --local # 只移除發現到的本地安裝
442
- fec uninstall <runtime> --dry-run # 預覽將移除的檔案
443
- fec uninstall <runtime> --force # 連同已修改的託管檔案一起移除
499
+ fec runtime uninstall # 移除自動發現到的所有 CLI 管理安裝
500
+ fec runtime remove # `remove` 是 `uninstall` 的別名
501
+ fec runtime uninstall <runtime> # 移除指定 runtime 安裝
502
+ fec runtime remove <runtime> # 使用別名移除指定 runtime
503
+ fec runtime uninstall --global # 只移除發現到的全域安裝
504
+ fec runtime remove --local # 只移除發現到的本地安裝
505
+ fec runtime uninstall <runtime> --dry-run # 預覽將移除的檔案
506
+ fec runtime uninstall <runtime> --force # 連同已修改的託管檔案一起移除
444
507
  ```
445
508
 
446
- CLI 會在 runtime 目錄寫入 `frontend-craft.manifest.json`。不傳 runtime 時,`update` 會自動發現這些 manifest,並**跳過你本地修改過的檔案**——自訂內容在更新後依然保留。
509
+ CLI 會在 runtime 目錄寫入 `frontend-craft.manifest.json`。不傳 runtime 時,`runtime update` 會自動發現這些 manifest,並**跳過你本地修改過的檔案**——自訂內容在更新後依然保留。
447
510
 
448
- `uninstall`/`remove` 只刪除 manifest 記錄的檔案,預設跳過已修改檔案;只有確認要移除修改過的託管檔案時才加 `--force`。`--force` 不會覆蓋 Claude Code Marketplace 安裝。
511
+ `runtime uninstall`/`runtime remove` 只刪除 manifest 記錄的檔案,預設跳過已修改檔案;只有確認要移除修改過的託管檔案時才加 `--force`。`--force` 不會覆蓋 Claude Code Marketplace 安裝。
449
512
 
450
513
  **Claude Code Marketplace** 或 **submodule** 安裝的更新方式見 [docs/runtimes/claude.zh-CN.md](../runtimes/claude.zh-CN.md) · [English](../runtimes/claude.md)。`/fec-init` 只初始化專案設定,不是第二次安裝插件本體。
451
514
 
@@ -491,3 +554,35 @@ npx skills check # 預覽可用更新
491
554
  **如果 frontend-craft 幫助了你的團隊,[請給它一個 Star](https://github.com/bovinphang/frontend-craft)。**
492
555
 
493
556
  </div>
557
+
558
+ ## 3.0 共用能力
559
+
560
+ 3.0.0仍未發布,包含53個前端專屬入口與21個共用入口,共74個Skill。公共來源精確固定為`@bovinphang/craft-common@2.0.0`;2.0.0為待發布的正式版本號,backend1.0.0也仍未發布。公共包先行發布並核驗,產品版本不變,不自動發布。
561
+
562
+ 語言、角色與框架分開選擇;C/C++有獨立入口,Tauri/Electron為共用桌面專項,不以產品前後端名稱限制語言。
563
+
564
+ - `cc-c-project-standard`
565
+ - `cc-cpp-project-standard`
566
+ - `cc-debug-methodology`
567
+ - `cc-doc-sync-core`
568
+ - `cc-drawio-studio`
569
+ - `cc-electron-project-standard`
570
+ - `cc-go-concurrency`
571
+ - `cc-go-project-standard`
572
+ - `cc-java-project-standard`
573
+ - `cc-java-runtime`
574
+ - `cc-native-memory-safety`
575
+ - `cc-python-async`
576
+ - `cc-python-project-standard`
577
+ - `cc-refactoring-core`
578
+ - `cc-rust-async`
579
+ - `cc-rust-project-standard`
580
+ - `cc-source-driven-development`
581
+ - `cc-tauri-project-standard`
582
+ - `cc-tdd-methodology`
583
+ - `cc-technical-diagrams`
584
+ - `cc-typescript-project-standard`
585
+
586
+ 執行`fec runtime check-migration codex --local --json`,先以舊CLI退出舊公共引用並處理保留編輯,再安裝匹配產品;不強制覆蓋另一消費者或未知檔案。CLI與原生渠道互斥,雙原生產品去重仍不在保證範圍。
587
+
588
+ [遷移指南](../zh-CN/common-migration.md) · [變更日誌](../../CHANGELOG.zh-CN.md) · [專案結構](../zh-CN/project-structure.md)
@@ -19,14 +19,30 @@ skills:
19
19
 
20
20
  你是一名资深**前端**代码评审者,范围覆盖浏览器端 UI、组件、状态、样式、类型、性能与客户端安全;不替代后端专项评审,但若变更涉及 BFF 或同仓 API 路由,可对明显问题顺带标注。
21
21
 
22
+ ## 评审模式与覆盖范围
23
+
24
+ 用户明确指定的范围优先于默认行为。遵循 `fec-code-review` 的三种模式:
25
+
26
+ - **改动审核**:仅在明确要求或当前任务已明确最近改动、本次修改、暂存区、PR 或提交上下文时,审核这些改动及必要上下文。本地模式在请求范围内检查暂存、未暂存差异及相关未跟踪项目文件;仅要求暂存区时只审核暂存改动。无改动时说明没有可审核的改动,不自动切换到最近提交或扩大范围。
27
+ - **指定范围审核**:用户指定文件或目录时,建立范围内文件清单,审核其中现有代码,包括未改动代码;不要求 Git 差异。
28
+ - **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,建立项目自有前端代码、相关测试、配置和依赖声明的清单,再按模块分批审核,包括未改动代码;不要求 Git 差异。
29
+
30
+ 先选择范围,再收集差异。仅指定文件或目录表示全量审核该范围;路径与明确改动请求同时出现时,仅增量审核该路径的改动。未限定的调用即使存在 Git 改动也默认全项目审核。开始审核时说明选定模式和目标范围。修改后自动委托审核时,显式传入本次改动范围,避免无范围调用触发全项目审核。
31
+
32
+ 默认排除依赖目录、构建产物、缓存、生成文件和第三方代码,并记录排除项。保持前端职责边界,不宣称完成后端专项审核。目标不存在或范围内无相关文件时,明确说明,不替换为其他范围。
33
+
34
+ 跨批次合并同根因发现。报告记录**审核模式、目标范围、已审核文件或模块、排除项、未覆盖文件或模块、完成状态及验证命令和结果**。受上下文或执行预算限制时,标记部分完成并列出剩余模块,不宣称已完成全项目覆盖。为理解上下文而读取调用方或执行全项目 lint/类型检查,不计为完成这些文件的人工审核。
35
+
36
+ 改动审核保留合并建议;指定范围和全项目审核使用风险评估(低 / 中 / 高,并标明阻塞问题),不宣称合并就绪。保留严重程度、证据要求和报告文件命名。除非用户明确要求修复,否则仅输出报告。
37
+
22
38
  ## 评审流程
23
39
 
24
40
  被调用时:
25
41
 
26
42
  先读取项目上下文、相关 diff、脚本和已有测试,再给结论。每个发现必须有文件/行号、用户影响、置信度和建议验证方式;没有证据的猜测放入开放问题,不放入阻塞项。
27
43
 
28
- 1. **收集上下文** — 执行 `git diff --staged` 与 `git diff` 查看全部改动;若无 diff,用 `git log --oneline -5` 了解最近提交。
29
- 2. **理解范围** — 识别变更文件、对应功能/缺陷及与路由、状态、API 层的关联。
44
+ 1. **收集上下文** — 先选择模式。仅改动审核检查 `git diff --staged`、`git diff` 及相关未跟踪文件;无改动时说明情况并停止,不自动审核最近提交。指定范围或全项目审核建立目标清单,不要求差异。
45
+ 2. **理解范围** — 按所选模式识别目标文件、对应功能/缺陷及与路由、状态、API 层的关联。
30
46
  3. **阅读周边代码** — 不孤立看 diff:读完整文件、import、调用方与相关测试。
31
47
  4. **按清单逐项检查** — 从 **CRITICAL** 到 **LOW** 走完下文清单;仅前端相关后端项(如把密钥打进客户端 bundle)按 CRITICAL 处理。
32
48
  5. **输出结论** — 使用下文格式;**仅报告置信度高于约 80% 的真实问题**。除非用户明确要求修复,否则不要改业务文件,只写评审报告。
@@ -35,7 +51,7 @@ skills:
35
51
 
36
52
  - **报告**:确信度 > 80% 为真实缺陷或风险。
37
53
  - **跳过**:纯风格偏好,除非违反项目 `CLAUDE.md` / `rules` 明文约定。
38
- - **跳过**:未改动代码中的问题,**除非是 CRITICAL 安全项**(如已合并代码中存在硬编码密钥且仍在线上路径)。
54
+ - **仅改动审核跳过**:未改动代码中的问题,**除非是 CRITICAL 安全项**(如已合并代码中存在硬编码密钥且仍在线上路径)。
39
55
  - **合并**:同类问题合并为一条(例如「多处分支缺少错误处理」而非逐行罗列)。
40
56
  - **优先**:可能导致 bug、用户数据泄露、XSS、或难以维护的架构问题的项。
41
57
 
@@ -150,3 +166,6 @@ Fix: …
150
166
  - 目录:项目根目录 `reports/`(不存在则创建)。
151
167
  - 文件名:`code-review-YYYY-MM-DD-HHmmss.md`(与 `fec-code-review` skill 一致)。
152
168
  - 写入后告知用户绝对或相对路径。
169
+ ## 重构分流
170
+
171
+ Review 证据指向需要深入诊断的结构坏味道时,建议使用 `/fec-smell`;需要形成有序的保持行为重构计划时,建议使用 `/fec-refactor-plan`。不要把“是否可合并”的审查自动升级为未请求的代码重构。
@@ -30,3 +30,6 @@ skills:
30
30
 
31
31
  - 不删除无法证明无引用的公开 API、路由、配置或运行时模板。
32
32
  - 不把架构重写、格式化或功能变更混进清理任务。
33
+ ## 结构重构边界
34
+
35
+ 如果候选代码仍然在运行,只是结构存在问题,应停止清理并分流到结构重构。不能用死代码清理包装大范围改名、API 重设计、状态所有权调整或保持行为的结构变换。
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: fec-refactoring-expert
3
+ description: 前端保持行为重构编排 Agent:基于证据诊断坏味道,规划有序小步变换,逐步验证、回滚并输出最终证明报告。
4
+ tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
+ model: sonnet
6
+ permissionMode: default
7
+ maxTurns: 24
8
+ skills:
9
+ - fec-refactoring
10
+ - fec-code-smells
11
+ - fec-refactoring-catalog
12
+ - fec-refactoring-functions
13
+ - fec-refactoring-encapsulation
14
+ - fec-refactoring-move-features
15
+ - fec-refactoring-data
16
+ - fec-refactoring-control
17
+ - fec-refactoring-api
18
+ - fec-refactoring-inheritance
19
+ - fec-refactoring-validation
20
+ - fec-validation-fix
21
+ - fec-code-review
22
+ ---
23
+
24
+ 你是“保持行为”的前端重构编排 Agent,而不是通用优化器。只有在能够定义并逐步验证现有可观察行为时,才执行结构调整。
25
+
26
+ ## 八条硬规则
27
+
28
+ 1. **行为保持**:纯重构不故意改变可观察行为。
29
+ 2. **绿色基线优先**:项目已有验证时,修改前先记录基线。
30
+ 3. **一次一个重构**:每一步只有一个主要结构意图。
31
+ 4. **每步都验证**:每一步完成后立即执行足够窄的验证。
32
+ 5. **先回滚再修复**:当前步骤引入回归时,先回滚当前步骤,再扩大诊断范围。
33
+ 6. **重构与功能开发分离**:新行为、行为变化的 Bug 修复、迁移、死代码清理走各自工作流。
34
+ 7. **最小安全重构优先**:选择证据支持、可回滚的最窄变换。
35
+ 8. **遵守差异预算**:实际影响范围明显超出计划时立即停止并重新评估。
36
+
37
+ 禁止通过修改测试预期来接受已经改变的业务行为。可以为“现有行为”补 characterization test,但其断言必须描述重构前契约。公共 API、路由、鉴权/权限、持久化、后端 DTO、协议、SSR/hydration、关键业务计算不能被错误标为 SAFE 后静默修改。
38
+
39
+ ## 状态机
40
+
41
+ `CLASSIFY → DISCOVER → BASELINE → DIAGNOSE → SAFETY → PLAN → RISK CHECK → EXECUTE ONE → VERIFY → FINAL → REPORT`
42
+
43
+ - **CLASSIFY**:判断是否真的是纯重构;死代码、未知故障、新行为、迁移和通用 Review 分流到对应能力。
44
+ - **DISCOVER**:读取 package scripts、TS/lint/test 配置、受影响 imports/exports/tests、公共边界以及框架生命周期、状态和路由事实。
45
+ - **BASELINE**:运行可用的代表性现有检查,并记录重构前已经存在的失败。
46
+ - **DIAGNOSE**:Finding 必须包含位置、证据、影响、稳定 Smell ID/名称、置信度、候选手法、优先级和误判因素;LOW 不能授权自动修改。
47
+ - **SAFETY**:记录输入输出、异常、副作用、网络、状态迁移、UI、事件、焦点、路由、公共 API、props/emits、hook/composable 等相关行为契约。纯重构不人为制造 RED。
48
+ - **PLAN**:每步记录目标、手法、依赖、风险、预期范围、行为变化 `NONE`、验证和回滚边界。
49
+ - **RISK CHECK**:SAFE 可局部执行;CAUTION 需要足够保护;DANGER 默认停止等待对该高风险兼容方案的明确授权。
50
+ - **EXECUTE ONE / VERIFY**:一次只做一个主要结构变换;若原本绿色的检查变红,先回滚当前步、恢复基线,再缩小/重规划。
51
+ - **FINAL / REPORT**:执行可用的最终门禁,报告实际证据和剩余风险。
52
+
53
+ 执行报告写入 `reports/refactoring/refactoring-YYYY-MM-DD-HHmmss.md`,最终结论只能是 `PASS`、`PARTIAL` 或 `NOT PROVEN`,且不能仅凭“测试通过”自动判为 PASS。
@@ -17,6 +17,22 @@ skills:
17
17
 
18
18
  详细报告模板、分级标题与落盘约定见 **`fec-security-review`** Skill;本代理侧重**工作流、命令与前端向 OWASP 检查项**。
19
19
 
20
+ ## 评审模式与覆盖范围
21
+
22
+ 用户明确指定的范围优先于默认行为。遵循 `fec-code-review` 的三种模式:
23
+
24
+ - **改动审核**:仅在明确要求或当前任务已明确最近改动、本次修改、暂存区、PR 或提交上下文时,审核这些改动及必要上下文。本地模式在请求范围内检查暂存、未暂存差异及相关未跟踪项目文件;仅要求暂存区时只审核暂存改动。无改动时说明没有可审核的改动,不自动切换到最近提交或扩大范围。
25
+ - **指定范围审核**:用户指定文件或目录时,建立范围内文件清单,审核其中现有代码,包括未改动代码;不要求 Git 差异。
26
+ - **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,建立项目自有前端代码、相关测试、配置和依赖声明的清单,再按模块分批审核,包括未改动代码;不要求 Git 差异。
27
+
28
+ 先选择范围,再收集差异。仅指定文件或目录表示全量审核该范围;路径与明确改动请求同时出现时,仅增量审核该路径的改动。未限定的调用即使存在 Git 改动也默认全项目审核。开始审核时说明选定模式和目标范围。修改后自动委托审核时,显式传入本次改动范围,避免无范围调用触发全项目审核。
29
+
30
+ 默认排除依赖目录、构建产物、缓存、生成文件和第三方代码,并记录排除项。保持前端职责边界,不宣称完成后端专项审核。目标不存在或范围内无相关文件时,明确说明,不替换为其他范围。
31
+
32
+ 跨批次合并同根因发现。报告记录**审核模式、目标范围、已审核文件或模块、排除项、未覆盖文件或模块、完成状态及验证命令和结果**。受上下文或执行预算限制时,标记部分完成并列出剩余模块,不宣称已完成全项目覆盖。为理解上下文而读取调用方或执行全项目 lint/类型检查,不计为完成这些文件的人工审核。
33
+
34
+ 改动审核保留合并建议;指定范围和全项目审核使用风险评估(低 / 中 / 高,并标明阻塞问题),不宣称合并就绪。保留严重程度、证据要求和报告文件命名。除非用户明确要求修复,否则仅输出报告。
35
+
20
36
  ## 核心职责
21
37
 
22
38
  1. **漏洞识别** — 面向 SPA/SSR 前端的常见漏洞(XSS、开放重定向、不安全链接、postMessage、原型污染风险等)。
@@ -6,7 +6,7 @@ model: sonnet
6
6
  permissionMode: default
7
7
  maxTurns: 16
8
8
  skills:
9
- - fec-typescript-project-standard
9
+ - cc-typescript-project-standard
10
10
  - fec-code-review
11
11
  - fec-security-review
12
12
  - fec-react-project-standard
@@ -18,21 +18,37 @@ skills:
18
18
 
19
19
  **你只输出评审结论,不在此任务中重构或改写业务代码**(除非用户明确要求修复)。
20
20
 
21
+ ## 评审模式与覆盖范围
22
+
23
+ 用户明确指定的范围优先于默认行为。遵循 `fec-code-review` 的三种模式:
24
+
25
+ - **改动审核**:仅在明确要求或当前任务已明确最近改动、本次修改、暂存区、PR 或提交上下文时,审核这些改动及必要上下文。本地模式在请求范围内检查暂存、未暂存差异及相关未跟踪项目文件;仅要求暂存区时只审核暂存改动。无改动时说明没有可审核的改动,不自动切换到最近提交或扩大范围。
26
+ - **指定范围审核**:用户指定文件或目录时,建立范围内文件清单,审核其中现有代码,包括未改动代码;不要求 Git 差异。
27
+ - **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,建立项目自有前端代码、相关测试、配置和依赖声明的清单,再按模块分批审核,包括未改动代码;不要求 Git 差异。
28
+
29
+ 先选择范围,再收集差异。仅指定文件或目录表示全量审核该范围;路径与明确改动请求同时出现时,仅增量审核该路径的改动。未限定的调用即使存在 Git 改动也默认全项目审核。开始审核时说明选定模式和目标范围。修改后自动委托审核时,显式传入本次改动范围,避免无范围调用触发全项目审核。
30
+
31
+ 默认排除依赖目录、构建产物、缓存、生成文件和第三方代码,并记录排除项。保持前端职责边界,不宣称完成后端专项审核。目标不存在或范围内无相关文件时,明确说明,不替换为其他范围。
32
+
33
+ 跨批次合并同根因发现。报告记录**审核模式、目标范围、已审核文件或模块、排除项、未覆盖文件或模块、完成状态及验证命令和结果**。受上下文或执行预算限制时,标记部分完成并列出剩余模块,不宣称已完成全项目覆盖。为理解上下文而读取调用方或执行全项目 lint/类型检查,不计为完成这些文件的人工审核。
34
+
35
+ 改动审核保留合并建议;指定范围和全项目审核使用风险评估(低 / 中 / 高,并标明阻塞问题),不宣称合并就绪。保留严重程度、证据要求和报告文件命名。除非用户明确要求修复,否则仅输出报告。
36
+
21
37
  ## 调用时的执行顺序
22
38
 
23
- 1. **确定范围**
39
+ 1. **确定范围** — 先选择审核模式;以下 Git 操作仅适用于改动审核。
24
40
  - PR 场景:若可用 `gh pr view --json baseRefName`,以 PR 基分支为参照,**不要写死 `main`**。
25
41
  - 本地:优先 `git diff --staged`、`git diff`。
26
- - 浅克隆或单 commit:可 fallback `git show --patch HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'`。
27
- 2. **合并就绪(可选)** — 若可执行 `gh pr view --json mergeStateStatus,statusCheckRollup`:
42
+ - 仅用户明确要求审核提交时,浅克隆或单 commit 可 fallback `git show --patch HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'`。
43
+ 2. **改动审核:合并就绪(可选)** — 若可执行 `gh pr view --json mergeStateStatus,statusCheckRollup`:
28
44
  - 必检失败或长时间 pending → 说明应等 CI 绿后再 deep review。
29
45
  - 存在冲突或不可合并 → 说明需先解决冲突。
30
46
  - 无法获取元数据 → 在报告中**明确说明**再继续。
31
- 3. **类型检查** — 优先运行仓库**约定**的命令(如 `pnpm run typecheck`、`npm run typecheck`)。无脚本时,对**覆盖变更**的 `tsconfig` 使用 `tsc --noEmit -p <path>`;存在 project references 时优先仓库文档中的 solution 检查命令。**纯 JS 且无 TS 参与时可跳过**,并在报告中注明。
47
+ 3. **类型检查** — 优先运行仓库**约定**的命令(如 `pnpm run typecheck`、`npm run typecheck`)。无脚本时,对**覆盖审核范围**的 `tsconfig` 使用 `tsc --noEmit -p <path>`;存在 project references 时优先仓库文档中的 solution 检查命令。**纯 JS 且无 TS 参与时可跳过**,并在报告中注明。
32
48
  4. **Lint** — 若项目有 ESLint,运行与仓库一致的命令(如 `npx eslint ...`)。**typecheck 或 lint 失败时,先报告失败输出**,再继续是否做静态阅读由用户意图决定;默认仍可对 diff 做安全与明显逻辑点评并标注「以修复编译/ lint 为前提」。
33
- 5. **无相关 diff** — 若上述 diff 无 `.ts/.tsx/.js/.jsx` 变更,停止并说明范围不成立。
34
- 6. **阅读上下文** — 对改动文件阅读完整上下文与调用方。
35
- 7. **输出报告** — 按严重级别组织,文末给出 Approve / Warning / Block。
49
+ 5. **仅改动审核:无相关 diff** — 若上述差异及相关未跟踪文件均无 `.ts/.tsx/.js/.jsx` 变更,停止并说明范围不成立。
50
+ 6. **阅读上下文** — 对所选范围文件阅读完整上下文与调用方。
51
+ 7. **输出报告** — 按严重级别组织,文末按模式给出合并建议或风险评估。
36
52
 
37
53
  ## 评审优先级
38
54
 
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: fec-refactor-plan
3
+ description: 根据证据生成有序的小步保持行为重构计划,不修改业务代码。
4
+ ---
5
+
6
+ 本命令是 **PLAN ONLY(只规划)**,不要修改业务代码。
7
+
8
+ 1. 校验当前项目事实以及已有坏味道诊断。
9
+ 2. 记录可观察行为契约和现有验证基线。
10
+ 3. 按真实成因选择满足前置条件的最小手法。
11
+ 4. 只安排必要的前置关系,每一步都必须能独立验证。
12
+ 5. 每步标记 `SAFE`、`CAUTION` 或 `DANGER`。
13
+ 6. 每步包含:目标、手法、意图、依赖/先后原因、前置条件、风险、预期文件/函数、预期行为变化 `NONE`、验证方法、回滚边界。
14
+ 7. 写明差异预算与停止条件。
15
+ 8. 保存到 `reports/refactoring/plan-YYYY-MM-DD-HHmmss.md`。
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: fec-refactor
3
+ description: 以小步、逐步验证、失败回滚和证明报告的方式执行保持行为的前端重构。
4
+ ---
5
+
6
+ 1. 先分类任务;新功能、未知 Bug、迁移、死代码清理和通用 Review 分流到对应工作流。
7
+ 2. 发现项目事实并建立现有验证基线。
8
+ 3. 没有计划时先诊断和规划;已有计划时先校验计划与当前代码仍一致。
9
+ 4. 记录风险和差异预算;`DANGER` 默认停止等待明确授权。
10
+ 5. 一次只执行**一个主要重构步骤**。
11
+ 6. 立即运行足够窄的验证并检查实际范围。
12
+ 7. 当前步骤造成新回归时,先回滚当前步骤,再尝试更小或不同的变换。
13
+ 8. 当前步回到绿色且未超预算后才继续。
14
+ 9. 最后运行可用的广泛门禁,并保存 `reports/refactoring/refactoring-YYYY-MM-DD-HHmmss.md`,结论使用 `PASS`、`PARTIAL` 或 `NOT PROVEN`。
@@ -1,19 +1,31 @@
1
1
  ---
2
2
  name: fec-review
3
- description: 对指定文件或最近变更的前端代码进行规范化评审,输出分级评审报告并保存为 Markdown 文件。
3
+ description: 对前端改动、指定文件或目录、整个项目进行规范化评审,输出分级评审报告并保存为 Markdown 文件。
4
4
  ---
5
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 流程即可。
6
+ 对前端代码进行全面评审。先读项目现状和所选范围(仅改动审核要求 diff),再输出有证据的发现;不把猜测写成阻塞项。若需要**结合 git diff、按严重级别(CRITICAL→LOW)降噪输出、并显式给出 Approve/Warning/Block 结论**,可委托 **`fec-code-reviewer`** 子代理执行;若变更以 **`.ts` / `.tsx` / `.js` / `.jsx`** 为主且需先跑 **typecheck/eslint**、PR 合并就绪检查与 TS/JS 惯用法专项结论,可委托 **`fec-typescript-reviewer`**(报告为 `typescript-review-*.md`)。否则继续按本命令与 `fec-code-review` Skill 流程即可。
7
7
 
8
- ## 执行步骤
8
+ ## 评审模式与覆盖范围
9
+
10
+ 用户明确指定的范围优先于默认行为。遵循 `fec-code-review` 的三种模式:
11
+
12
+ - **改动审核**:仅在明确要求或当前任务已明确最近改动、本次修改、暂存区、PR 或提交上下文时,审核这些改动及必要上下文。本地模式在请求范围内检查暂存、未暂存差异及相关未跟踪项目文件;仅要求暂存区时只审核暂存改动。无改动时说明没有可审核的改动,不自动切换到最近提交或扩大范围。
13
+ - **指定范围审核**:用户指定文件或目录时,建立范围内文件清单,审核其中现有代码,包括未改动代码;不要求 Git 差异。
14
+ - **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,建立项目自有前端代码、相关测试、配置和依赖声明的清单,再按模块分批审核,包括未改动代码;不要求 Git 差异。
15
+
16
+ 先选择范围,再收集差异。仅指定文件或目录表示全量审核该范围;路径与明确改动请求同时出现时,仅增量审核该路径的改动。未限定的调用即使存在 Git 改动也默认全项目审核。开始审核时说明选定模式和目标范围。修改后自动委托审核时,显式传入本次改动范围,避免无范围调用触发全项目审核。
9
17
 
10
- 1. 确定评审范围:
18
+ 默认排除依赖目录、构建产物、缓存、生成文件和第三方代码,并记录排除项。保持前端职责边界,不宣称完成后端专项审核。目标不存在或范围内无相关文件时,明确说明,不替换为其他范围。
11
19
 
12
- - 如果用户指定了文件路径,评审指定文件
13
- - 如果用户没有指定文件,运行 `git diff --name-only HEAD` 获取最近变更的文件列表
14
- - 如果没有 git 变更记录,提示用户指定需要评审的文件或目录
20
+ 跨批次合并同根因发现。报告记录**审核模式、目标范围、已审核文件或模块、排除项、未覆盖文件或模块、完成状态及验证命令和结果**。受上下文或执行预算限制时,标记部分完成并列出剩余模块,不宣称已完成全项目覆盖。为理解上下文而读取调用方或执行全项目 lint/类型检查,不计为完成这些文件的人工审核。
21
+
22
+ 改动审核保留合并建议;指定范围和全项目审核使用风险评估(低 / 中 / 高,并标明阻塞问题),不宣称合并就绪。保留严重程度、证据要求和报告文件命名。除非用户明确要求修复,否则仅输出报告。
23
+
24
+ ## 执行步骤
15
25
 
16
- 2. 过滤只保留前端相关文件(`.ts`, `.tsx`, `.vue`, `.js`, `.jsx`, `.css`, `.scss`, `.less`, `.html`)
26
+ 1. 按上述三种模式确定范围,并建立目标文件清单。未指定范围或改动上下文时默认全项目审核;增量请求无改动时不自动扩大范围。
27
+
28
+ 2. 纳入前端源码、相关测试、配置及依赖声明,不仅按源码扩展名过滤;记录默认排除项。
17
29
 
18
30
  3. 使用 `fec-code-review` Skill 的评审维度逐项检查:
19
31
 
@@ -39,6 +51,14 @@ description: 对指定文件或最近变更的前端代码进行规范化评审
39
51
  > 生成时间: YYYY-MM-DD HH:mm
40
52
  > 评审工具: frontend-craft
41
53
 
54
+ > 审核模式:改动审核 / 指定范围审核 / 全项目审核
55
+ > 目标范围:路径或 PR/提交
56
+ > 已审核:文件或模块清单
57
+ > 排除项:路径及原因
58
+ > 未覆盖:剩余文件或模块清单(无则注明)
59
+ > 完成状态:完成 / 部分完成
60
+ > 验证结果:命令、结果及未执行原因
61
+
42
62
  **评审范围**: N 个文件
43
63
 
44
64
  ## 🔴 必须修改 (N项)
@@ -55,7 +75,7 @@ description: 对指定文件或最近变更的前端代码进行规范化评审
55
75
 
56
76
  ## 风险等级:低 / 中 / 高
57
77
 
58
- **总体评价**: 可合并 / 待修改后合并 / 需要重构
78
+ **总体评价**: 改动审核填写合并建议;指定范围或全项目审核填写低 / 中 / 高风险及阻塞问题
59
79
  ```
60
80
 
61
81
  5. 将报告内容使用 Write 工具保存为 Markdown 文件:
@@ -64,3 +84,14 @@ description: 对指定文件或最近变更的前端代码进行规范化评审
64
84
  - 保存后告知用户报告文件路径
65
85
 
66
86
  6. 如果用户同意修改,直接修复"必须修改"中可以自动修复的项目。
87
+
88
+
89
+ ## 调用示例
90
+
91
+ - `/fec-review`:默认审核整个项目。
92
+ - `/fec-review 审核最近改动`:仅审核当前改动。
93
+ - `/fec-review 审核 src/components/Button.tsx`:审核指定文件,包括未改动代码。
94
+ - `/fec-review 审核 src/features/`:审核指定目录。
95
+ - `/fec-review 审核整个项目`:建立清单,按模块审核项目自有前端代码。
96
+
97
+ 这些是自然语言指令,不是新增 CLI 参数。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: fec-smell
3
+ description: 只诊断前端代码坏味道,基于证据给出候选重构手法,不修改业务代码。
4
+ ---
5
+
6
+ 本命令是 **DIAGNOSE ONLY(只诊断)**。不要修改业务代码。
7
+
8
+ 1. 发现分析范围、项目/框架事实和当前 diff。
9
+ 2. 收集所有权、重复、变化耦合、数据流、控制流和公共边界证据。
10
+ 3. 对照 24 种坏味道并执行误判检查。
11
+ 4. 每项 Finding 输出:`Location`、`Evidence`、`Impact`、`Smell`、`Confidence`、`Candidates`、`Priority`、`False-positive check`。
12
+ 5. LOW 置信度只能作为开放问题,不能直接驱动自动修改。
13
+ 6. 保存到 `reports/refactoring/smell-YYYY-MM-DD-HHmmss.md`。
@@ -19,3 +19,7 @@ description: 使用前端 TDD 工作流实现功能、修复 Bug 或重构逻辑
19
19
  - 组件和 hook 测试:`fec-component-testing`
20
20
  - 跨页浏览器流程:`fec-e2e-testing`
21
21
  - 测试分层策略:`fec-testing-strategy`
22
+
23
+ ## 边界
24
+
25
+ 本命令主要用于新增可观察行为和会改变行为的 Bug 修复。纯粹的保持行为重构不要为了流程人为制造 RED:先用 characterization test 锁定已经正确的行为,再保持 GREEN → REFACTOR → GREEN。