@bovinphang/frontend-craft 2.9.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 (579) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +403 -378
  4. package/CHANGELOG.zh-CN.md +402 -377
  5. package/CONTRIBUTING.md +381 -371
  6. package/CONTRIBUTING.zh-CN.md +383 -371
  7. package/README.md +605 -545
  8. package/README.openclaw.md +395 -359
  9. package/README.openclaw.zh-CN.md +395 -359
  10. package/README.zh-CN.md +605 -545
  11. package/agents/fec-typescript-reviewer.md +1 -1
  12. package/common-content.lock.json +3795 -0
  13. package/dist/bin/frontend-craft.js +353 -174
  14. package/docs/common-migration.md +61 -0
  15. package/docs/example-prompts.md +157 -157
  16. package/docs/ja-JP/README.md +588 -534
  17. package/docs/ko-KR/README.md +588 -534
  18. package/docs/project-structure.md +166 -151
  19. package/docs/review-and-diagram-workflows.md +5 -5
  20. package/docs/runtimes/antigravity.md +18 -18
  21. package/docs/runtimes/augment.md +18 -18
  22. package/docs/runtimes/claude.md +193 -191
  23. package/docs/runtimes/claude.zh-CN.md +191 -189
  24. package/docs/runtimes/cline.md +18 -18
  25. package/docs/runtimes/codebuddy.md +18 -18
  26. package/docs/runtimes/codex.md +18 -18
  27. package/docs/runtimes/compatibility.md +42 -27
  28. package/docs/runtimes/copilot.md +18 -18
  29. package/docs/runtimes/cursor.md +18 -18
  30. package/docs/runtimes/gemini.md +18 -18
  31. package/docs/runtimes/kilo.md +18 -18
  32. package/docs/runtimes/openclaw.md +18 -18
  33. package/docs/runtimes/opencode.md +18 -18
  34. package/docs/runtimes/qoder.md +18 -18
  35. package/docs/runtimes/trae.md +18 -18
  36. package/docs/runtimes/windsurf.md +18 -18
  37. package/docs/zh-CN/common-migration.md +57 -0
  38. package/docs/zh-CN/example-prompts.md +157 -157
  39. package/docs/zh-CN/project-structure.md +166 -148
  40. package/docs/zh-CN/review-and-diagram-workflows.md +5 -5
  41. package/docs/zh-TW/README.md +588 -534
  42. package/localized/zh-CN/agents/fec-typescript-reviewer.md +1 -1
  43. package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
  44. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  45. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  46. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  47. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  48. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  49. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  50. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  51. package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  52. package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
  53. package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
  54. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  55. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  56. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  57. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  58. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  59. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  60. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  61. package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  62. package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
  63. package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
  64. package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
  65. package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
  66. package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
  67. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  68. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  69. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  70. package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
  71. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  72. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  73. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  74. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  75. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  76. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  77. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  78. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  79. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  80. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  81. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  82. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  83. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  84. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  85. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  86. package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  87. package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
  88. package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
  89. package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
  90. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  91. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  92. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  93. package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  94. package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
  95. package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
  96. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  97. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  98. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  99. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  100. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  101. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  102. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  103. package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  104. package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
  105. package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
  106. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
  107. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  108. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  109. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  110. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  111. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  112. package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  113. package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
  114. package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
  115. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  116. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  117. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  118. package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  119. package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
  120. package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
  121. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  122. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  123. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  124. package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  125. package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
  126. package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
  127. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  128. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  129. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  130. package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
  131. package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
  132. package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
  133. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  134. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  135. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  136. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  137. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  138. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  139. package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  140. package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
  141. package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
  142. package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
  143. package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
  144. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  145. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  146. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  147. package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
  148. package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
  149. package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
  150. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  151. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  152. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  153. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  154. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  155. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  156. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  157. package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  158. package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
  159. package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
  160. package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
  161. package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
  162. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  163. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  164. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  165. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  166. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  167. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  168. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  169. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  170. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  171. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  172. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  173. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  174. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  175. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  176. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  177. package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  178. package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
  179. package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
  180. package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
  181. package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
  182. package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
  183. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  184. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  185. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
  186. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
  187. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
  188. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
  189. package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  190. package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
  191. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  192. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  193. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  194. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
  195. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  196. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  197. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  198. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  199. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  200. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  201. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  202. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  203. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  204. package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  205. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
  206. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
  207. package/localized/zh-CN/skills/eval_queries.json +741 -319
  208. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
  209. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  210. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  211. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  212. package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
  213. package/localized/zh-CN/skills/fec-code-review/SKILL.md +4 -0
  214. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  215. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  216. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  217. package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
  218. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
  219. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  220. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  221. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  222. package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  223. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
  224. package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
  225. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
  226. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  227. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  228. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  229. package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  230. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
  231. package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  232. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -101
  233. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
  234. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
  235. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
  236. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  237. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  238. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  239. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  240. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  241. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  242. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  243. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  244. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  245. package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  246. package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  247. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  248. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  249. package/localized/zh-CN/skills/fec-refactoring/SKILL.md +12 -70
  250. package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
  251. package/localized/zh-CN/skills/fec-refactoring/references/principles.md +9 -39
  252. package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +4 -56
  253. package/localized/zh-CN/skills/fec-security-review/SKILL.md +4 -0
  254. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  255. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  256. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  257. package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
  258. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -43
  259. package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  260. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
  261. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  262. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  263. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  264. package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  265. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
  266. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  267. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  268. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  269. package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  270. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  271. package/localized/zh-CN/skills/metadata.json +2246 -1008
  272. package/localized/zh-CN/skills/relations.json +501 -372
  273. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
  274. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
  275. package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
  276. package/openclaw.plugin.json +1 -1
  277. package/package.json +11 -4
  278. package/skills/cc-c-project-standard/SKILL.md +25 -0
  279. package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  280. package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  281. package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  282. package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  283. package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  284. package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  285. package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  286. package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  287. package/skills/cc-c-project-standard/references/practice.md +37 -0
  288. package/skills/cc-cpp-project-standard/SKILL.md +25 -0
  289. package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  290. package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  291. package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  292. package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  293. package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  294. package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  295. package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  296. package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  297. package/skills/cc-cpp-project-standard/references/practice.md +37 -0
  298. package/skills/cc-debug-methodology/SKILL.md +8 -0
  299. package/skills/cc-debug-methodology/references/method.md +13 -0
  300. package/skills/cc-doc-sync-core/SKILL.md +8 -0
  301. package/skills/cc-doc-sync-core/references/method.md +12 -0
  302. package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  303. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  304. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  305. package/skills/cc-electron-project-standard/SKILL.md +21 -0
  306. package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  307. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  308. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  309. package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  310. package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  311. package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  312. package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  313. package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  314. package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  315. package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  316. package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  317. package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  318. package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  319. package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  320. package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  321. package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  322. package/skills/cc-electron-project-standard/references/practice.md +19 -0
  323. package/skills/cc-electron-project-standard/references/verification.md +17 -0
  324. package/skills/cc-go-concurrency/SKILL.md +25 -0
  325. package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  326. package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  327. package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  328. package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  329. package/skills/cc-go-concurrency/references/practice.md +37 -0
  330. package/skills/cc-go-project-standard/SKILL.md +25 -0
  331. package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  332. package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  333. package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  334. package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  335. package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  336. package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  337. package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  338. package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  339. package/skills/cc-go-project-standard/references/practice.md +37 -0
  340. package/skills/cc-java-project-standard/SKILL.md +25 -0
  341. package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
  342. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  343. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  344. package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  345. package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  346. package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  347. package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  348. package/skills/cc-java-project-standard/references/practice.md +35 -0
  349. package/skills/cc-java-runtime/SKILL.md +25 -0
  350. package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  351. package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  352. package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  353. package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  354. package/skills/cc-java-runtime/references/practice.md +37 -0
  355. package/skills/cc-native-memory-safety/SKILL.md +25 -0
  356. package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  357. package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  358. package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  359. package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  360. package/skills/cc-native-memory-safety/references/practice.md +37 -0
  361. package/skills/cc-python-async/SKILL.md +25 -0
  362. package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  363. package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  364. package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  365. package/skills/cc-python-async/references/engineering-practices.md +73 -0
  366. package/skills/cc-python-async/references/practice.md +37 -0
  367. package/skills/cc-python-project-standard/SKILL.md +25 -0
  368. package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  369. package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  370. package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  371. package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  372. package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  373. package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  374. package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  375. package/skills/cc-python-project-standard/references/practice.md +37 -0
  376. package/skills/cc-refactoring-core/SKILL.md +8 -0
  377. package/skills/cc-refactoring-core/references/method.md +16 -0
  378. package/skills/cc-rust-async/SKILL.md +25 -0
  379. package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  380. package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  381. package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  382. package/skills/cc-rust-async/references/engineering-practices.md +73 -0
  383. package/skills/cc-rust-async/references/practice.md +37 -0
  384. package/skills/cc-rust-project-standard/SKILL.md +25 -0
  385. package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  386. package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  387. package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  388. package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  389. package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  390. package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  391. package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  392. package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  393. package/skills/cc-rust-project-standard/references/practice.md +37 -0
  394. package/skills/cc-source-driven-development/SKILL.md +8 -0
  395. package/skills/cc-source-driven-development/references/method.md +19 -0
  396. package/skills/cc-tauri-project-standard/SKILL.md +21 -0
  397. package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  398. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  399. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  400. package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  401. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  402. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  403. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  404. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  405. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  406. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  407. package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  408. package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  409. package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  410. package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  411. package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  412. package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  413. package/skills/cc-tauri-project-standard/references/practice.md +20 -0
  414. package/skills/cc-tauri-project-standard/references/verification.md +18 -0
  415. package/skills/cc-tdd-methodology/SKILL.md +8 -0
  416. package/skills/cc-tdd-methodology/references/method.md +13 -0
  417. package/skills/cc-technical-diagrams/SKILL.md +34 -0
  418. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  419. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/README.md +5 -5
  420. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
  421. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
  422. package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
  423. package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
  424. package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  425. package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
  426. package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  427. package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  428. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  429. package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
  430. package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  431. package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  432. package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  433. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  434. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  435. package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  436. package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  437. package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  438. package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  439. package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  440. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
  441. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
  442. package/skills/eval_queries.json +741 -319
  443. package/skills/fec-api-integration/SKILL.md +5 -1
  444. package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  445. package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  446. package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  447. package/skills/fec-api-integration/references/engineering-practices.md +73 -0
  448. package/skills/fec-code-review/SKILL.md +4 -0
  449. package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  450. package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  451. package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  452. package/skills/fec-code-review/references/engineering-practices.md +73 -0
  453. package/skills/fec-data-fetching/SKILL.md +4 -0
  454. package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  455. package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  456. package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  457. package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  458. package/skills/fec-debug-framework/SKILL.md +2 -51
  459. package/skills/fec-debug-framework/references/common/debug.md +13 -0
  460. package/skills/fec-dependency-upgrade/SKILL.md +4 -0
  461. package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  462. package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  463. package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  464. package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  465. package/skills/fec-doc-sync/SKILL.md +7 -28
  466. package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  467. package/skills/fec-image-generation/SKILL.md +7 -102
  468. package/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
  469. package/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
  470. package/skills/fec-react-project-standard/SKILL.md +6 -0
  471. package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  472. package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  473. package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  474. package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  475. package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  476. package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  477. package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  478. package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  479. package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  480. package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  481. package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  482. package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  483. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  484. package/skills/fec-refactoring/SKILL.md +12 -70
  485. package/skills/fec-refactoring/references/common/refactoring.md +16 -0
  486. package/skills/fec-refactoring/references/principles.md +9 -56
  487. package/skills/fec-refactoring/references/workflow.md +4 -87
  488. package/skills/fec-security-review/SKILL.md +4 -0
  489. package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  490. package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  491. package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  492. package/skills/fec-security-review/references/engineering-practices.md +73 -0
  493. package/skills/fec-tdd-workflow/SKILL.md +13 -45
  494. package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  495. package/skills/fec-testing-strategy/SKILL.md +4 -0
  496. package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  497. package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  498. package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  499. package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  500. package/skills/fec-vue3-project-standard/SKILL.md +4 -0
  501. package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  502. package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  503. package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  504. package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  505. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  506. package/skills/metadata.json +2246 -1008
  507. package/skills/relations.json +501 -372
  508. package/templates/shared/rules/fec-source-driven-development.md +3 -29
  509. package/templates/shared/rules/fec-typescript.md +4 -4
  510. package/templates/shared/rules/references/common/source-driven-development.md +19 -0
  511. package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/README.md +0 -14
  512. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
  513. package/skills/fec-source-driven-development/SKILL.md +0 -87
  514. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  515. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  516. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  517. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  518. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  519. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  520. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  521. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  522. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  523. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  524. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  525. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  526. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  527. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  528. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  529. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  530. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  531. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  532. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  533. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  534. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  535. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  536. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  537. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  538. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  539. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
  540. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
  541. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
  542. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
  543. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
  544. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  545. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
  546. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
  547. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  548. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  549. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  550. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  551. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  552. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  553. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  554. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  555. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  556. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  557. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  558. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  559. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  560. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  561. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  562. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  563. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  564. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  565. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  566. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  567. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  568. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  569. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  570. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  571. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  572. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
  573. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
  574. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
  575. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
  576. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
  577. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  578. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
  579. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
