@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개의 전문 에이전트**, **45개의 자동 활성화 스킬**, **8개의 슬래시 명령어**, **5개의 이벤트 기반 훅**, 6개 디자인 도구 엔드포인트를 위한 **MCP 통합**, 그리고 완전한 **규칙 라이브러리**를 하나의 설치 가능한 패키지로 묶었습니다. 명령어 하나만 실행하면, 팀의 모든 AI 세션이 React, Vue, Next.js, Nuxt를 같은 방식으로 작성합니다 — 타입 안전하고, 접근성 있고, 안전하며, 일관성 있게.
38
+ **14개의 전문 에이전트**, **61개의 자동 활성화 스킬**, **11개의 슬래시 명령어**, **5개의 이벤트 기반 훅**, 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개 스킬**이 팀 표준을 인코딩 — 해당 파일을 건드릴 때 자동 활성화 |
46
+ | AI 어시스턴트가 일관성 없고, 타입 없고, 안전하지 않은 프론트엔드 코드를 작성 | **61개 스킬**이 팀 표준을 인코딩 — 해당 파일을 건드릴 때 자동 활성화 |
44
47
  | AI 도구마다 플러그인 형식이 다름 | **하나의 CLI**로 동일한 규칙, 에이전트, 훅을 15개 런타임에 설치 |
45
48
  | 디자인에서 코드로의 전달 과정에서 정보 손실 | **MCP 통합**이 Figma, Figma Desktop, Sketch, MasterGo, Pixso, 墨刀에서 더 풍부한 디자인 컨텍스트를 가져오기 |
46
- | 리뷰가 즉흥적이고 얕음 | **13개 에이전트**가 등급별 보고서 출력: 코드, 보안, 접근성, 성능, TS, UI 충실도 |
49
+ | 리뷰가 즉흥적이고 얕음 | **14개 에이전트**가 등급별 보고서 출력: 코드, 보안, 접근성, 성능, TS, UI 충실도 |
47
50
  | 아무도 lint와 테스트 실행을 기억하지 못함 | **이벤트 기반 훅**이 저장 시와 세션 종료 시 자동 검증 |
48
51
  | 새 프로젝트가 매번 처음부터 시작 | **`/fec-init`**이 몇 초 만에 CLAUDE.md, 규칙, 설정을 스캐폴드 |
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**를 단일 소스 설치 방식으로 권장합니다. CLI를 Claude에 사용하는 것은 교차 런타임 설치, 스크립트/오프라인 파일 복사, 또는 비 Marketplace 환경이 필요한 경우에만 사용하세요.
111
114
 
112
- Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번째 Claude 사본을 설치하거나 업데이트하지 않습니다. 대신 Claude Code Marketplace를 통해 업데이트하세요. 다른 스코프에 CLI 관리 Claude 설치본이 이미 있는 경우, 대화형 터미널에서는 해당 소스를 최신으로 유지할지, 제거 후 전환할지 묻습니다. 비대화형 터미널은 중단하고 실행할 `update`, `uninstall`, `install` 명령어를 정확히 출력합니다.
115
+ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번째 Claude 사본을 설치하거나 업데이트하지 않습니다. 대신 Claude Code Marketplace를 통해 업데이트하세요. 다른 스코프에 CLI 관리 Claude 설치본이 이미 있는 경우, 대화형 터미널에서는 해당 소스를 최신으로 유지할지, 제거 후 전환할지 묻습니다. 비대화형 터미널은 중단하고 실행할 `runtime update`, `runtime uninstall`, `runtime install` 명령어를 정확히 출력합니다.
113
116
 
114
117
  전체 Claude 전용 단계는 [docs/runtimes/claude.md](../runtimes/claude.md) · [简体中文](../runtimes/claude.zh-CN.md)에 있습니다.
115
118
 
@@ -163,14 +166,31 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
163
166
  | 명령어 | 용도 | 보고서 |
164
167
  | --------------------- | -------------------------------------------------------------------- | -------------------------------------------------- |
165
168
  | `/fec-init` | 프로젝트 템플릿 초기화 (CLAUDE.md, 규칙, 설정) | — |
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, API 장애 | `debug-*.md` |
171
174
  | `/fec-refactor-clean` | 데드 코드, 미사용 export, 스타일, 의존성을 분류하고 안전하게 제거 | `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 / 보안 리뷰 에이전트와 스킬은 세 가지 모드를 사용합니다.
183
+
184
+ - **변경 리뷰**: 최근 변경, 이번 수정, 스테이징 변경, PR/커밋을 명시하거나 현재 작업에서 변경 범위가 확정된 경우 리뷰합니다. 변경이 없으면 이를 알리고 최근 커밋으로 자동 전환하지 않습니다.
185
+ - **지정 범위 리뷰**: 파일이나 디렉터리를 지정하면 변경되지 않은 기존 코드도 리뷰합니다. Git diff가 필요하지 않습니다.
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
  ### 스킬 (자동 활성화)
175
195
 
176
196
  스킬은 파일 패턴, 프레임워크, 또는 작업 컨텍스트에 기반하여 **자동으로 활성화**되는 워크플로 정의입니다. 리뷰 관점, 출력 규칙, 보고서 형식을 인코딩합니다.
@@ -187,7 +207,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
187
207
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, Composition 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 설정, 공개 API 타입, 선언 파일, DTO, 제네릭 |
210
+ | `cc-typescript-project-standard` | TypeScript 설정, 공개 API 타입, 선언 파일, DTO, 제네릭 |
191
211
 
192
212
  **구현 기능** — 특정 프론트엔드 기능을 구축할 때 활성화:
193
213
 
@@ -227,13 +247,29 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
227
247
  | `fec-performance-optimization` | Core Web Vitals, 번들, 렌더링, 메모리, 네트워크, 성능 예산 리뷰 |
228
248
  | `fec-refactor-clean` | 데드 코드, 미사용 export, 스타일, 라우트, 의존성의 안전한 정리 |
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 방향, 반템플릿 디자인 다이얼, 미디어 전략, 상태, visual QA |
235
- | `fec-image-generation` | 시스템 블루프린트, 프로세스 워크플로, 인터랙티브 라이브 다이어그램, HTML/SVG/PNG 내보내기, 이미지 생성/편집, 비주얼 에셋, PNG QA |
236
- | `fec-drawio-studio` | 편집 가능한 draw.io / diagrams.net 기술 다이어그램, XML/Mermaid/CSV URL 핸드오프, shape 검색, 자동 레이아웃, 코드 구조도 |
271
+ | `fec-image-generation` | UI·제품·브랜드 이미지 생성과 편집, 공통 PNG 품질 검사 |
272
+ | `cc-drawio-studio` | 편집 가능한 draw.io / diagrams.net 기술 다이어그램, XML/Mermaid/CSV URL 핸드오프, shape 검색, 자동 레이아웃, 코드 구조도 |
237
273
  | `fec-web-video-presentation` | 글, 스크립트, 레슨, demo를 녹화 가능한 16:9 step-driven 웹 프레젠테이션으로 변환 |
238
274
  | `fec-tailwind-design-system` | Tailwind token, 테마 확장, variants, class 관리, dark mode |
239
275
  | `fec-responsive-layout` | 모바일 우선, container queries, 데이터 밀집 responsive UI |
@@ -241,6 +277,10 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
241
277
  | `fec-implement-from-design` | 디자인 도구, 스크린샷 또는 section 단위 시각 참조에서 UI 구현 |
242
278
  | `fec-storybook-component-doc` | Storybook 컴포넌트 문서, 디자인 시스템 표시, 격리 상태 미리보기 |
243
279
 
280
+ 기술 다이어그램 품질: 표준 시퀀스와 흐름도는 로컬 Mermaid, 편집 가능한 아키텍처는 draw.io를 우선합니다. 도구가 없으면 JSON/HTML을 사용합니다. PNG 배율에 맞는 실제 측정 manifest로 QA를 실행하고 최종 이미지를 직접 확인합니다. 기본 수정은 두 번이며 남은 문제를 보고합니다.
281
+
282
+ [리뷰 및 기술 다이어그램 가이드](../review-and-diagram-workflows.md).
283
+
244
284
  **레거시 마이그레이션** — 현대화 작업에서 활성화:
245
285
 
246
286
  | 스킬 | 범위 |
@@ -260,7 +300,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
260
300
  | ---------------------------------- | ------------------------------------------------------------------------------------ |
261
301
  | `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
262
302
  | `fec-doc-sync` | 프론트엔드 문서를 코드, 설정, 스크립트, 라우트, API, 환경 변수, 배포 사실과 동기화 |