package/README.md CHANGED
@@ -1,545 +1,605 @@
1
- <div align="center">
2
-
3
- <img src="assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
4
-
5
- # frontend-craft
6
-
7
- ### One toolkit. Every AI coding assistant. Production-grade frontend standards.
8
-
9
- [![Stars](https://img.shields.io/github/stars/bovinphang/frontend-craft?style=flat)](https://github.com/bovinphang/frontend-craft/stargazers)
10
- [![CI](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml/badge.svg)](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
11
- [![npm version](https://img.shields.io/npm/v/@bovinphang/frontend-craft)](https://www.npmjs.com/package/@bovinphang/frontend-craft)
12
- [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
13
- ![Node](https://img.shields.io/badge/Node.js-22+-5FA04E?logo=node.js&logoColor=white)
14
- ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
15
- ![React](https://img.shields.io/badge/-React-61DAFB?logo=react&logoColor=black)
16
- ![Vue](https://img.shields.io/badge/-Vue-4FC08D?logo=vue.js&logoColor=white)
17
- ![Figma](https://img.shields.io/badge/-Figma-F24E1E?logo=figma&logoColor=white)
18
-
19
- **🌐 Language / 语言 / 語言 / 言語 / 언어**
20
-
21
- [**English**](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](docs/zh-TW/README.md) · [日本語](docs/ja-JP/README.md) · [한국어](docs/ko-KR/README.md)
22
-
23
- </div>
24
-
25
-
26
- [Runtime compatibility and upgrade notes](docs/runtimes/compatibility.md)
27
-
28
- ---
29
-
30
- `frontend-craft` is a **universal frontend plugin** that brings the same opinionated engineering standards to all **15 AI coding assistants** listed below:
31
-
32
- `claude` `codex` `cursor` `windsurf` `opencode`
33
- `kilo` `gemini` `copilot` `antigravity` `augment`
34
- `trae` `codebuddy` `cline` `openclaw` `qoder`
35
-
36
- Per-runtime paths and caveats live in [`docs/runtimes/`](docs/runtimes/).
37
-
38
- It bundles **14 specialized agents**, **56 auto-activated skills**, **11 slash commands**, **5 event-driven hooks**, **MCP integrations** for 6 design-tool endpoints, and a complete **rules library** into a single installable package. Run one command, and every AI session on your team writes React, Vue, Next.js, or Nuxt the same way — typed, accessible, secure, and consistent.
39
-
40
- ---
41
-
42
- ## Why frontend-craft?
43
-
44
- | Problem | What frontend-craft does |
45
- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
46
- | AI assistants write inconsistent, untyped, or insecure frontend code | **56 skills** encode team standards — auto-activated when the assistant touches matching files |
47
- | Each AI tool has its own plugin format | **One CLI** installs the same rules, agents, and hooks into 15 runtimes |
48
- | Design-to-code handoff is lossy | **MCP integrations** bring in richer context from Figma, Figma Desktop, Sketch, MasterGo, Pixso, and 墨刀 |
49
- | Reviews are ad-hoc and shallow | **14 agents** produce graded reports: code, security, a11y, performance, TS, UI fidelity |
50
- | No one remembers to run lint/tests | **Event-driven hooks** validate on save and session end — automatically |
51
- | New projects start from scratch every time | **`/fec-init`** scaffolds CLAUDE.md, rules, and settings in seconds |
52
-
53
- ---
54
-
55
- ## Install
56
-
57
- Requires **Node.js 22+**. Works on **Windows, macOS, and Linux**.
58
-
59
- ### Option 1 - Install the fec CLI globally (recommended)
60
-
61
- ```bash
62
- # 1. Install the fec command globally
63
- npm install -g @bovinphang/frontend-craft@latest
64
-
65
- # 2. Go to your frontend project
66
- cd your-project
67
-
68
- # 3. Choose the AI runtime(s) interactively
69
- fec setup
70
-
71
- # 4. Connect the current project
72
- fec setup codex
73
- fec setup claude
74
- fec setup all
75
-
76
- # 5. Connect globally, available across all projects
77
- fec setup codex --global
78
- fec setup claude --global
79
- fec setup all --global
80
-
81
- # 6. Preview / query
82
- fec install --all --dry-run --global
83
- fec list
84
- ```
85
-
86
- `npm install -g` only installs the `fec` terminal command. `fec setup` is the terminal CLI command for connecting frontend-craft to a project; it is not the in-assistant `/fec-init` slash command. In an interactive terminal, running only `fec setup` asks you to choose runtimes. `fec setup <runtime>` and `fec setup all` connect frontend-craft to the current project by default. Only pass `--global` when you want to connect frontend-craft to the selected AI tool's global config directory so it is available across projects.
87
-
88
- ### Option 2 — Temporary npx run (no global fec command)
89
-
90
- ```bash
91
- # 1. Interactive wizard
92
- npx @bovinphang/frontend-craft@latest
93
-
94
- # 2. Connect the current project
95
- npx @bovinphang/frontend-craft@latest install --local codex
96
- npx @bovinphang/frontend-craft@latest install --local claude
97
- npx @bovinphang/frontend-craft@latest install --all --local
98
-
99
- # 3. Connect globally, available across all projects
100
- npx @bovinphang/frontend-craft@latest install --global codex
101
- npx @bovinphang/frontend-craft@latest install --global claude
102
- npx @bovinphang/frontend-craft@latest install --all --global
103
-
104
- # 4. Preview / query
105
- npx @bovinphang/frontend-craft@latest install --all --dry-run --global
106
- npx @bovinphang/frontend-craft@latest list
107
- ```
108
-
109
- Use `npx` when you do not want to install a global `fec` command. Without arguments, it opens the interactive wizard: choose one or more runtimes, then choose whether to connect globally or into the current project. For scripted all-runtime installs, use `install --all --local` or `install --all --global`; do not write `install all`. For CI / scripts, always pass `--global` / `-g` or `--local` / `-l`; in non-TTY environments without an explicit location, the CLI defaults to `claude --global`.
110
-
111
- ### Option 3 — Claude Code Marketplace
112
-
113
- For Claude Code users, **Claude Code Marketplace** is the preferred single-source install. Use the CLI for Claude only when you need cross-runtime installs, scripted/offline file copies, or non-Marketplace environments.
114
-
115
- If Marketplace is already installed, the CLI will not install or update a second Claude copy, even with `--force`; update through Claude Code Marketplace instead. If a CLI-managed Claude install already exists in the other scope, interactive terminals ask whether to keep that source updated or uninstall it before switching. Non-interactive terminals stop and print the exact `update`, `uninstall`, and `install` commands to run.
116
-
117
- Full Claude-specific steps are in [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md).
118
-
119
- ---
120
-
121
- ## Quick start
122
-
123
- Once installed, you have a full frontend engineering toolkit available in every AI session:
124
-
125
- ```text
126
- You: "Review my recent changes"
127
- → The fec-code-reviewer agent is dispatched, produces reports/code-review-*.md
128
-
129
- You: "/fec-review"
130
- → Runs a structured review across architecture, types, rendering, styles, a11y
131
-
132
- You: "Implement the checkout page from this Figma link"
133
- → The fec-figma-implementer agent reads the design via MCP, emits components and a report
134
-
135
- You: "/fec-scaffold dashboard feature"
136
- → Creates a page / feature / component directory tree following project conventions
137
-
138
- You: "/fec-refactor-clean"
139
- → Classifies and safely removes dead code, unused exports, styles, and deps
140
-
141
- You: "/fec-refactor src/features/compose"
142
- → Diagnoses structural smells, builds a small-step plan, refactors one behavior-preserving step at a time, and validates every step
143
- ```
144
-
145
- All slash commands below are shown for **Claude Code**; other runtimes expose the same capabilities through their own command systems (see [`docs/runtimes/`](docs/runtimes/)).
146
-
147
- ---
148
-
149
- ## Example prompts
150
-
151
- For a complete scenario-based prompt library, see [docs/example-prompts.md](docs/example-prompts.md).
152
-
153
- ```text
154
- You: "Review my recent changes before merge. Focus on architecture, type safety, rendering behavior, styles, accessibility, and missing tests."
155
- You: "Before coding, plan the account billing feature: route structure, component boundaries, data flow, state ownership, validation flow, and rollout risks."
156
- You: "Build a multi-step registration form; choose the right form and schema validation approach for this project, with file upload, conditional fields, async validation, and accessible errors."
157
- You: "Implement the UI from Figma node 123:456. Use existing design tokens and components, match spacing and responsive states, and document assumptions."
158
- You: "`/fec-refactor-clean` Clean up dead code in this module."
159
- You: "`/fec-smell` Diagnose structural smells in this module without editing."
160
- You: "`/fec-refactor-plan` Build a behavior-preserving small-step refactoring plan."
161
- You: "`/fec-refactor` Refactor this module without changing observable behavior."
162
- ```
163
-
164
- ---
165
-
166
- ## What’s inside
167
-
168
- ### Commands
169
-
170
- Slash commands are the primary entry points for structured workflows. Most produce a timestamped Markdown report under `reports/`.
171
-
172
- | Command | Purpose | Report |
173
- | --------------------- | ---------------------------------------------------------------------- | ------------------------------------------------ |
174
- | `/fec-init` | Initialize project templates (CLAUDE.md, rules, settings) | — |
175
- | `/fec-review` | Review the full project by default; explicit file/directory or change scope | `code-review-*.md` |
176
- | `/fec-scaffold` | Create page / feature / component boilerplate by convention | — |
177
- | `/fec-plan` | Unified planning: implementation architecture or test strategy | `architecture-proposal-*.md` or `test-plan-*.md` |
178
- | `/fec-tdd` | Red → green → refactor loop for frontend TDD | — |
179
- | `/fec-debug` | Diagnose and fix frontend issues: build, runtime, UI, and API failures | `debug-*.md` |
180
- | `/fec-refactor-clean` | Classify and safely remove dead code, unused exports, styles, and deps | `refactor-clean-*.md` |
181
- | `/fec-smell` | Diagnose code smells with evidence; do not edit business code | `refactoring/smell-*.md` |
182
- | `/fec-refactor-plan` | Build an ordered behavior-preserving refactoring plan | `refactoring/plan-*.md` |
183
- | `/fec-refactor` | Execute one validated behavior-preserving refactoring step at a time | `refactoring/refactoring-*.md` |
184
- | `/fec-doc-sync` | Sync READMEs, docs, env notes, scripts, API/route notes, and deploy docs | — |
185
-
186
- ### Review scope
187
-
188
- `/fec-review`, the code/TypeScript/security review agents, and their review skills use three modes:
189
-
190
- - **Change review:** explicitly request recent/current/staged changes, a PR or a commit, or use an established change context. With no changes, report that there is nothing to review; do not automatically review recent commits.
191
- - **Targeted review:** specify a file or directory to review existing code, including unchanged code, without requiring a Git diff.
192
- - **Project review (default):** with no scope or change context, or when the entire project is requested, inventory project-owned frontend code, related tests, configuration and dependency declarations, then review by module.
193
-
194
- A file/directory request reviews its full contents; add "recent changes" to review only its diff. Bare `/fec-review` reviews the project even when changes exist. State mode and scope before review. Automatic review after edits must pass the current change scope explicitly.
195
-
196
- Examples: `/fec-review`,`/fec-review review recent changes`, `/fec-review review src/components/Button.tsx`, `/fec-review review src/features/`, and `/fec-review review the entire project`. These are natural-language instructions, not CLI flags. Explicit scope takes precedence over the default.
197
-
198
- Dependency directories, build outputs, caches, generated files and third-party code are excluded by default. Reports record the mode, target scope, reviewed and unreviewed files/modules, exclusions, completion status and verification results. Limited coverage is marked partial; reading callers or running project-wide lint/typecheck does not establish manual review coverage. Change reviews retain merge recommendations; targeted/project reviews assess risk within reviewed scope. The frontend review does not replace a backend audit, and reviewers do not edit business code unless repairs are requested.
199
-
200
- ### Skills (auto-activated)
201
-
202
- Skills are workflow definitions that activate automatically based on file patterns, frameworks, or task context. They encode review dimensions, output conventions, and report formats.
203
-
204
- The skills below are grouped by use case so you can quickly find project standards, implementation, testing, review, design, migration, project evolution, and documentation workflows.
205
-
206
- **Project standards** — conventions enforced whenever matching frameworks are detected:
207
-
208
- | Skill | Scope |
209
- | ------------------------------- | --------------------------------------------------------------------- |
210
- | `fec-react-project-standard` | React + TypeScript (structure, components, routing, state, API layer) |
211
- | `fec-vue3-project-standard` | Vue 3 + TypeScript (structure, components, routing, Pinia, API layer) |
212
- | `fec-nextjs-project-standard` | Next.js 14+ App Router, SSR/SSG, streaming, metadata |
213
- | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, data fetching, middleware |
214
- | `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization |
215
- | `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
216
- | `fec-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, generics |
217
-
218
- **Implementation capabilities** — activated when building specific frontend behavior:
219
-
220
- | Skill | Scope |
221
- | ------------------------- | ------------------------------------------------------------------------- |
222
- | `fec-data-fetching` | Server-state fetching, caching, invalidation, SSR, infinite loading |
223
- | `fec-api-integration` | Typed API clients, auth refresh, uploads, realtime integration |
224
- | `fec-state-management` | State ownership, store selection, URL state, server/form/local boundaries |
225
- | `fec-form-handling` | Framework-aware forms, schema validation, dynamic fields, uploads |
226
- | `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies selection |
227
- | `fec-route-protection` | Auth and permission routes for React Router, Next.js, Vue Router, Nuxt |
228
- | `fec-pwa-implementation` | Manifest, service worker, offline cache, install prompts |
229
- | `fec-web-workers` | Web Worker integration, transferables, Comlink, worker pools |
230
- | `fec-canvas-threejs` | Canvas 2D, Three.js, React Three Fiber, WebGL |
231
- | `fec-svg-animation` | CSS / Framer Motion / GSAP SVG animation with reduced-motion |
232
- | `fec-list-virtualization` | Framework-aware list virtualization, measurement, grids, infinite scroll |
233
-
234
- **Testing** — activated when planning or authoring frontend test coverage:
235
-
236
- | Skill | Scope |
237
- | ----------------------- | ------------------------------------------------------------------------ |
238
- | `fec-testing-strategy` | Layer selection across static, unit, component, integration, E2E, visual |
239
- | `fec-component-testing` | React Testing Library / Vue Test Utils with regression scenarios |
240
- | `fec-e2e-testing` | Playwright / Cypress E2E with Page Object and CI integration |
241
- | `fec-tdd-workflow` | Test-first frontend implementation with red-green-refactor |
242
-
243
- **Review & quality** — activated during review, validation, or cleanup workflows:
244
-
245
- | Skill | Scope |
246
- | ------------------------------ | ----------------------------------------------------------------------------- |
247
- | `fec-code-review` | Correctness, maintainability, types, rendering, and verification review |
248
- | `fec-debug-framework` | Systematic diagnostics for build, runtime, UI, and API/data failures |
249
- | `fec-security-review` | Browser-side XSS, CSRF, token exposure, unsafe DOM, and third-party risks |
250
- | `fec-accessibility-check` | WCAG 2.2, keyboard, focus, touch, and screen-reader behavior |
251
- | `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
252
- | `fec-validation-fix` | Run and repair lint, type-check, test, build in one pass |
253
- | `fec-performance-optimization` | Core Web Vitals, bundle, rendering, memory, network, and budget reviews |
254
- | `fec-refactor-clean` | Safe dead-code, unused export, style, route, dependency cleanup |
255
-
256
- **Refactoring** — activated for evidence-based, behavior-preserving structural improvement:
257
-
258
- | Skill | Purpose |
259
- | --- | --- |
260
- | `fec-refactoring` | Orchestrate classification, baseline, safety, small-step execution, rollback, and proof |
261
- | `fec-code-smells` | Diagnose the 24 canonical code smells with evidence and false-positive checks |
262
- | `fec-refactoring-catalog` | Select and compose techniques from the complete 61-item catalog |
263
- | `fec-refactoring-functions` | Function decomposition, naming, variable, parameter-object, and phase refactorings |
264
- | `fec-refactoring-encapsulation` | Record, collection, primitive, class, delegate, and algorithm encapsulation refactorings |
265
- | `fec-refactoring-move-features` | Move functions/fields/statements, split loops, pipelines, and dead-code routing |
266
- | `fec-refactoring-data` | Variable/field and reference/value data refactorings |
267
- | `fec-refactoring-control` | Conditional decomposition, guards, polymorphic dispatch, special cases, assertions |
268
- | `fec-refactoring-api` | Query/modifier, parameter, flag, factory, command, and API-shape refactorings |
269
- | `fec-refactoring-inheritance` | Inheritance/delegation refactorings with composition-first frontend adaptations |
270
- | `fec-refactoring-validation` | Behavior-preservation contracts, coverage levels, verification ladder, proof verdicts |
271
-
272
- **Design UI** — activated for design-to-code, design systems, and visual polish:
273
-
274
- | Skill | Scope |
275
- | ----------------------------- | ----------------------------------------------------------------------------- |
276
- | `fec-ui-design` | Product-context UI direction, anti-generic design dials, media strategy, states, visual QA |
277
- | `fec-image-generation` | System blueprints, process workflows, interactive live diagrams, HTML/SVG/PNG exports, image generation/editing, visual assets, and PNG QA |
278
- | `fec-drawio-studio` | Editable draw.io / diagrams.net technical diagrams, XML/Mermaid/CSV URL handoff, shape lookup, auto-layout, code maps |
279
- | `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, and demos |
280
- | `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
281
- | `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
282
- | `fec-motion-interaction` | Context-aware motion intensity, page transitions, scroll animation, reduced motion |
283
- | `fec-implement-from-design` | Build UI from design tools, screenshots, or section-level visual references |
284
- | `fec-storybook-component-doc` | Storybook component docs, design-system presentation, isolated state previews |
285
-
286
- Technical diagram quality: `fec-image-generation` 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/fec-image-generation/assets/quality-examples/`.
287
-
288
- [Review and technical diagram guide](docs/review-and-diagram-workflows.md).
289
-
290
- **Legacy migration** — activated during modernization work:
291
-
292
- | Skill | Scope |
293
- | -------------------------------- | ---------------------------------------------------------- |
294
- | `fec-legacy-web-standard` | Standards for JS + jQuery + HTML maintenance |
295
- | `fec-legacy-to-modern-migration` | Legacy frontend modernization, target-stack selection, phased workflow |
296
-
297
- **Project evolution** — activated when absorbing reference systems into project-native improvements:
298
-
299
- | Skill | Scope |
300
- | ------------- | ---------------------------------------------------------------------- |
301
- | `fec-alchemy` | Absorb reference system ideas through original, project-native redesign |
302
-
303
- **Maintenance docs** — activated during documentation upkeep:
304
-
305
- | Skill | Scope |
306
- | ------------------------------- | -------------------------------------------------------------------------------------- |
307
- | `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
308
- | `fec-doc-sync` | Keep frontend docs in sync with code, config, scripts, routes, APIs, env, and deploy facts |
309
- | `fec-source-driven-development` | Verify version-sensitive frontend decisions against project facts and official sources |
310
-
311
- ### Agents
312
-
313
- Agents are specialized sub-agents dispatched by the main assistant to handle a focused task. Each returns a structured report.
314
-
315
- | Agent | Focus | Report |
316
- | --------------------------- | -------------------------------------------------------------------------- | ---------------------------- |
317
- | `fec-code-reviewer` | React/Vue/Next/Nuxt, TS, styles, client-side security (confidence-based) | `code-review-*.md` |
318
- | `fec-typescript-reviewer` | Type safety, async correctness, idiomatic patterns (report-only) | `typescript-review-*.md` |
319
- | `fec-security-reviewer` | XSS, client secrets, dangerous DOM/APIs, CSP, dependency audit | `security-review-*.md` |
320
- | `fec-performance-optimizer` | Bundle size, render performance, network bottlenecks | `performance-review-*.md` |
321
- | `fec-architect` | Page splitting, component architecture, state flow, directory planning | `architecture-proposal-*.md` |
322
- | `fec-test-planner` | Risk-to-layer matrix: static, unit, component, E2E, visual, a11y, security | `test-plan-*.md` |
323
- | `fec-debugger` | Complex frontend diagnostics for build, runtime, UI, and API failures | `debug-*.md` |
324
- | `fec-refactor-cleaner` | Classify and safely remove unused code, exports, styles, routes, deps | `refactor-clean-*.md` |
325
- | `fec-refactoring-expert` | Evidence-based behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
326
- | `fec-e2e-runner` | E2E authoring and runs (Playwright/Cypress), flaky quarantine, traces | `e2e-summary-*.md` |
327
- | `fec-doc-updater` | Sync README, runtime docs, structure, capability tables, metadata | — |
328
- | `fec-ui-checker` | Visual issue debugging and design fidelity evaluation | `ui-fidelity-review-*.md` |
329
- | `fec-figma-implementer` | Precise UI implementation from Figma/Sketch/MasterGo/Pixso/墨刀 designs | `design-implementation-*.md` |
330
- | `fec-design-token-mapper` | Map design variables to project Design Tokens | `token-mapping-*.md` |
331
-
332
- ### Hooks (event-driven)
333
-
334
- Hooks run automatically on AI assistant events — no invocation needed.
335
-
336
- | Event | Behavior |
337
- | ------------------------- | -------------------------------------------------------------- |
338
- | `SessionStart` | Clean Claude cache, then detect project framework and package manager |
339
- | `PreToolUse(Bash)` | Block dangerous commands (`rm -rf`, force push, etc.) |
340
- | `PostToolUse(Write/Edit)` | Auto-format modified files with Prettier |
341
- | `Stop` | Run available validation scripts once, report failures, and block only when configured |
342
- | `Notification` | Cross-platform desktop notifications (macOS / Linux / Windows) |
343
-
344
- Stop validation is advisory by default: failures are reported without blocking the session. Set `FRONTEND_CRAFT_VALIDATION_MODE=blocking` to return a failure status. The hook uses `packageManager` from `package.json` when present, otherwise a single lockfile; conflicting lockfiles default to npm.
345
-
346
- ### MCP integration
347
-
348
- Plug your AI assistant into design tools for design-to-code workflows with richer design context.
349
-
350
- | Service | Capabilities |
351
- | ----------------- | ---------------------------------------------------- |
352
- | **Figma** | Read design context and variable definitions |
353
- | **Figma Desktop** | Figma desktop client integration |
354
- | **Sketch** | Read design selection screenshots |
355
- | **MasterGo** | Read DSL structure, component hierarchy, styles |
356
- | **Pixso** | Local MCP: frame data, code snippets, image assets |
357
- | **墨刀** | Prototype data, design descriptions, HTML import |
358
- | **摹客** | Screenshot/annotation/exported-CSS workflow (no MCP) |
359
-
360
- ### Project templates (`/fec-init`)
361
-
362
- Run `/fec-init` to scaffold a ready-to-use rules library and project config into `.claude/`:
363
-
364
- <details>
365
- <summary>Click to see all 20 template files</summary>
366
-
367
- | File | Purpose |
368
- | ---------------------------------------- | --------------------------------------------------------------------- |
369
- | `CLAUDE.md` | Project description, commands, working principles, security |
370
- | `settings.json` | Permission whitelist/blacklist, environment variables |
371
- | `rules/fec-vue.md` | Vue 3 component standards and anti-patterns |
372
- | `rules/fec-react.md` | React component standards and anti-patterns |
373
- | `rules/fec-design-system.md` | Design system, tokens, accessibility |
374
- | `rules/fec-testing.md` | Testing and validation rules |
375
- | `rules/fec-git-conventions.md` | Conventional Commits |
376
- | `rules/fec-i18n.md` | Internationalization copy standards |
377
- | `rules/fec-performance.md` | Frontend performance rules |
378
- | `rules/fec-rendering-patterns.md` | Rendering lifecycle, hydration, SSR/CSR, and update patterns |
379
- | `rules/fec-responsive-design.md` | Responsive layout, breakpoints, touch targets, and viewport behavior |
380
- | `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
381
- | `rules/fec-api-layer.md` | API layer typing and error handling |
382
- | `rules/fec-state-management.md` | State classification, strategy, anti-patterns |
383
- | `rules/fec-error-handling.md` | Error layering, Error Boundary, fallback UI, reporting |
384
- | `rules/fec-naming-conventions.md` | Unified naming for files, components, variables, routes, API, CSS |
385
- | `rules/fec-code-comments.md` | When and how to write frontend comments |
386
- | `rules/fec-ci-cd.md` | CI/CD pipeline stages, GitHub Actions / GitLab CI, secrets |
387
- | `rules/fec-refactoring.md` | Refactoring constraints and feature-parity requirements |
388
- | `rules/fec-agent-workflow.md` | Agent collaboration boundaries and delegation |
389
- | `rules/fec-working-modes.md` | Research, planning, development, review, finishing modes |
390
-
391
- </details>
392
-
393
- ---
394
-
395
- ## Configuration
396
-
397
- ### Prerequisites
398
-
399
- - **Node.js 22+**
400
- - **npm, pnpm, or yarn**
401
- - **Git Bash or a compatible shell** (Windows only, when your AI runtime invokes shell-based commands)
402
-
403
- ### MCP design-tool tokens
404
-
405
- Set the environment variable for whichever design tool your team uses:
406
-
407
- | Variable | Tool | How to get |
408
- | ---------------- | --------------------- | ----------------------------------------------------- |
409
- | `FIGMA_API_KEY` | Figma / Figma Desktop | Figma account settings → Personal Access Tokens |
410
- | `SKETCH_API_KEY` | Sketch | Sketch developer settings |
411
- | `MG_MCP_TOKEN` | MasterGo | MasterGo account settings → Security → Generate Token |
412
- | `MODAO_TOKEN` | 墨刀 | 墨刀 AI feature page → access token |
413
-
414
- > **Pixso** uses a local MCP server — enable MCP in the Pixso client, no env var needed.
415
- > **摹客** has no MCP integration; works via screenshots and exported CSS.
416
-
417
- Add to your shell config for persistence:
418
-
419
- ```bash
420
- # macOS / Linux — append to ~/.bashrc or ~/.zshrc
421
- export FIGMA_API_KEY="your-figma-api-key"
422
- export SKETCH_API_KEY="your-sketch-api-key"
423
- export MG_MCP_TOKEN="your-mastergo-token"
424
- export MODAO_TOKEN="your-modao-token"
425
- ```
426
-
427
- ```powershell
428
- # Windows — set as system environment variables, or in PowerShell:
429
- $env:FIGMA_API_KEY = "your-figma-api-key"
430
- $env:SKETCH_API_KEY = "your-sketch-api-key"
431
- $env:MG_MCP_TOKEN = "your-mastergo-token"
432
- $env:MODAO_TOKEN = "your-modao-token"
433
- ```
434
-
435
- ---
436
-
437
- ## Reports
438
-
439
- Every review, analysis, and evaluation writes a timestamped Markdown report to `reports/`. These serve as an audit trail and a handoff artifact for PRs.
440
-
441
- <details>
442
- <summary>Click to see all 19 report types</summary>
443
-
444
- | Report type | Filename pattern | Produced by |
445
- | ---------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
446
- | Code review | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`, `fec-code-review`, `fec-code-reviewer` |
447
- | Debug diagnostics | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`, `fec-debug-framework`, `fec-debugger` |
448
- | TypeScript / JS review | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
449
- | Security review | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`, `fec-security-reviewer` |
450
- | Accessibility | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
451
- | Performance | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
452
- | Architecture | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
453
- | Design fidelity | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
454
- | Design implementation | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
455
- | Token mapping | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
456
- | Design plan | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
457
- | Test plan | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`, `fec-testing-strategy`, `fec-test-planner` |
458
- | Validation fix | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
459
- | Refactor clean | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`, `fec-refactor-clean`, `fec-refactor-cleaner` |
460
- | Smell diagnosis | `refactoring/smell-YYYY-MM-DD-HHmmss.md` | `/fec-smell`, `fec-code-smells` |
461
- | Refactoring plan | `refactoring/plan-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-plan`, `fec-refactoring` |
462
- | Refactoring execution | `refactoring/refactoring-YYYY-MM-DD-HHmmss.md` | `/fec-refactor`, `fec-refactoring`, `fec-refactoring-expert` |
463
- | E2E run summary | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner` (optional) |
464
- | Migration plan | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
465
-
466
- </details>
467
-
468
- > **Tip:** add `reports/` to `.gitignore` to keep the auto-generated reports out of version control — or commit them to preserve a team review history.
469
-
470
- ---
471
-
472
- ## Update and Remove
473
-
474
- `fec` is the short command for `frontend-craft`. If you have not installed the global `fec` command, use the same arguments with `npx @bovinphang/frontend-craft@latest`, for example `npx @bovinphang/frontend-craft@latest update`.
475
-
476
- ### Update
477
-
478
- ```bash
479
- fec update # Update all discovered CLI-managed installs
480
- fec update <runtime> --local # Update one local CLI-managed install
481
- fec update <runtime> --global # Update one global CLI-managed install
482
- fec upgrade <runtime> --global # `upgrade` is an alias for `update`
483
- ```
484
-
485
- ### Remove
486
-
487
- ```bash
488
- fec uninstall # Remove all discovered CLI-managed installs
489
- fec remove # `remove` is an alias for `uninstall`
490
- fec uninstall <runtime> # Remove a specific runtime install
491
- fec remove <runtime> # Same removal through the alias
492
- fec uninstall --global # Remove discovered global installs only
493
- fec remove --local # Remove discovered local installs only
494
- fec uninstall <runtime> --dry-run # Preview removals
495
- fec uninstall <runtime> --force # Remove modified managed files too
496
- ```
497
-
498
- The CLI writes `frontend-craft.manifest.json` into the runtime directory. `update` discovers those manifests automatically when no runtime is provided and **skips files you’ve modified locally**, so customizations survive updates.
499
-
500
- `uninstall`/`remove` only deletes files recorded in the manifest. It skips modified files by default; add `--force` only when you want to remove modified managed files too. `--force` does not override a Claude Code Marketplace install.
501
-
502
- For **Claude Code Marketplace** or **submodule** installs, see [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md). `/fec-init` only initializes project config; it is not a second plugin install.
503
-
504
- ---
505
-
506
- ## Legacy Skills CLI
507
-
508
- If your team already uses the standalone [Skills CLI](https://skills.sh/docs/cli), it can still install just the workflow skill packages from [`skills/`](skills/):
509
-
510
- ```bash
511
- npx skills add bovinphang/frontend-craft # follow prompts, or add -g for global
512
- npx skills update # update to latest
513
- npx skills check # preview available updates
514
- ```
515
-
516
- | CLI | Installs |
517
- | -------------------- | ------------------------------------------------------------------- |
518
- | `npx @bovinphang/frontend-craft` | Skills + runtime-specific agents, commands, hooks, rules, templates |
519
- | `npx skills` | Skills only (for existing Skills CLI workflows) |
520
-
521
- To disable telemetry: `DISABLE_TELEMETRY=1`. Details: [skills.sh CLI docs](https://skills.sh/docs/cli).
522
-
523
- ---
524
-
525
- ## Community
526
-
527
- - [Contributing Guide](CONTRIBUTING.md) — development setup, PR checklist, localization policy ([简体中文](CONTRIBUTING.zh-CN.md))
528
- - [Security Policy](SECURITY.md) — private vulnerability reporting ([简体中文](SECURITY.zh-CN.md))
529
- - [Code of Conduct](CODE_OF_CONDUCT.md) — community standards ([简体中文](CODE_OF_CONDUCT.zh-CN.md))
530
- - [Changelog](CHANGELOG.md) — release notes ([简体中文](CHANGELOG.zh-CN.md))
531
- - [Project structure](docs/project-structure.md) — full directory layout and file responsibilities ([简体中文](docs/zh-CN/project-structure.md))
532
-
533
- ---
534
-
535
- ## License
536
-
537
- [MIT](LICENSE) — use freely, modify as needed, contribute back if you can.
538
-
539
- ---
540
-
541
- <div align="center">
542
-
543
- **If frontend-craft helps your team ship better code, [give it a Star](https://github.com/bovinphang/frontend-craft).**
544
-
545
- </div>
1
+ <div align="center">
2
+
3
+ > Release status (2026-11-09): craft-common 2.0.0 is published on npm. Frontend 3.0.0 and backend 1.0.0 remain unreleased; product versions are unchanged. Earlier preparation notes describe the pre-publication state.
4
+
5
+
6
+ <img src="assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
7
+
8
+ # frontend-craft
9
+
10
+ ### One toolkit. Every AI coding assistant. Production-grade frontend standards.
11
+
12
+ [![Stars](https://img.shields.io/github/stars/bovinphang/frontend-craft?style=flat)](https://github.com/bovinphang/frontend-craft/stargazers)
13
+ [![CI](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml/badge.svg)](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
14
+ [![npm version](https://img.shields.io/npm/v/@bovinphang/frontend-craft)](https://www.npmjs.com/package/@bovinphang/frontend-craft)
15
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
16
+ ![Node](https://img.shields.io/badge/Node.js-22+-5FA04E?logo=node.js&logoColor=white)
17
+ ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
18
+ ![React](https://img.shields.io/badge/-React-61DAFB?logo=react&logoColor=black)
19
+ ![Vue](https://img.shields.io/badge/-Vue-4FC08D?logo=vue.js&logoColor=white)
20
+ ![Figma](https://img.shields.io/badge/-Figma-F24E1E?logo=figma&logoColor=white)
21
+
22
+ **🌐 Language / 语言 / 語言 / 言語 / 언어**
23
+
24
+ [**English**](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](docs/zh-TW/README.md) · [日本語](docs/ja-JP/README.md) · [한국어](docs/ko-KR/README.md)
25
+
26
+ </div>
27
+
28
+
29
+ [Runtime compatibility and upgrade notes](docs/runtimes/compatibility.md)
30
+
31
+ ---
32
+
33
+ `frontend-craft` is a **universal frontend plugin** that brings the same opinionated engineering standards to all **15 AI coding assistants** listed below:
34
+
35
+ `claude` `codex` `cursor` `windsurf` `opencode`
36
+ `kilo` `gemini` `copilot` `antigravity` `augment`
37
+ `trae` `codebuddy` `cline` `openclaw` `qoder`
38
+
39
+ Per-runtime paths and caveats live in [`docs/runtimes/`](docs/runtimes/).
40
+
41
+ It bundles **14 specialized agents**, **74 auto-activated skills**, **11 slash commands**, **5 event-driven hooks**, **MCP integrations** for 6 design-tool endpoints, and a complete **rules library** into a single installable package. Run one command, and every AI session on your team writes React, Vue, Next.js, or Nuxt the same way — typed, accessible, secure, and consistent.
42
+
43
+ ---
44
+
45
+ ## Why frontend-craft?
46
+
47
+ | Problem | What frontend-craft does |
48
+ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
49
+ | AI assistants write inconsistent, untyped, or insecure frontend code | **74 skills** encode team standards — auto-activated when the assistant touches matching files |
50
+ | Each AI tool has its own plugin format | **One CLI** installs the same rules, agents, and hooks into 15 runtimes |
51
+ | Design-to-code handoff is lossy | **MCP integrations** bring in richer context from Figma, Figma Desktop, Sketch, MasterGo, Pixso, and 墨刀 |
52
+ | Reviews are ad-hoc and shallow | **14 agents** produce graded reports: code, security, a11y, performance, TS, UI fidelity |
53
+ | No one remembers to run lint/tests | **Event-driven hooks** validate on save and session end — automatically |
54
+ | New projects start from scratch every time | **`/fec-init`** scaffolds CLAUDE.md, rules, and settings in seconds |
55
+
56
+ ---
57
+
58
+ ## Install
59
+
60
+ Requires **Node.js 22+**. Works on **Windows, macOS, and Linux**.
61
+
62
+ ### Option 1 - Install the fec CLI globally (recommended)
63
+
64
+ ```bash
65
+ # 1. Install the fec command globally
66
+ npm install -g @bovinphang/frontend-craft@latest
67
+
68
+ # 2. Go to your frontend project
69
+ cd your-project
70
+
71
+ # 3. Choose the AI runtime(s) interactively
72
+ fec setup
73
+
74
+ # 4. Connect the current project
75
+ fec setup codex
76
+ fec setup claude
77
+ fec setup all
78
+
79
+ # 5. Connect globally, available across all projects
80
+ fec setup codex --global
81
+ fec setup claude --global
82
+ fec setup all --global
83
+
84
+ # 6. Preview / query
85
+ fec runtime install --all --dry-run --global
86
+ fec list
87
+ ```
88
+
89
+ `npm install -g` only installs the `fec` terminal command. `fec setup` is the terminal CLI command for connecting frontend-craft to a project; it is not the in-assistant `/fec-init` slash command. In an interactive terminal, running only `fec setup` asks you to choose runtimes. `fec setup <runtime>` and `fec setup all` connect frontend-craft to the current project by default. Only pass `--global` when you want to connect frontend-craft to the selected AI tool's global config directory so it is available across projects.
90
+
91
+ ### Option 2 — Temporary npx run (no global fec command)
92
+
93
+ ```bash
94
+ # 1. Interactive wizard
95
+ npx @bovinphang/frontend-craft@latest
96
+
97
+ # 2. Connect the current project
98
+ npx @bovinphang/frontend-craft@latest runtime install --local codex
99
+ npx @bovinphang/frontend-craft@latest runtime install --local claude
100
+ npx @bovinphang/frontend-craft@latest runtime install --all --local
101
+
102
+ # 3. Connect globally, available across all projects
103
+ npx @bovinphang/frontend-craft@latest runtime install --global codex
104
+ npx @bovinphang/frontend-craft@latest runtime install --global claude
105
+ npx @bovinphang/frontend-craft@latest runtime install --all --global
106
+
107
+ # 4. Preview / query
108
+ npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
109
+ npx @bovinphang/frontend-craft@latest list
110
+ ```
111
+
112
+ Use `npx` when you do not want to install a global `fec` command. Without arguments, it opens the interactive wizard: choose one or more runtimes, then choose whether to connect globally or into the current project. For scripted all-runtime installs, use `install --all --local` or `install --all --global`; do not write `install all`. For CI / scripts, always pass `--global` / `-g` or `--local` / `-l`; in non-TTY environments without an explicit location, the CLI defaults to `claude --global`.
113
+
114
+ ### Option 3 — Claude Code Marketplace
115
+
116
+ For Claude Code users, **Claude Code Marketplace** is the preferred single-source install. Use the CLI for Claude only when you need cross-runtime installs, scripted/offline file copies, or non-Marketplace environments.
117
+
118
+ If Marketplace is already installed, the CLI will not install or update a second Claude copy, even with `--force`; update through Claude Code Marketplace instead. If a CLI-managed Claude install already exists in the other scope, interactive terminals ask whether to keep that source updated or uninstall it before switching. Non-interactive terminals stop and print the exact `runtime update`, `runtime uninstall`, and `runtime install` commands to run.
119
+
120
+ Full Claude-specific steps are in [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md).
121
+
122
+ ---
123
+
124
+ ## Quick start
125
+
126
+ Once installed, you have a full frontend engineering toolkit available in every AI session:
127
+
128
+ ```text
129
+ You: "Review my recent changes"
130
+ → The fec-code-reviewer agent is dispatched, produces reports/code-review-*.md
131
+
132
+ You: "/fec-review"
133
+ → Runs a structured review across architecture, types, rendering, styles, a11y
134
+
135
+ You: "Implement the checkout page from this Figma link"
136
+ → The fec-figma-implementer agent reads the design via MCP, emits components and a report
137
+
138
+ You: "/fec-scaffold dashboard feature"
139
+ → Creates a page / feature / component directory tree following project conventions
140
+
141
+ You: "/fec-refactor-clean"
142
+ → Classifies and safely removes dead code, unused exports, styles, and deps
143
+
144
+ You: "/fec-refactor src/features/compose"
145
+ → Diagnoses structural smells, builds a small-step plan, refactors one behavior-preserving step at a time, and validates every step
146
+ ```
147
+
148
+ All slash commands below are shown for **Claude Code**; other runtimes expose the same capabilities through their own command systems (see [`docs/runtimes/`](docs/runtimes/)).
149
+
150
+ ---
151
+
152
+ ## Example prompts
153
+
154
+ For a complete scenario-based prompt library, see [docs/example-prompts.md](docs/example-prompts.md).
155
+
156
+ ```text
157
+ You: "Review my recent changes before merge. Focus on architecture, type safety, rendering behavior, styles, accessibility, and missing tests."
158
+ You: "Before coding, plan the account billing feature: route structure, component boundaries, data flow, state ownership, validation flow, and rollout risks."
159
+ You: "Build a multi-step registration form; choose the right form and schema validation approach for this project, with file upload, conditional fields, async validation, and accessible errors."
160
+ You: "Implement the UI from Figma node 123:456. Use existing design tokens and components, match spacing and responsive states, and document assumptions."
161
+ You: "`/fec-refactor-clean` Clean up dead code in this module."
162
+ You: "`/fec-smell` Diagnose structural smells in this module without editing."
163
+ You: "`/fec-refactor-plan` Build a behavior-preserving small-step refactoring plan."
164
+ You: "`/fec-refactor` Refactor this module without changing observable behavior."
165
+ ```
166
+
167
+ ---
168
+
169
+ ## What’s inside
170
+
171
+ ### Commands
172
+
173
+ Slash commands are the primary entry points for structured workflows. Most produce a timestamped Markdown report under `reports/`.
174
+
175
+ | Command | Purpose | Report |
176
+ | --------------------- | ---------------------------------------------------------------------- | ------------------------------------------------ |
177
+ | `/fec-init` | Initialize project templates (CLAUDE.md, rules, settings) | — |
178
+ | `/fec-review` | Review the full project by default; explicit file/directory or change scope | `code-review-*.md` |
179
+ | `/fec-scaffold` | Create page / feature / component boilerplate by convention | — |
180
+ | `/fec-plan` | Unified planning: implementation architecture or test strategy | `architecture-proposal-*.md` or `test-plan-*.md` |
181
+ | `/fec-tdd` | Red → green → refactor loop for frontend TDD | — |
182
+ | `/fec-debug` | Diagnose and fix frontend issues: build, runtime, UI, and API failures | `debug-*.md` |
183
+ | `/fec-refactor-clean` | Classify and safely remove dead code, unused exports, styles, and deps | `refactor-clean-*.md` |
184
+ | `/fec-smell` | Diagnose code smells with evidence; do not edit business code | `refactoring/smell-*.md` |
185
+ | `/fec-refactor-plan` | Build an ordered behavior-preserving refactoring plan | `refactoring/plan-*.md` |
186
+ | `/fec-refactor` | Execute one validated behavior-preserving refactoring step at a time | `refactoring/refactoring-*.md` |
187
+ | `/fec-doc-sync` | Sync READMEs, docs, env notes, scripts, API/route notes, and deploy docs | — |
188
+
189
+ ### Review scope
190
+
191
+ `/fec-review`, the code/TypeScript/security review agents, and their review skills use three modes:
192
+
193
+ - **Change review:** explicitly request recent/current/staged changes, a PR or a commit, or use an established change context. With no changes, report that there is nothing to review; do not automatically review recent commits.
194
+ - **Targeted review:** specify a file or directory to review existing code, including unchanged code, without requiring a Git diff.
195
+ - **Project review (default):** with no scope or change context, or when the entire project is requested, inventory project-owned frontend code, related tests, configuration and dependency declarations, then review by module.
196
+
197
+ A file/directory request reviews its full contents; add "recent changes" to review only its diff. Bare `/fec-review` reviews the project even when changes exist. State mode and scope before review. Automatic review after edits must pass the current change scope explicitly.
198
+
199
+ Examples: `/fec-review`,`/fec-review review recent changes`, `/fec-review review src/components/Button.tsx`, `/fec-review review src/features/`, and `/fec-review review the entire project`. These are natural-language instructions, not CLI flags. Explicit scope takes precedence over the default.
200
+
201
+ Dependency directories, build outputs, caches, generated files and third-party code are excluded by default. Reports record the mode, target scope, reviewed and unreviewed files/modules, exclusions, completion status and verification results. Limited coverage is marked partial; reading callers or running project-wide lint/typecheck does not establish manual review coverage. Change reviews retain merge recommendations; targeted/project reviews assess risk within reviewed scope. The frontend review does not replace a backend audit, and reviewers do not edit business code unless repairs are requested.
202
+
203
+ ### Skills (auto-activated)
204
+
205
+ Skills are workflow definitions that activate automatically based on file patterns, frameworks, or task context. They encode review dimensions, output conventions, and report formats.
206
+
207
+ The skills below are grouped by use case so you can quickly find project standards, implementation, testing, review, design, migration, project evolution, and documentation workflows.
208
+
209
+ **Project standards** — conventions enforced whenever matching frameworks are detected:
210
+
211
+ | Skill | Scope |
212
+ | ------------------------------- | --------------------------------------------------------------------- |
213
+ | `fec-react-project-standard` | React + TypeScript (structure, components, routing, state, API layer) |
214
+ | `fec-vue3-project-standard` | Vue 3 + TypeScript (structure, components, routing, Pinia, API layer) |
215
+ | `fec-nextjs-project-standard` | Next.js 14+ App Router, SSR/SSG, streaming, metadata |
216
+ | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, data fetching, middleware |
217
+ | `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization |
218
+ | `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
219
+ | `cc-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, generics |
220
+
221
+ **Implementation capabilities** — activated when building specific frontend behavior:
222
+
223
+ | Skill | Scope |
224
+ | ------------------------- | ------------------------------------------------------------------------- |
225
+ | `fec-data-fetching` | Server-state fetching, caching, invalidation, SSR, infinite loading |
226
+ | `fec-api-integration` | Typed API clients, auth refresh, uploads, realtime integration |
227
+ | `fec-state-management` | State ownership, store selection, URL state, server/form/local boundaries |
228
+ | `fec-form-handling` | Framework-aware forms, schema validation, dynamic fields, uploads |
229
+ | `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies selection |
230
+ | `fec-route-protection` | Auth and permission routes for React Router, Next.js, Vue Router, Nuxt |
231
+ | `fec-pwa-implementation` | Manifest, service worker, offline cache, install prompts |
232
+ | `fec-web-workers` | Web Worker integration, transferables, Comlink, worker pools |
233
+ | `fec-canvas-threejs` | Canvas 2D, Three.js, React Three Fiber, WebGL |
234
+ | `fec-svg-animation` | CSS / Framer Motion / GSAP SVG animation with reduced-motion |
235
+ | `fec-list-virtualization` | Framework-aware list virtualization, measurement, grids, infinite scroll |
236
+
237
+ **Testing** — activated when planning or authoring frontend test coverage:
238
+
239
+ | Skill | Scope |
240
+ | ----------------------- | ------------------------------------------------------------------------ |
241
+ | `fec-testing-strategy` | Layer selection across static, unit, component, integration, E2E, visual |
242
+ | `fec-component-testing` | React Testing Library / Vue Test Utils with regression scenarios |
243
+ | `fec-e2e-testing` | Playwright / Cypress E2E with Page Object and CI integration |
244
+ | `fec-tdd-workflow` | Test-first frontend implementation with red-green-refactor |
245
+
246
+ **Review & quality** — activated during review, validation, or cleanup workflows:
247
+
248
+ | Skill | Scope |
249
+ | ------------------------------ | ----------------------------------------------------------------------------- |
250
+ | `fec-code-review` | Correctness, maintainability, types, rendering, and verification review |
251
+ | `fec-debug-framework` | Systematic diagnostics for build, runtime, UI, and API/data failures |
252
+ | `fec-security-review` | Browser-side XSS, CSRF, token exposure, unsafe DOM, and third-party risks |
253
+ | `fec-accessibility-check` | WCAG 2.2, keyboard, focus, touch, and screen-reader behavior |
254
+ | `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
255
+ | `fec-validation-fix` | Run and repair lint, type-check, test, build in one pass |
256
+ | `fec-performance-optimization` | Core Web Vitals, bundle, rendering, memory, network, and budget reviews |
257
+ | `fec-refactor-clean` | Safe dead-code, unused export, style, route, dependency cleanup |
258
+
259
+ **Refactoring** — activated for evidence-based, behavior-preserving structural improvement:
260
+
261
+ | Skill | Purpose |
262
+ | --- | --- |
263
+ | `fec-refactoring` | Orchestrate classification, baseline, safety, small-step execution, rollback, and proof |
264
+ | `fec-code-smells` | Diagnose the 24 canonical code smells with evidence and false-positive checks |
265
+ | `fec-refactoring-catalog` | Select and compose techniques from the complete 61-item catalog |
266
+ | `fec-refactoring-functions` | Function decomposition, naming, variable, parameter-object, and phase refactorings |
267
+ | `fec-refactoring-encapsulation` | Record, collection, primitive, class, delegate, and algorithm encapsulation refactorings |
268
+ | `fec-refactoring-move-features` | Move functions/fields/statements, split loops, pipelines, and dead-code routing |
269
+ | `fec-refactoring-data` | Variable/field and reference/value data refactorings |
270
+ | `fec-refactoring-control` | Conditional decomposition, guards, polymorphic dispatch, special cases, assertions |
271
+ | `fec-refactoring-api` | Query/modifier, parameter, flag, factory, command, and API-shape refactorings |
272
+ | `fec-refactoring-inheritance` | Inheritance/delegation refactorings with composition-first frontend adaptations |
273
+ | `fec-refactoring-validation` | Behavior-preservation contracts, coverage levels, verification ladder, proof verdicts |
274
+
275
+ **Design UI** — activated for design-to-code, design systems, and visual polish:
276
+
277
+ | Skill | Scope |
278
+ | ----------------------------- | ----------------------------------------------------------------------------- |
279
+ | `fec-ui-design` | Product-context UI direction, anti-generic design dials, media strategy, states, visual QA |
280
+ | `fec-image-generation` | UI, product and brand image generation/editing with shared PNG QA |
281
+ | `cc-drawio-studio` | Editable draw.io / diagrams.net technical diagrams, XML/Mermaid/CSV URL handoff, shape lookup, auto-layout, code maps |
282
+ | `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, and demos |
283
+ | `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
284
+ | `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
285
+ | `fec-motion-interaction` | Context-aware motion intensity, page transitions, scroll animation, reduced motion |
286
+ | `fec-implement-from-design` | Build UI from design tools, screenshots, or section-level visual references |
287
+ | `fec-storybook-component-doc` | Storybook component docs, design-system presentation, isolated state previews |
288
+
289
+ 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/`.
290
+
291
+ [Review and technical diagram guide](docs/review-and-diagram-workflows.md).
292
+
293
+ **Legacy migration** — activated during modernization work:
294
+
295
+ | Skill | Scope |
296
+ | -------------------------------- | ---------------------------------------------------------- |
297
+ | `fec-legacy-web-standard` | Standards for JS + jQuery + HTML maintenance |
298
+ | `fec-legacy-to-modern-migration` | Legacy frontend modernization, target-stack selection, phased workflow |
299
+
300
+ **Project evolution** — activated when absorbing reference systems into project-native improvements:
301
+
302
+ | Skill | Scope |
303
+ | ------------- | ---------------------------------------------------------------------- |
304
+ | `fec-alchemy` | Absorb reference system ideas through original, project-native redesign |
305
+
306
+ **Maintenance docs** — activated during documentation upkeep:
307
+
308
+ | Skill | Scope |
309
+ | ------------------------------- | -------------------------------------------------------------------------------------- |
310
+ | `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
311
+ | `fec-doc-sync` | Keep frontend docs in sync with code, config, scripts, routes, APIs, env, and deploy facts |
312
+ | `cc-source-driven-development` | Verify version-sensitive frontend decisions against project facts and official sources |
313
+
314
+ ### Agents
315
+
316
+ Agents are specialized sub-agents dispatched by the main assistant to handle a focused task. Each returns a structured report.
317
+
318
+ | Agent | Focus | Report |
319
+ | --------------------------- | -------------------------------------------------------------------------- | ---------------------------- |
320
+ | `fec-code-reviewer` | React/Vue/Next/Nuxt, TS, styles, client-side security (confidence-based) | `code-review-*.md` |
321
+ | `fec-typescript-reviewer` | Type safety, async correctness, idiomatic patterns (report-only) | `typescript-review-*.md` |
322
+ | `fec-security-reviewer` | XSS, client secrets, dangerous DOM/APIs, CSP, dependency audit | `security-review-*.md` |
323
+ | `fec-performance-optimizer` | Bundle size, render performance, network bottlenecks | `performance-review-*.md` |
324
+ | `fec-architect` | Page splitting, component architecture, state flow, directory planning | `architecture-proposal-*.md` |
325
+ | `fec-test-planner` | Risk-to-layer matrix: static, unit, component, E2E, visual, a11y, security | `test-plan-*.md` |
326
+ | `fec-debugger` | Complex frontend diagnostics for build, runtime, UI, and API failures | `debug-*.md` |
327
+ | `fec-refactor-cleaner` | Classify and safely remove unused code, exports, styles, routes, deps | `refactor-clean-*.md` |
328
+ | `fec-refactoring-expert` | Evidence-based behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
329
+ | `fec-e2e-runner` | E2E authoring and runs (Playwright/Cypress), flaky quarantine, traces | `e2e-summary-*.md` |
330
+ | `fec-doc-updater` | Sync README, runtime docs, structure, capability tables, metadata | — |
331
+ | `fec-ui-checker` | Visual issue debugging and design fidelity evaluation | `ui-fidelity-review-*.md` |
332
+ | `fec-figma-implementer` | Precise UI implementation from Figma/Sketch/MasterGo/Pixso/墨刀 designs | `design-implementation-*.md` |
333
+ | `fec-design-token-mapper` | Map design variables to project Design Tokens | `token-mapping-*.md` |
334
+
335
+ ### Hooks (event-driven)
336
+
337
+ Hooks run automatically on AI assistant events — no invocation needed.
338
+
339
+ | Event | Behavior |
340
+ | ------------------------- | -------------------------------------------------------------- |
341
+ | `SessionStart` | Clean Claude cache, then detect project framework and package manager |
342
+ | `PreToolUse(Bash)` | Block dangerous commands (`rm -rf`, force push, etc.) |
343
+ | `PostToolUse(Write/Edit)` | Auto-format modified files with Prettier |
344
+ | `Stop` | Run available validation scripts once, report failures, and block only when configured |
345
+ | `Notification` | Cross-platform desktop notifications (macOS / Linux / Windows) |
346
+
347
+ Stop validation is advisory by default: failures are reported without blocking the session. Set `FRONTEND_CRAFT_VALIDATION_MODE=blocking` to return a failure status. The hook uses `packageManager` from `package.json` when present, otherwise a single lockfile; conflicting lockfiles default to npm.
348
+
349
+ ### MCP integration
350
+
351
+ Plug your AI assistant into design tools for design-to-code workflows with richer design context.
352
+
353
+ | Service | Capabilities |
354
+ | ----------------- | ---------------------------------------------------- |
355
+ | **Figma** | Read design context and variable definitions |
356
+ | **Figma Desktop** | Figma desktop client integration |
357
+ | **Sketch** | Read design selection screenshots |
358
+ | **MasterGo** | Read DSL structure, component hierarchy, styles |
359
+ | **Pixso** | Local MCP: frame data, code snippets, image assets |
360
+ | **墨刀** | Prototype data, design descriptions, HTML import |
361
+ | **摹客** | Screenshot/annotation/exported-CSS workflow (no MCP) |
362
+
363
+ ### Project templates (`/fec-init`)
364
+
365
+ Run `/fec-init` to scaffold a ready-to-use rules library and project config into `.claude/`:
366
+
367
+ <details>
368
+ <summary>Click to see all 20 template files</summary>
369
+
370
+ | File | Purpose |
371
+ | ---------------------------------------- | --------------------------------------------------------------------- |
372
+ | `CLAUDE.md` | Project description, commands, working principles, security |
373
+ | `settings.json` | Permission whitelist/blacklist, environment variables |
374
+ | `rules/fec-vue.md` | Vue 3 component standards and anti-patterns |
375
+ | `rules/fec-react.md` | React component standards and anti-patterns |
376
+ | `rules/fec-design-system.md` | Design system, tokens, accessibility |
377
+ | `rules/fec-testing.md` | Testing and validation rules |
378
+ | `rules/fec-git-conventions.md` | Conventional Commits |
379
+ | `rules/fec-i18n.md` | Internationalization copy standards |
380
+ | `rules/fec-performance.md` | Frontend performance rules |
381
+ | `rules/fec-rendering-patterns.md` | Rendering lifecycle, hydration, SSR/CSR, and update patterns |
382
+ | `rules/fec-responsive-design.md` | Responsive layout, breakpoints, touch targets, and viewport behavior |
383
+ | `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
384
+ | `rules/fec-api-layer.md` | API layer typing and error handling |
385
+ | `rules/fec-state-management.md` | State classification, strategy, anti-patterns |
386
+ | `rules/fec-error-handling.md` | Error layering, Error Boundary, fallback UI, reporting |
387
+ | `rules/fec-naming-conventions.md` | Unified naming for files, components, variables, routes, API, CSS |
388
+ | `rules/fec-code-comments.md` | When and how to write frontend comments |
389
+ | `rules/fec-ci-cd.md` | CI/CD pipeline stages, GitHub Actions / GitLab CI, secrets |
390
+ | `rules/fec-refactoring.md` | Refactoring constraints and feature-parity requirements |
391
+ | `rules/fec-agent-workflow.md` | Agent collaboration boundaries and delegation |
392
+ | `rules/fec-working-modes.md` | Research, planning, development, review, finishing modes |
393
+
394
+ </details>
395
+
396
+ ---
397
+
398
+ ## Configuration
399
+
400
+ ### Prerequisites
401
+
402
+ - **Node.js 22+**
403
+ - **npm, pnpm, or yarn**
404
+ - **Git Bash or a compatible shell** (Windows only, when your AI runtime invokes shell-based commands)
405
+
406
+ ### MCP design-tool tokens
407
+
408
+ Set the environment variable for whichever design tool your team uses:
409
+
410
+ | Variable | Tool | How to get |
411
+ | ---------------- | --------------------- | ----------------------------------------------------- |
412
+ | `FIGMA_API_KEY` | Figma / Figma Desktop | Figma account settings → Personal Access Tokens |
413
+ | `SKETCH_API_KEY` | Sketch | Sketch developer settings |
414
+ | `MG_MCP_TOKEN` | MasterGo | MasterGo account settings → Security → Generate Token |
415
+ | `MODAO_TOKEN` | 墨刀 | 墨刀 AI feature page → access token |
416
+
417
+ > **Pixso** uses a local MCP server — enable MCP in the Pixso client, no env var needed.
418
+ > **摹客** has no MCP integration; works via screenshots and exported CSS.
419
+
420
+ Add to your shell config for persistence:
421
+
422
+ ```bash
423
+ # macOS / Linux — append to ~/.bashrc or ~/.zshrc
424
+ export FIGMA_API_KEY="your-figma-api-key"
425
+ export SKETCH_API_KEY="your-sketch-api-key"
426
+ export MG_MCP_TOKEN="your-mastergo-token"
427
+ export MODAO_TOKEN="your-modao-token"
428
+ ```
429
+
430
+ ```powershell
431
+ # Windows — set as system environment variables, or in PowerShell:
432
+ $env:FIGMA_API_KEY = "your-figma-api-key"
433
+ $env:SKETCH_API_KEY = "your-sketch-api-key"
434
+ $env:MG_MCP_TOKEN = "your-mastergo-token"
435
+ $env:MODAO_TOKEN = "your-modao-token"
436
+ ```
437
+
438
+ ---
439
+
440
+ ## Reports
441
+
442
+ Every review, analysis, and evaluation writes a timestamped Markdown report to `reports/`. These serve as an audit trail and a handoff artifact for PRs.
443
+
444
+ <details>
445
+ <summary>Click to see all 19 report types</summary>
446
+
447
+ | Report type | Filename pattern | Produced by |
448
+ | ---------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
449
+ | Code review | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`, `fec-code-review`, `fec-code-reviewer` |
450
+ | Debug diagnostics | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`, `fec-debug-framework`, `fec-debugger` |
451
+ | TypeScript / JS review | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
452
+ | Security review | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`, `fec-security-reviewer` |
453
+ | Accessibility | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
454
+ | Performance | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
455
+ | Architecture | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
456
+ | Design fidelity | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
457
+ | Design implementation | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
458
+ | Token mapping | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
459
+ | Design plan | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
460
+ | Test plan | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`, `fec-testing-strategy`, `fec-test-planner` |
461
+ | Validation fix | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
462
+ | Refactor clean | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`, `fec-refactor-clean`, `fec-refactor-cleaner` |
463
+ | Smell diagnosis | `refactoring/smell-YYYY-MM-DD-HHmmss.md` | `/fec-smell`, `fec-code-smells` |
464
+ | Refactoring plan | `refactoring/plan-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-plan`, `fec-refactoring` |
465
+ | Refactoring execution | `refactoring/refactoring-YYYY-MM-DD-HHmmss.md` | `/fec-refactor`, `fec-refactoring`, `fec-refactoring-expert` |
466
+ | E2E run summary | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner` (optional) |
467
+ | Migration plan | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
468
+
469
+ </details>
470
+
471
+ > **Tip:** add `reports/` to `.gitignore` to keep the auto-generated reports out of version control — or commit them to preserve a team review history.
472
+
473
+ ---
474
+
475
+ ## Update and Remove
476
+
477
+ ### CLI lifecycle (3.0)
478
+
479
+ `fec update` (`upgrade`) upgrades an npm/pnpm global CLI to the original registry's `latest`, then starts the new CLI to refresh managed resources in the current project and user-global scope, even when already latest. Other projects and Marketplace installs are not scanned or managed. CLI upgrade failure stops refresh; independent resource failures are reported by phase without rolling back the CLI. Retry those resources with `fec runtime update`.
480
+
481
+ `fec uninstall` (`remove`) removes only the global CLI by default. `--purge` first removes discovered managed resources while preserving user modifications; cleanup errors keep the CLI installed. A terminal prompts for confirmation; non-interactive runs require `--yes`. Self-management supports verified npm/pnpm global registry installs only; source links, project dependencies, unknown sources and pnpm groups shared with other packages are refused before changes. Use the original package manager manually for shared groups. `--dry-run` only previews; it never installs, deletes or starts the refresh process.
482
+
483
+ ```bash
484
+ fec update
485
+ fec uninstall --dry-run
486
+ fec uninstall --purge --yes
487
+ ```
488
+
489
+ Temporary npx runs never create a global CLI install and cannot uninstall the CLI. Top-level npx `update` refreshes resources only if its package version equals registry `latest`; otherwise use `npx @bovinphang/frontend-craft@latest runtime update`.
490
+
491
+ | 2.x resource command | 3.0 replacement |
492
+ | --- | --- |
493
+ | `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
494
+ | `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
495
+ | `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
496
+
497
+ Top-level update/uninstall reject old runtime arguments and resource options such as `--global` before making changes. `setup` remains available; top-level `install` is a deprecated compatibility alias. `runtime upgrade/remove` alias `runtime update/uninstall`. Resource options remain available. `runtime update` uses only the currently running CLI package, without fetching a new package from the network.
498
+
499
+ `fec` is the short command for `frontend-craft`. For resource operations without a global CLI, use `npx @bovinphang/frontend-craft@latest runtime update` (or `runtime install/uninstall`).
500
+
501
+ ### Resource update
502
+
503
+ ```bash
504
+ fec runtime update # Update all discovered CLI-managed installs
505
+ fec runtime update <runtime> --local # Update one local CLI-managed install
506
+ fec runtime update <runtime> --global # Update one global CLI-managed install
507
+ fec runtime upgrade <runtime> --global # `upgrade` is an alias for `update`
508
+ ```
509
+
510
+ ### Resource removal
511
+
512
+ ```bash
513
+ fec runtime uninstall # Remove all discovered CLI-managed installs
514
+ fec runtime remove # `remove` is an alias for `uninstall`
515
+ fec runtime uninstall <runtime> # Remove a specific runtime install
516
+ fec runtime remove <runtime> # Same removal through the alias
517
+ fec runtime uninstall --global # Remove discovered global installs only
518
+ fec runtime remove --local # Remove discovered local installs only
519
+ fec runtime uninstall <runtime> --dry-run # Preview removals
520
+ fec runtime uninstall <runtime> --force # Remove modified managed files too
521
+ ```
522
+
523
+ The CLI writes `frontend-craft.manifest.json` into the runtime directory. `runtime update` discovers those manifests automatically when no runtime is provided and **skips files you’ve modified locally**, so customizations survive updates.
524
+
525
+ `runtime uninstall`/`runtime remove` only deletes files recorded in the manifest. It skips modified files by default; add `--force` only when you want to remove modified managed files too. `--force` does not override a Claude Code Marketplace install.
526
+
527
+ For **Claude Code Marketplace** or **submodule** installs, see [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md). `/fec-init` only initializes project config; it is not a second plugin install.
528
+
529
+ ---
530
+
531
+ ## Legacy Skills CLI
532
+
533
+ If your team already uses the standalone [Skills CLI](https://skills.sh/docs/cli), it can still install just the workflow skill packages from [`skills/`](skills/):
534
+
535
+ ```bash
536
+ npx skills add bovinphang/frontend-craft # follow prompts, or add -g for global
537
+ npx skills update # update to latest
538
+ npx skills check # preview available updates
539
+ ```
540
+
541
+ | CLI | Installs |
542
+ | -------------------- | ------------------------------------------------------------------- |
543
+ | `npx @bovinphang/frontend-craft` | Skills + runtime-specific agents, commands, hooks, rules, templates |
544
+ | `npx skills` | Skills only (for existing Skills CLI workflows) |
545
+
546
+ To disable telemetry: `DISABLE_TELEMETRY=1`. Details: [skills.sh CLI docs](https://skills.sh/docs/cli).
547
+
548
+ ---
549
+
550
+ ## Community
551
+
552
+ - [Contributing Guide](CONTRIBUTING.md) — development setup, PR checklist, localization policy ([简体中文](CONTRIBUTING.zh-CN.md))
553
+ - [Security Policy](SECURITY.md) — private vulnerability reporting ([简体中文](SECURITY.zh-CN.md))
554
+ - [Code of Conduct](CODE_OF_CONDUCT.md) — community standards ([简体中文](CODE_OF_CONDUCT.zh-CN.md))
555
+ - [Changelog](CHANGELOG.md) — release notes ([简体中文](CHANGELOG.zh-CN.md))
556
+ - [Project structure](docs/project-structure.md) — full directory layout and file responsibilities ([简体中文](docs/zh-CN/project-structure.md))
557
+
558
+ ---
559
+
560
+ ## License
561
+
562
+ [MIT](LICENSE) — use freely, modify as needed, contribute back if you can.
563
+
564
+ ---
565
+
566
+ <div align="center">
567
+
568
+ **If frontend-craft helps your team ship better code, [give it a Star](https://github.com/bovinphang/frontend-craft).**
569
+
570
+ </div>
571
+
572
+ ## Craft Common in 3.0
573
+
574
+ Version 3.0 is unreleased. It delivers 53 frontend entries and 21 shared entries (74 skills total) from the pinned craft-common dependency, without a third manual plugin install. Common source is maintained only in craft-common.
575
+
576
+ - `cc-drawio-studio`
577
+ - `cc-technical-diagrams`
578
+ - `cc-source-driven-development`
579
+ - `cc-doc-sync-core`
580
+ - `cc-debug-methodology`
581
+ - `cc-refactoring-core`
582
+ - `cc-tdd-methodology`
583
+
584
+ Run `fec runtime check-migration codex --local --json` and read [migration guide](docs/common-migration.md).
585
+ CLI installation manages shared ownership and uninstall references. Native channels guarantee complete single-product payloads; native dual-product deduplication is not promised.
586
+
587
+ Pinned common source: `@bovinphang/craft-common@2.0.0`. See [project structure and maintenance boundaries](docs/project-structure.md) and [contributor checks](CONTRIBUTING.md).
588
+
589
+ ## Mixed-project inspection
590
+
591
+ `fec project inspect . --task-path apps/desktop/src-tauri/src/lib.rs --task-kind ipc --json` reads bounded manifest evidence and recommends only delivered capabilities. Roles (UI, desktop core, native library, service, CLI), languages and frameworks are separate dimensions. It never runs build scripts or installs tools. Shared language entries include independent C and C++ standards; Tauri/Electron are common specialties. Next/React/Vue/Nuxt/Vite stay frontend specialties. No task argument means project-level candidates only.
592
+
593
+ Common uses the final version number 2.0.0 and is prepared for publication; frontend 3.0.0 and backend 1.0.0 remain unreleased. Exit old common consumers with each old product CLI before installing matching product builds. Run `fec runtime check-migration [runtime] --local --json` first. Unknown or edited retired entries block installation. See [migration](docs/common-migration.md).
594
+
595
+ <!-- engineering-practices-20261108 -->
596
+
597
+ ## Conditional engineering practices
598
+
599
+ Eight existing frontend entries now connect shared principles to React/Vue lifecycle, API replay safety, query ownership, review evidence, testing, security and dependency compatibility. Read the entry's local engineering reference for conditions and exceptions. Both products still deliver all21 common entries; language capability is independent of UI, desktop, library or service role. Company guidance does not authorize a toolchain migration.
600
+
601
+ The [React sample](skills/fec-react-project-standard/examples/engineering/README.md) uses real React/Testing Library/JSDOM to verify stale-result rejection and owned cleanup. Its locked dependencies are isolated. Repository maintenance: explicitly run `pnpm run verify:engineering -- --prepare`, then omit --prepare to reuse only matching preparation. This is a source-repository maintenance task, not a new installed CLI command. DOM simulation does not prove browser E2E, remote rollback or desktop GUI.
602
+
603
+ Payment writes are not retried solely because of429/5xx/network errors: require a server replay contract, same intent/key and bounded budget, otherwise reconcile the uncertain result. Public clean installation still awaits common publication; [upgrade ownership rules](docs/common-migration.md) remain in force.
604
+
605
+ Common 2.0.0 release preparation: [current unreleased changes](CHANGELOG.md#300---unreleased). Publish and verify common first; this step does not publish frontend 3.0.0.