263
- | `fec-source-driven-development` | 프로젝트 사실과 공식 소스로 버전 의존 결정을 검증 |
303
+ | `cc-source-driven-development` | 프로젝트 사실과 공식 소스로 버전 의존 결정을 검증 |
264
304
 
265
305
  ### 에이전트
266
306
 
@@ -276,6 +316,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
276
316
  | `fec-test-planner` | 위험→계층 매트릭스: 정적, 단위, 컴포넌트, E2E, 시각, 접근성, 보안 | `test-plan-*.md` |
277
317
  | `fec-debugger` | 빌드, 런타임, UI, API 장애에 대한 복잡한 프론트엔드 진단 | `debug-*.md` |
278
318
  | `fec-refactor-cleaner` | 미사용 코드, export, 스타일, 라우트, 의존성 분류 및 안전한 제거 | `refactor-clean-*.md` |
319
+ | `fec-refactoring-expert` | Behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
279
320
  | `fec-e2e-runner` | E2E 작성 및 실행 (Playwright/Cypress), flaky 격리, 트레이스 | `e2e-summary-*.md` |
280
321
  | `fec-doc-updater` | README, 런타임 문서, 구조, 기능 표, 메타데이터 동기화 | — |
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과 registry의 `latest`로 전역 CLI를 업그레이드한 뒤 새 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를 생성하지 않으며 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는 런타임 디렉토리에 `frontend-craft.manifest.json`을 작성합니다. runtime을 지정하지 않으면 `update`가 이 manifest를 자동으로 발견하고 **로컬에서 수정한 파일을 건너뜁니다** — 커스터마이징은 업데이트 후에도 유지됩니다.
509
+ CLI는 런타임 디렉토리에 `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.md](../runtimes/claude.md) · [简体中文](../runtimes/claude.zh-CN.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도 미출시 상태입니다. common을 먼저 배포하고 검증하며 제품 버전을 변경하거나 자동으로 배포하지 않습니다.
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
+ [마이그레이션](../common-migration.md) · [변경 기록](../../CHANGELOG.md) · [구조](../project-structure.md)
@@ -1,6 +1,6 @@
1
1
  # Project Structure
2
2
 
3
- Detailed directory layout for `frontend-craft`.
3
+ Directory layout for `frontend-craft` 3.0.0. The CLI uses TypeScript, ESM and esbuild; tests use Node.js `node:test`. Distribution includes 14 agents, 74 skills (53 frontend + 21 common) and 11 commands.
4
4
 
5
5
  ## Repository Layout
6
6
 
@@ -17,6 +17,7 @@ frontend-craft/
17
17
  | |-- fec-test-planner.md # Testing strategy, risk matrix, coverage planning
18
18
  | |-- fec-debugger.md # Complex build/runtime/UI/API diagnostics
19
19
  | |-- fec-refactor-cleaner.md # Dead-code and unused dependency cleanup
20
+ | |-- fec-refactoring-expert.md # Behavior-preserving smell diagnosis, planning, execution, validation
20
21
  | |-- fec-doc-updater.md # README/runtime docs/capability table synchronization
21
22
  | |-- fec-e2e-runner.md # E2E authoring, execution, flaky handling, artifacts, CI
22
23
  | |-- fec-typescript-reviewer.md # TS/JS type safety, async, security, report-only review
@@ -29,22 +30,30 @@ frontend-craft/
29
30
  | |-- fec-code-review/ # Architecture, types, rendering, styles, a11y
30
31
  | |-- fec-security-review/ # XSS, CSRF, sensitive data, input validation
31
32
  | |-- fec-accessibility-check/ # WCAG 2.2 accessibility, keyboard, focus, screen readers
32
- | |-- fec-code-review/ # Architecture, types, rendering, styles, a11y
33
- | |-- fec-security-review/ # XSS, CSRF, sensitive data, input validation
34
- | |-- fec-accessibility-check/ # WCAG 2.2 accessibility, keyboard, focus, screen readers
35
33
  | |-- fec-react-project-standard/ # React + TypeScript project standards
36
34
  | |-- fec-vue3-project-standard/ # Vue 3 + TypeScript project standards
37
35
  | |-- fec-implement-from-design/ # Implement UI from design tools, screenshots, and visual references
38
36
  | |-- fec-validation-fix/ # lint, type-check, test, build and fix
39
37
  | |-- fec-performance-optimization/ # Core Web Vitals, bundle, rendering, network, memory
40
- | |-- fec-source-driven-development/ # Official sources, project facts, version-sensitive decisions
41
- | |-- fec-typescript-project-standard/ # TypeScript config, public API types, declarations, DTOs, generics
38
+ | |-- cc-source-driven-development/ # Official sources, project facts, version-sensitive decisions
39
+ | |-- cc-typescript-project-standard/ # TypeScript config, public API types, declarations, DTOs, generics
42
40
  | |-- fec-state-management/ # State ownership, store selection, URL/server/form/local boundaries
43
41
  | |-- fec-tailwind-design-system/ # Tailwind tokens, variants, dark mode, class governance
44
42
  | |-- fec-responsive-layout/ # Mobile-first layouts, container queries, touch-safe responsive UI
45
43
  | |-- fec-dependency-upgrade/ # Dependency upgrades, lockfile risk, CVE remediation
46
44
  | |-- fec-tdd-workflow/ # Test-first frontend implementation workflow
47
45
  | |-- fec-refactor-clean/ # Safe dead-code and unused dependency cleanup
46
+ | |-- fec-refactoring/ # Core behavior-preserving refactoring workflow and safety gates
47
+ | |-- fec-code-smells/ # 24-smell evidence-based diagnosis
48
+ | |-- fec-refactoring-catalog/ # 61-technique selection and composition catalog
49
+ | |-- fec-refactoring-functions/ # Function family refactorings
50
+ | |-- fec-refactoring-encapsulation/ # Encapsulation family refactorings
51
+ | |-- fec-refactoring-move-features/ # Moving-feature family refactorings
52
+ | |-- fec-refactoring-data/ # Data family refactorings
53
+ | |-- fec-refactoring-control/ # Conditional/control family refactorings
54
+ | |-- fec-refactoring-api/ # API family refactorings
55
+ | |-- fec-refactoring-inheritance/ # Inheritance/delegation family refactorings
56
+ | |-- fec-refactoring-validation/ # Behavior-preservation validation and proof levels
48
57
  | |-- fec-doc-sync/ # Public docs and metadata synchronization
49
58
  | |-- fec-legacy-web-standard/ # JS + jQuery + HTML legacy project standards
50
59
  | |-- fec-legacy-to-modern-migration/ # jQuery/MPA migration to React/Vue strategy and workflow
@@ -69,20 +78,28 @@ frontend-craft/
69
78
  | |-- fec-list-virtualization/ # Large-list windowing with react-window / TanStack Virtual and measurement strategies
70
79
  | |-- fec-storybook-component-doc/ # Storybook component docs, addons, MDX, interaction and visual test integration
71
80
  | |-- fec-ui-design/ # Product-context UI direction, design dials, media strategy, visual QA
72
- | |-- fec-image-generation/ # Diagram/image generation, editing workflows, PNG QA and repair loops
73
- | |-- fec-drawio-studio/ # Editable draw.io diagrams, shape lookup, auto-layout, code structure maps
81
+ | |-- fec-image-generation/ # UI/product/brand image generation, editing and shared PNG QA
82
+ | |-- cc-drawio-studio/ # Editable draw.io diagrams, shape lookup, auto-layout, code structure maps
74
83
  | |-- fec-web-video-presentation/ # Recordable 16:9 step-driven web video presentations
75
84
  | |-- fec-motion-interaction/ # Context-aware motion intensity, transitions, scroll animation, reduced motion
76
85
  | |-- fec-alchemy/ # Project absorption workflow — extract reference ideas and redesign natively
86
+ | |-- cc-technical-diagrams/ # Technical diagrams, export and PNG QA
87
+ | |-- cc-doc-sync-core/ # Shared documentation fact synchronization
88
+ | |-- cc-debug-methodology/ # Shared evidence-driven diagnosis
89
+ | |-- cc-refactoring-core/ # Shared behavior-preserving refactoring
90
+ | |-- cc-tdd-methodology/ # Shared TDD methodology
77
91
  |
78
92
  |-- commands/ # Slash commands for quick execution
79
93
  | |-- fec-init.md # /fec-init - Initialize project templates
80
- | |-- fec-review.md # /fec-review - Code review
94
+ | |-- fec-review.md # /fec-review - Project by default; targeted scope or explicit changes
81
95
  | |-- fec-scaffold.md # /fec-scaffold - Create page/feature/component
82
96
  | |-- fec-plan.md # /fec-plan - Implementation planning before frontend changes
83
97
  | |-- fec-tdd.md # /fec-tdd - Test-driven frontend implementation
84
98
  | |-- fec-debug.md # /fec-debug - Diagnose and fix frontend failures
85
99
  | |-- fec-refactor-clean.md # /fec-refactor-clean - Safe dead-code cleanup
100
+ | |-- fec-smell.md # /fec-smell - Read-only code-smell diagnosis
101
+ | |-- fec-refactor-plan.md # /fec-refactor-plan - Read-only small-step refactoring plan
102
+ | |-- fec-refactor.md # /fec-refactor - Controlled behavior-preserving execution
86
103
  | |-- fec-doc-sync.md # /fec-doc-sync - Public docs and metadata sync
87
104
  |
88
105
  |-- hooks/ # Event-driven automation
@@ -90,14 +107,23 @@ frontend-craft/
90
107
  |
91
108
  |-- src/ # TypeScript source for published runtime code
92
109
  | |-- hooks/ # Runtime hook scripts bundled to dist/hooks
93
- | |-- security-check.ts # Block dangerous commands
94
- | |-- format-changed-file.ts # Auto Prettier formatting
95
- | |-- run-tests.ts # Run checks on session end
96
- | |-- session-start.ts # Detect framework on session start
97
- | |-- notify.ts # Cross-platform desktop notifications
110
+ | | |-- security-check.ts # Block dangerous commands
111
+ | | |-- format-changed-file.ts # Auto Prettier formatting
112
+ | | |-- run-tests.ts # Run checks on session end
113
+ | | |-- session-start.ts # Detect framework on session start
114
+ | | |-- notify.ts # Cross-platform desktop notifications
98
115
  | |-- install/ # Installer core (CLI, interactive wizard, runtime converters)
116
+ | | |-- cli-lifecycle.ts # CLI self-update/removal and resource refresh
117
+ | | |-- migration.ts # Read-only legacy-entry checks
118
+ | | |-- shared/ # Common snapshots, ownership and product transactions
99
119
  | |-- openclaw/ # OpenClaw runtime TypeScript source
100
120
  |
121
+ |-- bin/ # TypeScript CLI entry bundled into dist/bin/
122
+ |-- localized/zh-CN/ # Chinese agents, commands, skills and templates
123
+ |-- common-content.lock.json # Pinned common version, provenance and hashes
124
+ |-- tests/ # Content, install, migration, shared transaction and CLI lifecycle tests
125
+ |-- dist/ # Generated CLI, hooks and OpenClaw bundles; do not edit
126
+ |
101
127
  |-- scripts/ # Source-run repository maintenance scripts, not published to npm
102
128
  |
103
129
  |-- templates/ # Runtime-specific project templates
@@ -129,3 +155,12 @@ frontend-craft/
129
155
  | `src/openclaw/` | OpenClaw runtime TypeScript source |
130
156
  | `templates/` | Runtime-specific project templates (Claude/Codex/Cursor/Gemini/OpenClaw/Windsurf configs + shared rules) |
131
157
  | `tests/` | Test suite (converter tests, installer tests) |
158
+
159
+
160
+ Technical diagram quality: `cc-technical-diagrams` prefers local Mermaid for standard sequence/workflow diagrams and the draw.io workflow for editable architecture, with JSON/HTML fallback when tools are unavailable. Export a browser-measured manifest scaled to the PNG, run QA and inspect the final image. Preserve complete text, explicit layout and relationships; repair the source for at most two automatic rounds and report unresolved issues. Reproducible fixtures are in `skills/cc-technical-diagrams/assets/quality-examples/`.
161
+
162
+ [Review scope and technical diagram delivery](review-and-diagram-workflows.md) — scope, tool prerequisites, export commands, and QA limits.
163
+
164
+ Shared `cc-*` entries and embedded method copies are generated from `craft-common@2.0.0`. Run `pnpm run sync:common` after upstream changes and `pnpm run check:common` for a read-only comparison. Do not edit generated common snapshots. Frontend domain content is maintained here, with Chinese mirrors in `localized/zh-CN/`.
165
+
166
+ `src/project/` keeps product framework declarations and inspect integration. Bounded discovery and task recommendation live in craft-common; backend retains the six-language validation projection. 产品不复制扫描器或公共安装算法。
@@ -0,0 +1,50 @@
1
+ # frontend-craft 重构子系统
2
+
3
+ 本目录是重构子系统的人类导航入口。详细可执行知识位于 `skills/` 与 `localized/zh-CN/skills/`,这里不重复完整操作步骤。
4
+
5
+ ## 能力入口
6
+
7
+ | 入口 | 模式 | 用途 |
8
+ | --- | --- | --- |
9
+ | `/fec-smell` | 只读诊断 | 基于证据识别代码坏味道,检查误判并给出候选重构手法 |
10
+ | `/fec-refactor-plan` | 只读规划 | 把诊断结果组织为有依赖顺序、可验证、可回滚的小步重构计划 |
11
+ | `/fec-refactor` | 受控执行 | 在保持既有可观察行为的前提下,一次执行一个主要重构并逐步验证 |
12
+
13
+ ## 核心安全模型
14
+
15
+ 纯重构遵循 `GREEN → REFACTOR → GREEN`:先记录可用的绿色基线,再做结构变化,再回到同一行为基线。新增行为或行为变化型缺陷修复仍属于 TDD 的 `RED → GREEN → REFACTOR`。
16
+
17
+ 风险统一分为:
18
+
19
+ - `SAFE`:局部、私有、易回滚且验证充分;
20
+ - `CAUTION`:跨模块、状态归属、组件边界或动态引用等需要额外证据;
21
+ - `DANGER`:公开 API、路由、持久化、网络协议、权限、SSR/hydration、关键业务计算等高风险边界,默认先规划并明确确认。
22
+
23
+ 每个执行步骤还要记录**差异预算(Diff Budget)**:预期文件数、函数/组件数、公开 API 变化数和行为变化数。实际范围明显超出预算时停止并重新评估。
24
+
25
+ ## 与相邻工作流的边界
26
+
27
+ - 已证明未使用的代码、导出、样式、路由或依赖:使用 `fec-refactor-clean`;
28
+ - 新增行为或行为变化型 bug 修复:使用 `fec-tdd-workflow`;
29
+ - 原因未知的构建、运行时、UI 或 API 故障:使用 `fec-debug-framework`;
30
+ - 已知的 lint/typecheck/test/build 失败修复:使用 `fec-validation-fix`;
31
+ - 改动合并就绪性、指定文件或目录、全项目代码审核:使用 `fec-code-review`;未限定时默认全项目,明确改动 / PR / 提交上下文时增量审核;明确指定范围时包括未改动代码,全项目审核按模块记录覆盖情况;
32
+ - 框架、依赖、状态库迁移或大范围架构替换:进入对应 migration/architecture 工作流,而不是当作普通重构。
33
+
34
+ ## 知识范围
35
+
36
+ 本子系统覆盖:
37
+
38
+ - 第 3 章的 24 种代码坏味道;
39
+ - 第 6~12 章的 61 个标准重构手法;
40
+ - 坏味道到候选手法的多对多关系;
41
+ - 手法的前置条件、组合关系、风险和行为保持检查;
42
+ - TypeScript、React、Vue、现代函数式/组合式前端的项目原生适配。
43
+
44
+ 查看 [61 项重构目录](catalog.md) 与 [坏味道—重构矩阵](smell-refactoring-matrix.md)。
45
+
46
+ ## 来源与内容转换原则
47
+
48
+ 知识基线来自用户提供的《重构:改善既有代码的设计(第 2 版)》JavaScript 版 Markdown/PDF,尤其是第 2~12 章、重构列表以及坏味道与重构手法速查材料。frontend-craft 保留标准术语、目录完整性和来源支持的关系,但不会复制长段正文或完整案例。
49
+
50
+ `Frontend-Craft 前端适配`、AI Agent 风险门禁、差异预算、报告格式、React/Vue/TypeScript 示例等属于本项目重新编写的工程增强,用于把经典重构思想转换为可执行的前端智能体工作流。
@@ -0,0 +1,105 @@
1
+ # 61 项标准重构目录
2
+
3
+ 本表用于快速导航。详细动机、前置条件、操作步骤、行为保持检查和前端适配请打开对应中文 Reference。
4
+
5
+ ## 函数组织(第 6 章) — 11 项
6
+
7
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
8
+ | --- | --- | --- | --- |
9
+ | `RF-EXTRACT-FUNCTION` | 提炼函数 | Extract Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
10
+ | `RF-INLINE-FUNCTION` | 内联函数 | Inline Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
11
+ | `RF-EXTRACT-VARIABLE` | 提炼变量 | Extract Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
12
+ | `RF-INLINE-VARIABLE` | 内联变量 | Inline Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
13
+ | `RF-CHANGE-FUNCTION-DECLARATION` | 改变函数声明 | Change Function Declaration | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
14
+ | `RF-ENCAPSULATE-VARIABLE` | 封装变量 | Encapsulate Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
15
+ | `RF-RENAME-VARIABLE` | 变量改名 | Rename Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
16
+ | `RF-INTRODUCE-PARAMETER-OBJECT` | 引入参数对象 | Introduce Parameter Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
17
+ | `RF-COMBINE-FUNCTIONS-INTO-CLASS` | 函数组合成类 | Combine Functions into Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
18
+ | `RF-COMBINE-FUNCTIONS-INTO-TRANSFORM` | 函数组合成变换 | Combine Functions into Transform | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
19
+ | `RF-SPLIT-PHASE` | 拆分阶段 | Split Phase | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
20
+
21
+ ## 封装(第 7 章) — 9 项
22
+
23
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
24
+ | --- | --- | --- | --- |
25
+ | `RF-ENCAPSULATE-RECORD` | 封装记录 | Encapsulate Record | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
26
+ | `RF-ENCAPSULATE-COLLECTION` | 封装集合 | Encapsulate Collection | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
27
+ | `RF-REPLACE-PRIMITIVE-WITH-OBJECT` | 以对象取代基本类型 | Replace Primitive with Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
28
+ | `RF-REPLACE-TEMP-WITH-QUERY` | 以查询取代临时变量 | Replace Temp with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
29
+ | `RF-EXTRACT-CLASS` | 提炼类 | Extract Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
30
+ | `RF-INLINE-CLASS` | 内联类 | Inline Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
31
+ | `RF-HIDE-DELEGATE` | 隐藏委托关系 | Hide Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
32
+ | `RF-REMOVE-MIDDLE-MAN` | 移除中间人 | Remove Middle Man | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
33
+ | `RF-SUBSTITUTE-ALGORITHM` | 替换算法 | Substitute Algorithm | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
34
+
35
+ ## 搬移特性(第 8 章) — 9 项
36
+
37
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
38
+ | --- | --- | --- | --- |
39
+ | `RF-MOVE-FUNCTION` | 搬移函数 | Move Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
40
+ | `RF-MOVE-FIELD` | 搬移字段 | Move Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
41
+ | `RF-MOVE-STATEMENTS-INTO-FUNCTION` | 搬移语句到函数 | Move Statements into Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
42
+ | `RF-MOVE-STATEMENTS-TO-CALLERS` | 搬移语句到调用者 | Move Statements to Callers | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
43
+ | `RF-REPLACE-INLINE-CODE-WITH-FUNCTION-CALL` | 以函数调用取代内联代码 | Replace Inline Code with Function Call | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
44
+ | `RF-SLIDE-STATEMENTS` | 移动语句 | Slide Statements | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
45
+ | `RF-SPLIT-LOOP` | 拆分循环 | Split Loop | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
46
+ | `RF-REPLACE-LOOP-WITH-PIPELINE` | 以管道取代循环 | Replace Loop with Pipeline | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
47
+ | `RF-REMOVE-DEAD-CODE` | 移除死代码 | Remove Dead Code | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
48
+
49
+ ## 重新组织数据(第 9 章) — 5 项
50
+
51
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
52
+ | --- | --- | --- | --- |
53
+ | `RF-SPLIT-VARIABLE` | 拆分变量 | Split Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
54
+ | `RF-RENAME-FIELD` | 字段改名 | Rename Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
55
+ | `RF-REPLACE-DERIVED-VARIABLE-WITH-QUERY` | 以查询取代派生变量 | Replace Derived Variable with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
56
+ | `RF-CHANGE-REFERENCE-TO-VALUE` | 将引用对象改为值对象 | Change Reference to Value | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
57
+ | `RF-CHANGE-VALUE-TO-REFERENCE` | 将值对象改为引用对象 | Change Value to Reference | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
58
+
59
+ ## 简化条件逻辑(第 10 章) — 6 项
60
+
61
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
62
+ | --- | --- | --- | --- |
63
+ | `RF-DECOMPOSE-CONDITIONAL` | 分解条件表达式 | Decompose Conditional | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
64
+ | `RF-CONSOLIDATE-CONDITIONAL-EXPRESSION` | 合并条件表达式 | Consolidate Conditional Expression | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
65
+ | `RF-REPLACE-NESTED-CONDITIONAL-WITH-GUARD-CLAUSES` | 以卫语句取代嵌套条件表达式 | Replace Nested Conditional with Guard Clauses | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
66
+ | `RF-REPLACE-CONDITIONAL-WITH-POLYMORPHISM` | 以多态取代条件表达式 | Replace Conditional with Polymorphism | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
67
+ | `RF-INTRODUCE-SPECIAL-CASE` | 引入特例 | Introduce Special Case | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
68
+ | `RF-INTRODUCE-ASSERTION` | 引入断言 | Introduce Assertion | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
69
+
70
+ ## 重构 API(第 11 章) — 10 项
71
+
72
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
73
+ | --- | --- | --- | --- |
74
+ | `RF-SEPARATE-QUERY-FROM-MODIFIER` | 将查询函数和修改函数分离 | Separate Query from Modifier | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
75
+ | `RF-PARAMETERIZE-FUNCTION` | 函数参数化 | Parameterize Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
76
+ | `RF-REMOVE-FLAG-ARGUMENT` | 移除标记参数 | Remove Flag Argument | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
77
+ | `RF-PRESERVE-WHOLE-OBJECT` | 保持对象完整 | Preserve Whole Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
78
+ | `RF-REPLACE-PARAMETER-WITH-QUERY` | 以查询取代参数 | Replace Parameter with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
79
+ | `RF-REPLACE-QUERY-WITH-PARAMETER` | 以参数取代查询 | Replace Query with Parameter | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
80
+ | `RF-REMOVE-SETTING-METHOD` | 移除设值函数 | Remove Setting Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
81
+ | `RF-REPLACE-CONSTRUCTOR-WITH-FACTORY-FUNCTION` | 以工厂函数取代构造函数 | Replace Constructor with Factory Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
82
+ | `RF-REPLACE-FUNCTION-WITH-COMMAND` | 以命令取代函数 | Replace Function with Command | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
83
+ | `RF-REPLACE-COMMAND-WITH-FUNCTION` | 以函数取代命令 | Replace Command with Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
84
+
85
+ ## 处理继承关系(第 12 章) — 11 项
86
+
87
+ | ID | 中文标准名 | 英文标准名 | 详细知识 |
88
+ | --- | --- | --- | --- |
89
+ | `RF-PULL-UP-METHOD` | 函数上移 | Pull Up Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
90
+ | `RF-PULL-UP-FIELD` | 字段上移 | Pull Up Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
91
+ | `RF-PULL-UP-CONSTRUCTOR-BODY` | 构造函数本体上移 | Pull Up Constructor Body | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
92
+ | `RF-PUSH-DOWN-METHOD` | 函数下移 | Push Down Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
93
+ | `RF-PUSH-DOWN-FIELD` | 字段下移 | Push Down Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
94
+ | `RF-REPLACE-TYPE-CODE-WITH-SUBCLASSES` | 以子类取代类型码 | Replace Type Code with Subclasses | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
95
+ | `RF-REMOVE-SUBCLASS` | 移除子类 | Remove Subclass | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
96
+ | `RF-EXTRACT-SUPERCLASS` | 提炼超类 | Extract Superclass | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
97
+ | `RF-COLLAPSE-HIERARCHY` | 折叠继承体系 | Collapse Hierarchy | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
98
+ | `RF-REPLACE-SUBCLASS-WITH-DELEGATE` | 以委托取代子类 | Replace Subclass with Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
99
+ | `RF-REPLACE-SUPERCLASS-WITH-DELEGATE` | 以委托取代超类 | Replace Superclass with Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
100
+
101
+ ## 完整性
102
+
103
+ - 总计:**61** 项。
104
+ - 分组数量:`11 / 9 / 9 / 5 / 6 / 10 / 11`。
105
+ - `RF-REMOVE-DEAD-CODE` 保留在目录中保证知识完整,但实际死代码发现与删除路由到 `fec-refactor-clean`。