@bovinphang/frontend-craft 2.7.0 → 2.8.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 (380) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +34 -0
  4. package/CHANGELOG.zh-CN.md +34 -0
  5. package/README.md +1 -1
  6. package/README.openclaw.md +99 -43
  7. package/README.openclaw.zh-CN.md +99 -43
  8. package/README.zh-CN.md +1 -1
  9. package/agents/fec-architect.md +70 -70
  10. package/agents/fec-code-reviewer.md +82 -82
  11. package/agents/fec-debugger.md +20 -20
  12. package/agents/fec-design-token-mapper.md +36 -36
  13. package/agents/fec-doc-updater.md +13 -13
  14. package/agents/fec-e2e-runner.md +45 -45
  15. package/agents/fec-figma-implementer.md +59 -59
  16. package/agents/fec-performance-optimizer.md +128 -128
  17. package/agents/fec-refactor-cleaner.md +14 -14
  18. package/agents/fec-security-reviewer.md +66 -67
  19. package/agents/fec-test-planner.md +27 -27
  20. package/agents/fec-typescript-reviewer.md +87 -87
  21. package/agents/fec-ui-checker.md +74 -74
  22. package/commands/fec-debug.md +19 -19
  23. package/commands/fec-doc-sync.md +11 -11
  24. package/commands/fec-init.md +37 -38
  25. package/commands/fec-plan.md +58 -58
  26. package/commands/fec-refactor-clean.md +11 -11
  27. package/commands/fec-review.md +41 -41
  28. package/commands/fec-scaffold.md +41 -41
  29. package/commands/fec-tdd.md +13 -13
  30. package/dist/bin/frontend-craft.js +29 -27
  31. package/docs/example-prompts.md +3 -0
  32. package/docs/ja-JP/README.md +1 -1
  33. package/docs/ko-KR/README.md +1 -1
  34. package/docs/project-structure.md +13 -5
  35. package/docs/zh-CN/example-prompts.md +3 -0
  36. package/docs/zh-CN/project-structure.md +6 -1
  37. package/docs/zh-TW/README.md +1 -1
  38. package/localized/zh-CN/agents/fec-architect.md +125 -0
  39. package/localized/zh-CN/agents/fec-code-reviewer.md +152 -0
  40. package/localized/zh-CN/agents/fec-debugger.md +44 -0
  41. package/localized/zh-CN/agents/fec-design-token-mapper.md +75 -0
  42. package/localized/zh-CN/agents/fec-doc-updater.md +30 -0
  43. package/localized/zh-CN/agents/fec-e2e-runner.md +107 -0
  44. package/localized/zh-CN/agents/fec-figma-implementer.md +104 -0
  45. package/localized/zh-CN/agents/fec-performance-optimizer.md +293 -0
  46. package/localized/zh-CN/agents/fec-refactor-cleaner.md +32 -0
  47. package/localized/zh-CN/agents/fec-security-reviewer.md +116 -0
  48. package/localized/zh-CN/agents/fec-test-planner.md +50 -0
  49. package/localized/zh-CN/agents/fec-typescript-reviewer.md +142 -0
  50. package/localized/zh-CN/agents/fec-ui-checker.md +120 -0
  51. package/localized/zh-CN/commands/fec-debug.md +30 -0
  52. package/localized/zh-CN/commands/fec-doc-sync.md +19 -0
  53. package/localized/zh-CN/commands/fec-init.md +70 -0
  54. package/localized/zh-CN/commands/fec-plan.md +94 -0
  55. package/localized/zh-CN/commands/fec-refactor-clean.md +19 -0
  56. package/localized/zh-CN/commands/fec-review.md +66 -0
  57. package/localized/zh-CN/commands/fec-scaffold.md +205 -0
  58. package/localized/zh-CN/commands/fec-tdd.md +21 -0
  59. package/localized/zh-CN/skills/TEMPLATE.md +155 -0
  60. package/localized/zh-CN/skills/eval_queries.json +1013 -0
  61. package/localized/zh-CN/skills/fec-accessibility-check/SKILL.md +39 -0
  62. package/localized/zh-CN/skills/fec-accessibility-check/references/report-template.md +23 -0
  63. package/localized/zh-CN/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
  64. package/localized/zh-CN/skills/fec-alchemy/SKILL.md +74 -0
  65. package/localized/zh-CN/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
  66. package/localized/zh-CN/skills/fec-alchemy/assets/intake-template.md +55 -0
  67. package/localized/zh-CN/skills/fec-alchemy/assets/review-checklist.md +31 -0
  68. package/localized/zh-CN/skills/fec-alchemy/references/methodology.md +94 -0
  69. package/localized/zh-CN/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
  70. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +78 -0
  71. package/localized/zh-CN/skills/fec-api-integration/references/integration-patterns.md +80 -0
  72. package/localized/zh-CN/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
  73. package/localized/zh-CN/skills/fec-browser-storage/SKILL.md +34 -0
  74. package/localized/zh-CN/skills/fec-browser-storage/references/storage-patterns.md +65 -0
  75. package/localized/zh-CN/skills/fec-canvas-threejs/SKILL.md +66 -0
  76. package/localized/zh-CN/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
  77. package/localized/zh-CN/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
  78. package/localized/zh-CN/skills/fec-code-review/SKILL.md +143 -0
  79. package/localized/zh-CN/skills/fec-code-review/references/report-template.md +29 -0
  80. package/localized/zh-CN/skills/fec-component-testing/SKILL.md +119 -0
  81. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +62 -0
  82. package/localized/zh-CN/skills/fec-data-fetching/references/query-patterns.md +103 -0
  83. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +157 -0
  84. package/localized/zh-CN/skills/fec-debug-framework/references/report-template.md +58 -0
  85. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +34 -0
  86. package/localized/zh-CN/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
  87. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +39 -0
  88. package/localized/zh-CN/skills/fec-drawio-studio/SKILL.md +73 -0
  89. package/localized/zh-CN/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
  90. package/localized/zh-CN/skills/fec-drawio-studio/data/brand-icons.json +878 -0
  91. package/localized/zh-CN/skills/fec-drawio-studio/data/shape-index.json +83570 -0
  92. package/localized/zh-CN/skills/fec-drawio-studio/references/data-residency.md +27 -0
  93. package/localized/zh-CN/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
  94. package/localized/zh-CN/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
  95. package/localized/zh-CN/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
  96. package/localized/zh-CN/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
  97. package/localized/zh-CN/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
  98. package/localized/zh-CN/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
  99. package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
  100. package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
  101. package/localized/zh-CN/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
  102. package/localized/zh-CN/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
  103. package/localized/zh-CN/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
  104. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
  105. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
  106. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
  107. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
  108. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
  109. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
  110. package/localized/zh-CN/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
  111. package/localized/zh-CN/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
  112. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
  113. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
  114. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
  115. package/localized/zh-CN/skills/fec-drawio-studio/styles/schema.json +112 -0
  116. package/localized/zh-CN/skills/fec-e2e-testing/SKILL.md +42 -0
  117. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
  118. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
  119. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
  120. package/localized/zh-CN/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
  121. package/localized/zh-CN/skills/fec-form-handling/SKILL.md +76 -0
  122. package/localized/zh-CN/skills/fec-form-handling/references/advanced-form-patterns.md +101 -0
  123. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +80 -0
  124. package/localized/zh-CN/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
  125. package/localized/zh-CN/skills/fec-image-generation/references/artifact-routing.md +80 -0
  126. package/localized/zh-CN/skills/fec-image-generation/references/diagram-workflows.md +74 -0
  127. package/localized/zh-CN/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
  128. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
  129. package/localized/zh-CN/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
  130. package/localized/zh-CN/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
  131. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
  132. package/localized/zh-CN/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
  133. package/localized/zh-CN/skills/fec-implement-from-design/SKILL.md +129 -0
  134. package/localized/zh-CN/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
  135. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/SKILL.md +46 -0
  136. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
  137. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
  138. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
  139. package/localized/zh-CN/skills/fec-legacy-web-standard/SKILL.md +35 -0
  140. package/localized/zh-CN/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
  141. package/localized/zh-CN/skills/fec-list-virtualization/SKILL.md +34 -0
  142. package/localized/zh-CN/skills/fec-list-virtualization/references/virtualization-patterns.md +80 -0
  143. package/localized/zh-CN/skills/fec-monorepo-project-standard/SKILL.md +142 -0
  144. package/localized/zh-CN/skills/fec-motion-interaction/SKILL.md +73 -0
  145. package/localized/zh-CN/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
  146. package/localized/zh-CN/skills/fec-nextjs-project-standard/SKILL.md +123 -0
  147. package/localized/zh-CN/skills/fec-nuxt-project-standard/SKILL.md +122 -0
  148. package/localized/zh-CN/skills/fec-performance-optimization/SKILL.md +80 -0
  149. package/localized/zh-CN/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
  150. package/localized/zh-CN/skills/fec-performance-optimization/references/report-template.md +59 -0
  151. package/localized/zh-CN/skills/fec-pwa-implementation/SKILL.md +35 -0
  152. package/localized/zh-CN/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
  153. package/localized/zh-CN/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
  154. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +91 -0
  155. package/localized/zh-CN/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
  156. package/localized/zh-CN/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
  157. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
  158. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
  159. package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +51 -0
  160. package/localized/zh-CN/skills/fec-refactor-clean/references/report-template.md +42 -0
  161. package/localized/zh-CN/skills/fec-responsive-layout/SKILL.md +34 -0
  162. package/localized/zh-CN/skills/fec-responsive-layout/references/responsive-layout-patterns.md +70 -0
  163. package/localized/zh-CN/skills/fec-route-protection/SKILL.md +135 -0
  164. package/localized/zh-CN/skills/fec-security-review/SKILL.md +38 -0
  165. package/localized/zh-CN/skills/fec-security-review/references/report-template.md +27 -0
  166. package/localized/zh-CN/skills/fec-security-review/references/security-checklist.md +64 -0
  167. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +87 -0
  168. package/localized/zh-CN/skills/fec-state-management/SKILL.md +140 -0
  169. package/localized/zh-CN/skills/fec-state-management/references/state-patterns.md +109 -0
  170. package/localized/zh-CN/skills/fec-storybook-component-doc/SKILL.md +37 -0
  171. package/localized/zh-CN/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
  172. package/localized/zh-CN/skills/fec-svg-animation/SKILL.md +148 -0
  173. package/localized/zh-CN/skills/fec-tailwind-design-system/SKILL.md +34 -0
  174. package/localized/zh-CN/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +59 -0
  175. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +52 -0
  176. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +45 -0
  177. package/localized/zh-CN/skills/fec-typescript-project-standard/SKILL.md +54 -0
  178. package/localized/zh-CN/skills/fec-typescript-project-standard/references/type-safety-patterns.md +102 -0
  179. package/localized/zh-CN/skills/fec-typescript-project-standard/references/type-safety.md +148 -0
  180. package/localized/zh-CN/skills/fec-ui-design/SKILL.md +108 -0
  181. package/localized/zh-CN/skills/fec-ui-design/data/product-rules.json +231 -0
  182. package/localized/zh-CN/skills/fec-ui-design/data/stack-ui-rules.json +146 -0
  183. package/localized/zh-CN/skills/fec-ui-design/data/style-archetypes.json +373 -0
  184. package/localized/zh-CN/skills/fec-ui-design/data/ux-quality-rules.json +203 -0
  185. package/localized/zh-CN/skills/fec-ui-design/references/design-intelligence.md +97 -0
  186. package/localized/zh-CN/skills/fec-ui-design/references/master-page-overrides.md +30 -0
  187. package/localized/zh-CN/skills/fec-ui-design/references/pre-delivery-checklist.md +39 -0
  188. package/localized/zh-CN/skills/fec-ui-design/scripts/design-system.mjs +648 -0
  189. package/localized/zh-CN/skills/fec-validation-fix/SKILL.md +51 -0
  190. package/localized/zh-CN/skills/fec-validation-fix/references/report-template.md +43 -0
  191. package/localized/zh-CN/skills/fec-vite-project-standard/SKILL.md +83 -0
  192. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +58 -0
  193. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +162 -0
  194. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
  195. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +176 -0
  196. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
  197. package/localized/zh-CN/skills/fec-web-video-presentation/SKILL.md +61 -0
  198. package/localized/zh-CN/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
  199. package/localized/zh-CN/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
  200. package/localized/zh-CN/skills/fec-web-video-presentation/references/content-plan.md +38 -0
  201. package/localized/zh-CN/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
  202. package/localized/zh-CN/skills/fec-web-video-presentation/references/theme-system.md +36 -0
  203. package/localized/zh-CN/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
  204. package/localized/zh-CN/skills/fec-web-workers/SKILL.md +35 -0
  205. package/localized/zh-CN/skills/fec-web-workers/references/advanced-workers.md +54 -0
  206. package/localized/zh-CN/skills/fec-web-workers/references/basic-worker.md +67 -0
  207. package/localized/zh-CN/skills/metadata.json +1646 -0
  208. package/localized/zh-CN/skills/relations.json +755 -0
  209. package/localized/zh-CN/templates/claude/CLAUDE.md +106 -0
  210. package/localized/zh-CN/templates/claude/settings.json +62 -0
  211. package/localized/zh-CN/templates/codex/AGENTS.md +105 -0
  212. package/localized/zh-CN/templates/codex/config.toml +32 -0
  213. package/localized/zh-CN/templates/openclaw/AGENTS.md +101 -0
  214. package/localized/zh-CN/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
  215. package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +54 -0
  216. package/localized/zh-CN/templates/shared/rules/fec-api-layer.md +99 -0
  217. package/localized/zh-CN/templates/shared/rules/fec-ci-cd.md +40 -0
  218. package/localized/zh-CN/templates/shared/rules/fec-code-comments.md +33 -0
  219. package/localized/zh-CN/templates/shared/rules/fec-design-system.md +72 -0
  220. package/localized/zh-CN/templates/shared/rules/fec-error-handling.md +56 -0
  221. package/localized/zh-CN/templates/shared/rules/fec-git-conventions.md +73 -0
  222. package/localized/zh-CN/templates/shared/rules/fec-i18n.md +64 -0
  223. package/localized/zh-CN/templates/shared/rules/fec-naming-conventions.md +120 -0
  224. package/localized/zh-CN/templates/shared/rules/fec-performance.md +101 -0
  225. package/localized/zh-CN/templates/shared/rules/fec-react.md +82 -0
  226. package/localized/zh-CN/templates/shared/rules/fec-refactoring.md +47 -0
  227. package/localized/zh-CN/templates/shared/rules/fec-rendering-patterns.md +40 -0
  228. package/localized/zh-CN/templates/shared/rules/fec-responsive-design.md +50 -0
  229. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +31 -0
  230. package/localized/zh-CN/templates/shared/rules/fec-state-management.md +60 -0
  231. package/localized/zh-CN/templates/shared/rules/fec-testing.md +98 -0
  232. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +112 -0
  233. package/localized/zh-CN/templates/shared/rules/fec-vue.md +64 -0
  234. package/localized/zh-CN/templates/shared/rules/fec-working-modes.md +50 -0
  235. package/openclaw.plugin.json +1 -1
  236. package/package.json +3 -2
  237. package/skills/TEMPLATE.md +74 -74
  238. package/skills/eval_queries.json +678 -678
  239. package/skills/fec-accessibility-check/SKILL.md +21 -21
  240. package/skills/fec-accessibility-check/references/report-template.md +12 -12
  241. package/skills/fec-accessibility-check/references/screen-reader-testing.md +24 -24
  242. package/skills/fec-alchemy/SKILL.md +50 -50
  243. package/skills/fec-alchemy/assets/absorption-plan-template.md +32 -32
  244. package/skills/fec-alchemy/assets/intake-template.md +55 -55
  245. package/skills/fec-alchemy/assets/review-checklist.md +23 -23
  246. package/skills/fec-alchemy/references/methodology.md +66 -66
  247. package/skills/fec-alchemy/references/originality-and-licensing.md +42 -42
  248. package/skills/fec-api-integration/SKILL.md +61 -61
  249. package/skills/fec-api-integration/references/integration-patterns.md +30 -30
  250. package/skills/fec-backend-requirements-handoff/SKILL.md +25 -25
  251. package/skills/fec-browser-storage/SKILL.md +16 -16
  252. package/skills/fec-browser-storage/references/storage-patterns.md +16 -16
  253. package/skills/fec-canvas-threejs/SKILL.md +21 -21
  254. package/skills/fec-canvas-threejs/references/rendering-patterns.md +10 -10
  255. package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +37 -37
  256. package/skills/fec-code-review/SKILL.md +94 -94
  257. package/skills/fec-code-review/references/report-template.md +13 -13
  258. package/skills/fec-component-testing/SKILL.md +39 -39
  259. package/skills/fec-data-fetching/SKILL.md +16 -16
  260. package/skills/fec-data-fetching/references/query-patterns.md +27 -27
  261. package/skills/fec-debug-framework/SKILL.md +95 -95
  262. package/skills/fec-debug-framework/references/report-template.md +34 -34
  263. package/skills/fec-dependency-upgrade/SKILL.md +17 -17
  264. package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +31 -31
  265. package/skills/fec-doc-sync/SKILL.md +23 -23
  266. package/skills/fec-drawio-studio/SKILL.md +42 -38
  267. package/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +1 -1
  268. package/skills/fec-drawio-studio/data/shape-index.json +83570 -0
  269. package/skills/fec-drawio-studio/references/diagram-patterns.md +19 -0
  270. package/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
  271. package/skills/fec-drawio-studio/references/layout-and-export.md +18 -3
  272. package/skills/fec-drawio-studio/references/xml-and-mermaid.md +5 -1
  273. package/skills/fec-drawio-studio/scripts/diagram-lint.mjs +62 -0
  274. package/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
  275. package/skills/fec-drawio-studio/scripts/shape-query.mjs +55 -15
  276. package/skills/fec-e2e-testing/SKILL.md +24 -24
  277. package/skills/fec-e2e-testing/references/e2e-ci-reporting.md +20 -20
  278. package/skills/fec-e2e-testing/references/e2e-special-scenarios.md +10 -10
  279. package/skills/fec-e2e-testing/references/e2e-visual-regression.md +17 -17
  280. package/skills/fec-e2e-testing/references/playwright-patterns.md +6 -6
  281. package/skills/fec-form-handling/SKILL.md +21 -21
  282. package/skills/fec-form-handling/references/advanced-form-patterns.md +41 -41
  283. package/skills/fec-image-generation/SKILL.md +54 -29
  284. package/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
  285. package/skills/fec-image-generation/references/diagram-workflows.md +33 -2
  286. package/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
  287. package/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
  288. package/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
  289. package/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
  290. package/skills/fec-implement-from-design/SKILL.md +81 -81
  291. package/skills/fec-implement-from-design/references/design-plan-template.md +16 -16
  292. package/skills/fec-legacy-to-modern-migration/SKILL.md +29 -29
  293. package/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +81 -81
  294. package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +37 -37
  295. package/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +31 -31
  296. package/skills/fec-legacy-web-standard/SKILL.md +17 -17
  297. package/skills/fec-legacy-web-standard/references/legacy-patterns.md +16 -16
  298. package/skills/fec-list-virtualization/SKILL.md +16 -16
  299. package/skills/fec-list-virtualization/references/virtualization-patterns.md +31 -31
  300. package/skills/fec-monorepo-project-standard/SKILL.md +52 -52
  301. package/skills/fec-motion-interaction/SKILL.md +51 -51
  302. package/skills/fec-motion-interaction/references/motion-patterns.md +11 -11
  303. package/skills/fec-nextjs-project-standard/SKILL.md +64 -64
  304. package/skills/fec-nuxt-project-standard/SKILL.md +57 -57
  305. package/skills/fec-performance-optimization/SKILL.md +54 -54
  306. package/skills/fec-performance-optimization/references/framework-performance-patterns.md +23 -23
  307. package/skills/fec-performance-optimization/references/report-template.md +31 -31
  308. package/skills/fec-pwa-implementation/SKILL.md +17 -17
  309. package/skills/fec-pwa-implementation/references/manifest-and-icons.md +12 -12
  310. package/skills/fec-pwa-implementation/references/service-worker-workbox.md +13 -13
  311. package/skills/fec-react-project-standard/SKILL.md +72 -72
  312. package/skills/fec-react-project-standard/references/react-performance-patterns.md +28 -28
  313. package/skills/fec-react-project-standard/references/react-project-structure.md +112 -112
  314. package/skills/fec-react-project-standard/references/react-quality-patterns.md +72 -72
  315. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +94 -94
  316. package/skills/fec-refactor-clean/SKILL.md +30 -30
  317. package/skills/fec-refactor-clean/references/report-template.md +23 -23
  318. package/skills/fec-responsive-layout/SKILL.md +17 -17
  319. package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +37 -37
  320. package/skills/fec-route-protection/SKILL.md +26 -26
  321. package/skills/fec-security-review/SKILL.md +20 -20
  322. package/skills/fec-security-review/references/report-template.md +12 -12
  323. package/skills/fec-security-review/references/security-checklist.md +27 -27
  324. package/skills/fec-source-driven-development/SKILL.md +59 -59
  325. package/skills/fec-state-management/SKILL.md +34 -34
  326. package/skills/fec-state-management/references/state-patterns.md +19 -19
  327. package/skills/fec-storybook-component-doc/SKILL.md +19 -19
  328. package/skills/fec-storybook-component-doc/references/story-patterns.md +12 -12
  329. package/skills/fec-svg-animation/SKILL.md +32 -32
  330. package/skills/fec-tailwind-design-system/SKILL.md +17 -17
  331. package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +36 -36
  332. package/skills/fec-tdd-workflow/SKILL.md +28 -28
  333. package/skills/fec-testing-strategy/SKILL.md +29 -29
  334. package/skills/fec-typescript-project-standard/SKILL.md +38 -38
  335. package/skills/fec-typescript-project-standard/references/type-safety-patterns.md +20 -20
  336. package/skills/fec-typescript-project-standard/references/type-safety.md +18 -18
  337. package/skills/fec-ui-design/SKILL.md +90 -90
  338. package/skills/fec-ui-design/references/design-intelligence.md +61 -61
  339. package/skills/fec-ui-design/references/master-page-overrides.md +15 -15
  340. package/skills/fec-ui-design/references/pre-delivery-checklist.md +38 -38
  341. package/skills/fec-validation-fix/SKILL.md +26 -26
  342. package/skills/fec-validation-fix/references/report-template.md +25 -25
  343. package/skills/fec-vite-project-standard/SKILL.md +39 -39
  344. package/skills/fec-vue3-project-standard/SKILL.md +38 -38
  345. package/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +36 -36
  346. package/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +8 -8
  347. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +112 -112
  348. package/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +74 -74
  349. package/skills/fec-web-video-presentation/SKILL.md +33 -33
  350. package/skills/fec-web-workers/SKILL.md +16 -16
  351. package/skills/fec-web-workers/references/advanced-workers.md +13 -13
  352. package/skills/fec-web-workers/references/basic-worker.md +8 -8
  353. package/skills/metadata.json +121 -115
  354. package/skills/relations.json +4 -0
  355. package/templates/claude/CLAUDE.md +60 -60
  356. package/templates/codex/AGENTS.md +76 -76
  357. package/templates/codex/config.toml +4 -4
  358. package/templates/openclaw/AGENTS.md +68 -68
  359. package/templates/openclaw/OPENCLAW-CONFIG.md +8 -8
  360. package/templates/shared/rules/fec-agent-workflow.md +40 -40
  361. package/templates/shared/rules/fec-api-layer.md +52 -52
  362. package/templates/shared/rules/fec-ci-cd.md +29 -29
  363. package/templates/shared/rules/fec-code-comments.md +22 -22
  364. package/templates/shared/rules/fec-design-system.md +53 -53
  365. package/templates/shared/rules/fec-error-handling.md +40 -40
  366. package/templates/shared/rules/fec-git-conventions.md +42 -42
  367. package/templates/shared/rules/fec-i18n.md +48 -48
  368. package/templates/shared/rules/fec-naming-conventions.md +91 -91
  369. package/templates/shared/rules/fec-performance.md +78 -78
  370. package/templates/shared/rules/fec-react.md +58 -58
  371. package/templates/shared/rules/fec-refactoring.md +34 -34
  372. package/templates/shared/rules/fec-rendering-patterns.md +36 -36
  373. package/templates/shared/rules/fec-responsive-design.md +37 -37
  374. package/templates/shared/rules/fec-source-driven-development.md +22 -22
  375. package/templates/shared/rules/fec-state-management.md +56 -56
  376. package/templates/shared/rules/fec-testing.md +64 -64
  377. package/templates/shared/rules/fec-typescript.md +75 -75
  378. package/templates/shared/rules/fec-vue.md +42 -42
  379. package/templates/shared/rules/fec-working-modes.md +34 -34
  380. package/skills/fec-drawio-studio/data/shape-index.json.gz +0 -0
@@ -1,40 +1,40 @@
1
1
  # Vue 3 project structure and component standards
2
2
 
3
- ## 项目结构
3
+ ## Project structure
4
4
 
5
- 以下为中大型 Vue 3 项目的业界最佳实践结构,按项目实际情况裁剪:
5
+ The following is the industry's best practice structure for medium and large Vue 3 projects, tailored according to the actual situation of the project:
6
6
 
7
7
  ```
8
8
  src/
9
- ├── app/ # 应用入口与全局配置
10
- │ ├── App.vue # 根组件
11
- │ ├── main.ts # 应用启动入口
12
- │ └── router.ts # 路由实例与配置
9
+ ├── app/ # Application entry and global configuration
10
+ │ ├── App.vue # Root component
11
+ │ ├── main.ts # Application startup entrance
12
+ │ └── router.ts # Routing instance and configuration
13
13
  │
14
- ├── pages/ # 页面组件(与路由一一对应)
14
+ ├── pages/ # Page components (one-to-one correspondence with routing)
15
15
  │ ├── Dashboard/
16
16
  │ │ ├── DashboardPage.vue
17
- │ │ ├── components/ # 页面私有组件
18
- │ │ └── composables/ # 页面私有 composables
17
+ │ │ ├── components/ # Page private components
18
+ │ │ └── composables/ # Page private composables
19
19
  │ ├── UserList/
20
20
  │ └── Settings/
21
21
  │
22
- ├── layouts/ # 布局组件
23
- │ ├── MainLayout.vue # 主布局(侧边栏 + 顶栏 + 内容区)
24
- │ ├── AuthLayout.vue # 登录/注册页布局
25
- │ └── BlankLayout.vue # 空白布局(错误页等)
22
+ ├── layouts/ # Layout component
23
+ │ ├── MainLayout.vue # Main layout (sidebar + top bar + content area)
24
+ │ ├── AuthLayout.vue # Login/registration page layout
25
+ │ └── BlankLayout.vue # Blank layout (error page, etc.)
26
26
  │
27
- ├── features/ # 功能模块(按业务领域划分)
27
+ ├── features/ # Function modules (divided by business areas)
28
28
  │ ├── auth/
29
- │ │ ├── components/ # 模块组件
30
- │ │ ├── composables/ # 模块 composables
31
- │ │ ├── api.ts # 模块 API 调用
32
- │ │ ├── types.ts # 模块类型定义
33
- │ │ ├── constants.ts # 模块常量
34
- │ │ └── index.ts # 模块公开导出
29
+ │ │ ├── components/ # Module components
30
+ │ │ ├── composables/ # module composables
31
+ │ │ ├── api.ts # Module API call
32
+ │ │ ├── types.ts # Module type definition
33
+ │ │ ├── constants.ts # Module constants
34
+ │ │ └── index.ts # Module publicly exported
35
35
  │ └── order/
36
36
  │
37
- ├── components/ # 全局共享 UI 组件
37
+ ├── components/ # Globally shared UI components
38
38
  │ ├── AppButton/
39
39
  │ │ ├── AppButton.vue
40
40
  │ │ └── __tests__/
@@ -42,113 +42,113 @@ src/
42
42
  │ ├── AppForm/
43
43
  │ └── AppErrorBoundary/
44
44
  │
45
- ├── composables/ # 全局共享 composables
45
+ ├── composables/ # Global shared composables
46
46
  │ ├── useAuth.ts
47
47
  │ ├── useDebounce.ts
48
48
  │ └── useMediaQuery.ts
49
49
  │
50
- ├── services/ # API 基础层
51
- │ ├── request.ts # Axios/fetch 实例与拦截器
52
- │ └── endpoints/ # API 端点定义(如按领域拆分)
50
+ ├── services/ # API base layer
51
+ │ ├── request.ts # Axios/fetch instance and interceptor
52
+ │ └── endpoints/ # API endpoint definition (such as split by field)
53
53
  │
54
- ├── stores/ # Pinia 状态管理
54
+ ├── stores/ # Pinia status management
55
55
  │ ├── authStore.ts
56
56
  │ └── uiStore.ts
57
57
  │
58
- ├── locales/ # 国际化语言包
59
- │ ├── zh-CN.json # 中文
60
- │ ├── en-US.json # 英文
61
- │ └── index.ts # i18n 实例初始化(vue-i18n)
62
- │
63
- ├── assets/ # 静态资源
64
- │ ├── images/ # 图片(PNG、JPG、WebP)
65
- │ ├── icons/ # SVG 图标
66
- │ └── fonts/ # 自定义字体
67
- │
68
- ├── config/ # 应用配置
69
- │ ├── env.ts # 环境变量类型化封装
70
- │ └── features.ts # Feature Flags 管理
71
- │
72
- ├── types/ # 全局共享类型
73
- │ ├── api.ts # API 响应/请求通用类型
74
- │ ├── models.ts # 业务实体类型
75
- │ └── global.d.ts # 全局类型扩展(组件类型、模块声明等)
76
- │
77
- ├── utils/ # 纯工具函数
78
- │ ├── format.ts # 日期、数字、货币格式化
79
- │ ├── validators.ts # 表单校验规则
80
- │ └── storage.ts # LocalStorage / SessionStorage 封装
81
- │
82
- ├── directives/ # 自定义指令
83
- │ ├── vPermission.ts # 权限指令
84
- │ └── vClickOutside.ts # 点击外部关闭
85
- │
86
- ├── plugins/ # Vue 插件注册
87
- │ ├── i18n.ts # vue-i18n 插件配置
88
- │ └── index.ts # 插件统一注册入口
89
- │
90
- ├── styles/ # 全局样式与主题
91
- │ ├── global.css # 全局基础样式(reset / normalize)
92
- │ ├── variables.css # CSS 变量(颜色、间距、字号)
93
- │ ├── breakpoints.ts # 响应式断点常量
94
- │ └── themes/ # 主题定义
95
- │ ├── light.css # 亮色主题变量
96
- │ ├── dark.css # 暗色主题变量
97
- │ └── index.ts # 主题切换逻辑
98
- │
99
- └── constants/ # 全局常量
100
- ├── routes.ts # 路由路径常量
101
- └── config.ts # 业务常量(分页大小、超时时间等)
58
+ ├── locales/ # International language pack
59
+ │ ├── zh-CN.json # Simplified Chinese
60
+ │ ├── en-US.json # English
61
+ │ └── index.ts # i18n instance initialization (vue-i18n)
62
+ │
63
+ ├── assets/ # Static resources
64
+ │ ├── images/ # Pictures (PNG, JPG, WebP)
65
+ │ ├── icons/ # SVG icon
66
+ │ └── fonts/ # Custom fonts
67
+ │
68
+ ├── config/ # Application configuration
69
+ │ ├── env.ts # Typed encapsulation of environment variables
70
+ │ └── features.ts # Feature Flags Management
71
+ │
72
+ ├── types/ # Global shared types
73
+ │ ├── api.ts # API response/request common type
74
+ │ ├── models.ts #Business entity type
75
+ │ └── global.d.ts # Global type extension (component type, module declaration, etc.)
76
+ │
77
+ ├── utils/ # Pure utility function
78
+ │ ├── format.ts # Date, number, currency formatting
79
+ │ ├── validators.ts # Form validation rules
80
+ │ └── storage.ts # LocalStorage / SessionStorage package
81
+ │
82
+ ├── directives/ # Custom directives
83
+ │ ├── vPermission.ts # Permission command
84
+ │ └── vClickOutside.ts # Click outside to close
85
+ │
86
+ ├── plugins/ # Vue plug-in registration
87
+ │ ├── i18n.ts # vue-i18n plug-in configuration
88
+ │ └── index.ts # Plug-in unified registration entrance
89
+ │
90
+ ├── styles/ # Global styles and themes
91
+ │ ├── global.css # Global basic style (reset/normalize)
92
+ │ ├── variables.css # CSS variables (color, spacing, font size)
93
+ │ ├── breakpoints.ts # Responsive breakpoint constants
94
+ │ └── themes/ # theme definition
95
+ │ ├── light.css # Light theme variable
96
+ │ ├── dark.css # Dark theme variable
97
+ │ └── index.ts # theme switching logic
98
+ │
99
+ └── constants/ # Global constants
100
+ ├── routes.ts #Routing path constants
101
+ └── config.ts #Business constants (paging size, timeout, etc.)
102
102
  ```
103
103
 
104
- ### 关键原则
105
-
106
- - `pages/` 做路由映射和布局组合,不放业务逻辑
107
- - `layouts/` 定义页面骨架(侧边栏、顶栏、面包屑),由路由配置的 `component` 引用
108
- - `features/` 按业务领域划分,模块内自包含(components + composables + api + types)
109
- - `components/` 仅放无业务耦合的通用组件,可跨项目复用
110
- - `composables/` 仅放通用逻辑(防抖、媒体查询等),业务 composables 放到对应 feature 中
111
- - `locales/` 存放语言包 JSON 文件,模板中使用 `$t('key')` 而非硬编码文案
112
- - `assets/` 存放静态资源,图标优先使用 SVG,图片优先使用 WebP/AVIF
113
- - `config/` 封装环境变量和 Feature Flags,禁止组件中直接读取 `import.meta.env`
114
- - `styles/themes/` 通过 CSS 变量实现主题切换,组件中引用变量而非硬编码颜色
115
- - 每个模块通过 `index.ts` 管控公开 API,避免深层路径导入
116
-
117
- ## 组件设计规范
118
-
119
- - 使用 `<script setup lang="ts">`
120
- - 明确使用 `defineProps` / `defineEmits` 并附带类型
121
- - 可复用逻辑优先提取到 composables
122
- - 保持 template 可读,避免过深条件嵌套
123
- - 优先使用计算属性,而不是重复维护状态
124
- - 避免构建大型单体组件;**单文件规模**见 `templates/shared/rules/fec-vue.md`「**组件文件规模**」(约 300 行内为佳,逾 500 行或复杂度过高拆子组件与 Composables)
125
- - 优先使用强类型的 props、emits 和暴露方法
126
- - 遵循仓库的文件与目录命名规范
127
- - 优先复用现有 UI 组件和 Token
128
-
129
- ### 组件分层
104
+ ### Key Principles
105
+
106
+ - `pages/` does route mapping and layout combination without putting business logic
107
+ - `layouts/` defines the page skeleton (sidebar, top bar, breadcrumbs), referenced by the `component` of the routing configuration
108
+ - `features/` is divided by business areas, self-contained within the module (components + composables + api + types)
109
+ - `components/` only contains common components without business coupling and can be reused across projects
110
+ - `composables/` only places common logic (anti-shake, media query, etc.), and business composables are placed in the corresponding feature
111
+ - `locales/` stores language pack JSON files, use `$t('key')` in the template instead of hard-coded copy
112
+ - `assets/` stores static resources, SVG is preferred for icons, and WebP/AVIF is preferred for images.
113
+ - `config/` encapsulates environment variables and Feature Flags, prohibiting direct reading of `import.meta.env` in components
114
+ - `styles/themes/` implements theme switching through CSS variables. Variables are referenced in components instead of hard-coded colors.
115
+ - Each module controls the public API through `index.ts` to avoid deep path imports
116
+
117
+ ## Component design specifications
118
+
119
+ - Use `<script setup lang="ts">`
120
+ - Explicitly use `defineProps` / `defineEmits` with accompanying types
121
+ - Reusable logic is first extracted to composables
122
+ - Keep the template readable and avoid too deep nesting of conditions
123
+ - Prefer using computed properties instead of repeatedly maintaining state
124
+ - Avoid building large single components; **single file size** see `templates/shared/rules/fec-vue.md` "**component file size**" (approximately 300 lines or less, more than 500 lines or too complex to separate sub-components and Composables)
125
+ - Prioritize the use of strongly typed props, emits and exposed methods
126
+ - Follow the file and directory naming conventions of the warehouse
127
+ - Prioritize reuse of existing UI components and tokens
128
+
129
+ ### Component layering
130
130
 
131
131
  ```
132
- 页面组件 (Pages) → 路由映射、布局组合
133
- └── 容器组件 (Containers) → 数据获取、状态编排
134
- └── 业务组件 (Features) → 领域逻辑展示
135
- └── 通用组件 (UI) → 纯展示,无业务耦合
132
+ Pages → Route mapping, layout combination
133
+ └── Container components (Containers) → Data acquisition, status orchestration
134
+ └── Business components (Features) → Domain logic display
135
+ └── Universal Component (UI) → Pure display, no business coupling
136
136
  ```
137
137
 
138
- ## 注释规范
138
+ ## Comment specifications
139
139
 
140
- - **优先使用中文**:解释「为什么这样做」、业务约束、边界情况、非显而易见的权衡时,优先用中文撰写注释,便于团队与业务方阅读。
141
- - **与代码语言一致时的例外**:对接第三方协议字段名、HTTP 头、规范中的英文术语时,注释里可保留英文专有名词,必要时中英文并列说明。
142
- - **少而精**:能通过清晰命名与类型表达清楚的逻辑不写废话注释;复杂分支、临时兼容、性能取舍必须写清意图。
143
- - **公开 API**:composable 或模块的对外契约可用 JSDoc(`@param` / `@returns` / `@example`),说明用中文即可,除非仓库统一要求英文。
140
+ - **Prefer using Chinese**: When explaining "why this is done", business constraints, boundary conditions, and non-obvious trade-offs, give priority to writing comments in Chinese to make it easier for the team and business parties to read.
141
+ - **Exception when consistent with the code language**: When connecting third-party protocol field names, HTTP headers, and English terms in specifications, English proper nouns can be retained in the comments, and Chinese and English descriptions can be given when necessary.
142
+ - **Less but more precise**: Can express clear logic through clear naming and types without writing nonsense comments; complex branches, temporary compatibility, and performance trade-offs must be clearly stated.
143
+ - **Public API**: Composable or module external contracts can use JSDoc (`@param` / `@returns` / `@example`). The instructions can be in Chinese, unless the warehouse requires English.
144
144
 
145
- ## TypeScript 规范
145
+ ## TypeScript Specification
146
146
 
147
- 通用 TypeScript 工程规则由 `fec-typescript-project-standard` 负责,包括 `tsconfig`、strictness、DTO / view model 边界、`unknown` 收窄、public API 类型、声明产物和类型测试。
147
+ Common TypeScript project rules are taken care of by `fec-typescript-project-standard`, including `tsconfig`, strictness, DTO / view model boundaries, `unknown` narrowing, public API types, declared artifacts, and type tests.
148
148
 
149
- Vue 规范只补充 SFC、Props / Emits、暴露方法、Provide / Inject 和 composable 响应性类型;复杂类型建模或跨框架类型契约先分流到 `fec-typescript-project-standard`。
149
+ The Vue specification only supplements SFC, Props / Emits, exposed methods, Provide / Inject and composable reactive types; complex type modeling or cross-framework type contracts are first offloaded to `fec-typescript-project-standard`.
150
150
 
151
- ### Vue 3 项目补充约定
151
+ ### Vue 3 project supplementary conventions
152
152
 
153
153
  ```vue
154
154
  <script setup lang="ts">
@@ -171,7 +171,7 @@ const emit = defineEmits<Emits>();
171
171
  </script>
172
172
  ```
173
173
 
174
- - Props 和 Emits 使用 TypeScript interface 定义
175
- - 使用 `withDefaults` 设置默认值
176
- - `defineExpose` 暴露的方法需有类型约束
174
+ - Props and Emits are defined using the TypeScript interface
175
+ - Use `withDefaults` to set default values
176
+ - `defineExpose` exposed methods must have type constraints
177
177
 
@@ -1,18 +1,18 @@
1
1
  # Vue 3 state, API, and quality patterns
2
2
 
3
- ## 状态管理(Pinia)
3
+ ## Status Management (Pinia)
4
4
 
5
- | 状态类型 | 推荐方案 |
5
+ | Status type | Recommended solution |
6
6
  | ------------------ | ----------------------------- |
7
- | 组件内临时 UI 状态 | `ref` / `reactive` |
8
- | 跨组件共享业务状态 | Pinia store |
9
- | 服务端数据缓存 | VueQuery / 自定义 composable |
10
- | URL 驱动状态 | 路由参数 / `useRoute().query` |
11
- | 表单状态 | VeeValidate / FormKit |
7
+ | Temporary UI state within the component | `ref` / `reactive` |
8
+ | Sharing business status across components | Pinia store |
9
+ | Server-side data cache | VueQuery / Custom composable |
10
+ | URL driver status | Route parameters / `useRoute().query` |
11
+ | Form Status | VeeValidate / FormKit |
12
12
 
13
- ### Pinia Store 规范
13
+ ### Pinia Store Specifications
14
14
 
15
- 使用 Composition API 风格(`setup store`):
15
+ Using Composition API style (`setup store`):
16
16
 
17
17
  ```typescript
18
18
  // stores/authStore.ts
@@ -39,16 +39,16 @@ export const useAuthStore = defineStore("auth", () => {
39
39
  });
40
40
  ```
41
41
 
42
- ### Store 原则
42
+ ### Store Principles
43
43
 
44
- - 每个 store 职责单一,按领域拆分
45
- - 对外暴露 `readonly` 的状态,通过 action 修改
46
- - 不要在 store 中存放 UI 临时状态(modal 开关、表单输入等)
47
- - 服务端数据优先用请求库管理,而非手动存入 store
44
+ - Each store has a single responsibility and is split by area.
45
+ - Expose the status of `readonly` to the outside world and modify it through action
46
+ - Do not store UI temporary states (modal switches, form inputs, etc.) in the store
47
+ - Server-side data is first managed by the request library rather than manually stored in the store
48
48
 
49
- ## API 层规范
49
+ ## API layer specification
50
50
 
51
- ### 请求实例
51
+ ### Request instance
52
52
 
53
53
  ```typescript
54
54
  // services/request.ts
@@ -78,7 +78,7 @@ request.interceptors.response.use(
78
78
  );
79
79
  ```
80
80
 
81
- ### API 函数
81
+ ### API functions
82
82
 
83
83
  ```typescript
84
84
  // features/user/api.ts
@@ -93,13 +93,13 @@ export function updateUser(id: string, data: UpdateUserDTO): Promise<User> {
93
93
  }
94
94
  ```
95
95
 
96
- - API 函数按 feature 组织,而非全部堆在一个文件
97
- - 请求参数和响应都有类型约束
98
- - 拦截器统一处理认证、错误格式化
96
+ - API functions are organized by feature instead of all being piled in one file
97
+ - Request parameters and responses have type constraints
98
+ - The interceptor handles authentication and error formatting uniformly
99
99
 
100
- ## 错误处理
100
+ ## Error handling
101
101
 
102
- ### 全局错误捕获
102
+ ### Global error capture
103
103
 
104
104
  ```typescript
105
105
  // main.ts
@@ -108,13 +108,13 @@ app.config.errorHandler = (err, instance, info) => {
108
108
  };
109
109
  ```
110
110
 
111
- ### 组件级错误
111
+ ### Component level errors
112
112
 
113
- - 使用 `onErrorCaptured` 在父组件中捕获子组件错误
114
- - 数据请求失败需有用户可见的提示和重试机制
115
- - 不要吞掉错误(空 catch 块)
113
+ - Use `onErrorCaptured` to capture child component errors in the parent component
114
+ - Failed data requests must have user-visible prompts and retry mechanisms
115
+ - Don't swallow errors (empty catch block)
116
116
 
117
- ## 自定义指令
117
+ ## Custom directive
118
118
 
119
119
  ```typescript
120
120
  // directives/vPermission.ts
@@ -128,30 +128,30 @@ export const vPermission: Directive<HTMLElement, string> = {
128
128
  };
129
129
  ```
130
130
 
131
- - 指令只处理 DOM 层面的操作
132
- - 业务逻辑不要放在指令中
133
- - 需要响应式更新时实现 `updated` 钩子
131
+ - The directive only handles operations at the DOM level
132
+ - Do not put business logic in instructions
133
+ - Implement the `updated` hook when responsive updates are required
134
134
 
135
- ## 样式规范
135
+ ## Style specification
136
136
 
137
- - 使用 `<style scoped>` 隔离样式
138
- - 深度选择器使用 `:deep()` 而非已废弃的 `::v-deep`
139
- - 与项目现有样式体系保持一致
140
- - 动态样式优先使用 `:class` / `:style` 绑定
141
- - 复杂主题切换使用 CSS 变量
142
- - 主题/全局变量通过 CSS 变量或 Token 管理
137
+ - Use `<style scoped>` to isolate styles
138
+ - Depth selector uses `:deep()` instead of the deprecated `::v-deep`
139
+ - Be consistent with the existing style system of the project
140
+ - Dynamic styles preferentially use `:class` / `:style` binding
141
+ - Complex theme switching using CSS variables
142
+ - Theme/global variables are managed through CSS variables or Token
143
143
 
144
- ## 测试规范
144
+ ## Test specifications
145
145
 
146
- ### 必须测试
146
+ ### Must be tested
147
147
 
148
- - 核心交互行为(点击、输入、提交)
149
- - 条件渲染(loading / error / empty / data)
150
- - Emits 的触发和 payload
151
- - 关键 composables 的返回值
152
- - Pinia store 的 action 和 getter
148
+ - Core interaction behaviors (click, input, submit)
149
+ - Conditional rendering (loading/error/empty/data)
150
+ - Emits trigger and payload
151
+ - Return value of key composables
152
+ - Pinia store actions and getters
153
153
 
154
- ### 测试风格
154
+ ### Test style
155
155
 
156
156
  ```typescript
157
157
  describe("UserForm", () => {
@@ -167,12 +167,12 @@ describe("UserForm", () => {
167
167
  it("should show validation error on empty submit", async () => {
168
168
  const wrapper = mount(UserForm);
169
169
  await wrapper.find("form").trigger("submit");
170
- expect(wrapper.text()).toContain("用户名不能为空");
170
+ expect(wrapper.text()).toContain("Username cannot be empty");
171
171
  });
172
172
  });
173
173
  ```
174
174
 
175
- ### Store 测试
175
+ ### Store Test
176
176
 
177
177
  ```typescript
178
178
  describe("authStore", () => {
@@ -187,30 +187,30 @@ describe("authStore", () => {
187
187
  ```
188
188
 
189
189
 
190
- ## 反模式
191
-
192
- - 在模板驱动组件中内联大段业务逻辑
193
- - 本该用 computed 却使用大范围 watcher
194
- - 事件 payload 不明确
195
- - 在纯展示组件中直接混入原始 API 调用
196
- - ref 和 props 没有类型约束
197
- - 用 `watch` + 手动赋值模拟 computed
198
- - 在一个组件中混入无关职责
199
- - 用大范围全局样式覆盖去解决局部 UI 问题
200
- - 将所有状态推入 Pinia store,而非就近管理
201
- - 在 `components/` 中放业务耦合组件
202
- - 直接从 feature 内部深层路径导入,绕过 `index.ts`
203
-
204
- ## 输出检查清单
205
-
206
- - [ ] 文件结构与项目约定一致(pages / features / components 分离)
207
- - [ ] 使用 `<script setup lang="ts">`
208
- - [ ] Props / Emits 类型完整
209
- - [ ] 解释性注释是否优先使用中文且点到要害
210
- - [ ] 可复用逻辑已提取到 composable
211
- - [ ] Loading / Error / Empty 状态均已处理
212
- - [ ] 路由组件使用动态 import 加载
213
- - [ ] 状态管理方案合理(就近原则)
214
- - [ ] API 调用有类型约束和统一错误处理
215
- - [ ] 样式使用 scoped 隔离
216
- - [ ] 关键行为有测试覆盖
190
+ ## Anti-pattern
191
+
192
+ - Inline large sections of business logic in template-driven components
193
+ - Used wide range watcher instead of computed
194
+ - The event payload is unclear
195
+ - Mix raw API calls directly into pure presentation components
196
+ - ref and props have no type constraints
197
+ - Use `watch` + manual assignment to simulate computed
198
+ - Mixing unrelated responsibilities into a component
199
+ - Use large-scale global style coverage to solve local UI problems
200
+ - Push all status to Pinia store instead of managing it nearby
201
+ - Put business coupling components in `components/`
202
+ - Import directly from the deep path inside the feature, bypassing `index.ts`
203
+
204
+ ## Output checklist
205
+
206
+ - [ ] The file structure is consistent with the project convention (pages/features/components are separated)
207
+ - [ ] Use `<script setup lang="ts">`
208
+ - [ ] Props / Emits type complete
209
+ - [ ] Whether explanatory comments should be given priority in Chinese and to the point
210
+ - [ ] Reusable logic has been extracted to composable
211
+ - [ ] Loading / Error / Empty status have been processed
212
+ - [ ] Routing components are loaded using dynamic import
213
+ - [ ] Reasonable status management plan (proximity principle)
214
+ - [ ] API calls have type constraints and unified error handling
215
+ - [ ] styles use scoped isolation
216
+ - [ ] Key behaviors are covered by tests
@@ -1,61 +1,61 @@
1
1
  ---
2
2
  name: fec-web-video-presentation
3
- description: Use when turning an article, talk script, lesson, product demo, or narrated explanation into a recordable 16:9 web presentation with step-driven scenes, optional narration alignment, theme tokens, and screen-recording guidance; Chinese triggers include 网页视频, 动态演示, 口播稿转视频, 可录屏演示, 16:9 演示.
3
+ description: Use when turning an article, talk script, lesson, product demo, or narrated explanation into a recordable 16:9 web presentation with step-driven scenes, optional narration alignment, theme tokens, and screen-recording guidance; Chinese triggers include web video, dynamic demonstration, spoken script to video, screen-recordable demonstration, 16:9 demonstration.
4
4
  ---
5
5
 
6
- # 网页视频演示
6
+ # Web video demonstration
7
7
 
8
8
  ## Purpose
9
9
 
10
- 把文章、口播稿、课程、产品讲解或技术分享转成可录屏的 16:9 网页演示。产物应像一个可点击推进的视频舞台:每一步承载一个口播节拍,视觉设计服务内容节奏,并能用浏览器稳定录制。
10
+ Convert articles, oral presentations, courses, product explanations or technology sharing into screen-recordable 16:9 web presentations. The product should be like a clickable video stage: each step carries a spoken rhythm, the visual design serves the content rhythm, and can be stably recorded using the browser.
11
11
 
12
12
  ## Procedure
13
13
 
14
- 1. 判断输入形态
15
- - 用户给文章或长文时,先拆成口播稿和 outline。
16
- - 用户给现成口播稿时,保留原顺序,只补 outline、章节和 step。
17
- - 用户只给主题但没有内容时,先要求素材、大纲或目标要点;不要替用户虚构整篇内容。
14
+ 1. Determine the input form
15
+ - When the user submits an article or long text, it is first split into a spoken draft and an outline.
16
+ - When the user broadcasts the manuscript to the ready-made script, the original order is retained and only the outline, chapters and steps are added.
17
+ - When the user only provides a topic but no content, first ask for materials, outlines or key points; do not make up the entire content for the user.
18
18
 
19
- 2. 生成内容计划
20
- - 按 [content-plan.md](references/content-plan.md) 输出 script 与 outline。
21
- - script 决定讲述顺序和每个节拍;outline 决定章节、step、估时、屏幕信息和素材清单。
22
- - outline 只描述内容密度和画面任务,不提前写死具体动画实现。
19
+ 2. Generate a content plan
20
+ - Press [content-plan.md](references/content-plan.md) to output script and outline.
21
+ - The script determines the order of telling and each beat; the outline determines the chapters, steps, time estimates, screen information and material list.
22
+ - The outline only describes the content density and screen tasks, and does not write down the specific animation implementation in advance.
23
23
 
24
- 3. 对齐演示系统
25
- - 从 [theme-system.md](references/theme-system.md) 或 [starter-themes.json](data/starter-themes.json) 选择一个 starter theme,也可以按项目品牌重新定义 token。
26
- - 使用 [create-video-presentation.mjs](scripts/create-video-presentation.mjs) 创建最小 Vite + React + TypeScript 演示骨架:
24
+ 3. Align the demo system
25
+ - Choose a starter theme from [theme-system.md](references/theme-system.md) or [starter-themes.json](data/starter-themes.json), or redefine the token by project brand.
26
+ - Create a minimal Vite + React + TypeScript presentation skeleton using [create-video-presentation.mjs](scripts/create-video-presentation.mjs):
27
27
  ```bash
28
28
  node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs ./presentation --theme editorial-slate
29
29
  ```
30
- - 如只想预览可选主题或计划写入内容:
30
+ - If you just want to preview optional themes or plan to write content:
31
31
  ```bash
32
32
  node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs --list-themes
33
33
  node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs --dry-run ./presentation --theme editorial-slate
34
34
  ```
35
35
 
36
- 4. 实现章节
37
- - 每章按 [chapter-craft.md](references/chapter-craft.md) 实现。
38
- - 每个 step 独占舞台,屏幕只承载当前口播节拍需要用户理解的核心内容。
39
- - 章节必须有可见的视觉演示、图形、布局变化、状态推进或数据/媒体呈现;不要交付纯文本幻灯片。
40
- - 第一章应作为风格锚点优先完成并验收,再继续其它章节。
36
+ 4. Implementation Chapter
37
+ - Each chapter is implemented as [chapter-craft.md](references/chapter-craft.md).
38
+ - Each step occupies the stage exclusively, and the screen only carries the core content that the user needs to understand for the current spoken beat.
39
+ - Chapters must have visible visual presentation, graphics, layout changes, status progression, or data/media presentation; do not deliver text-only slides.
40
+ - The first chapter should be completed and accepted first as the style anchor before continuing with other chapters.
41
41
 
42
- 5. 录屏和音频
43
- - 使用 [recording-and-audio.md](references/recording-and-audio.md) 检查舞台比例、导航、录制模式和可选音频同步。
44
- - 音频可以来自用户已有文件、宿主工具或项目自己的 TTS 流程;本技能不绑定特定 TTS 供应商。
42
+ 5. Screen recording and audio
43
+ - Use [recording-and-audio.md](references/recording-and-audio.md) to check stage scale, navigation, recording mode and optional audio synchronization.
44
+ - Audio can come from the user's existing files, host tools, or the project's own TTS process; this skill is not bound to a specific TTS provider.
45
45
 
46
- 6. 交付前验证
47
- - 浏览器打开演示,检查 16:9 缩放、键盘/点击推进、step 数、文本溢出、隐藏控件、控制台错误和录屏路径。
48
- - 若章节数量、顺序或 step 数变化,重置本地持久化 key 或清理旧进度,避免恢复到不存在的 step。
46
+ 6. Pre-delivery verification
47
+ - Open the demo in a browser to check 16:9 zoom, keyboard/click advancement, step count, text overflow, hidden controls, console errors, and screen recording path.
48
+ - If the number, order or step number of chapters changes, reset the local persistence key or clear the old progress to avoid reverting to a non-existent step.
49
49
 
50
50
  ## Constraints
51
51
 
52
- - 不把网页视频做成普通营销落地页、静态 PPT 或长滚动文章。
53
- - 不复制参考项目的主题、模板章节、长提示词或脚手架实现;按当前项目生成原创骨架。
54
- - 不在 outline 阶段锁死每个动画名称;动画应由章节内容关系驱动。
55
- - 不使用假数据、假引用、假产品截图或不可检查媒体填充画面。
56
- - 不让控件、页码、说明文字或调试面板污染录屏画面;必要控件默认隐藏或弱化。
57
- - 不为音频合成引入项目外供应商约定;TTS 属于可选适配层。
52
+ - Do not turn web videos into ordinary marketing landing pages, static PPT or long scrolling articles.
53
+ - Do not copy the reference project's themes, template chapters, long prompts, or scaffolding implementations; generate an original skeleton based on the current project.
54
+ - Do not lock each animation name in the outline stage; animations should be driven by chapter content relationships.
55
+ - Do not use fake data, fake quotes, fake product screenshots or uncheckable media to fill the screen.
56
+ - Do not let controls, page numbers, explanatory text or debugging panels pollute the screen recording; necessary controls are hidden or weakened by default.
57
+ - No outside-project vendor conventions are introduced for audio synthesis; TTS is an optional adaptation layer.
58
58
 
59
59
  ## Expected Output
60
60
 
61
- 输出 script、outline、可运行的 16:9 网页演示骨架或章节实现,并说明主题、章节/step 数、录屏方式、可选音频路径和验证结果。最终演示应可通过点击或键盘稳定推进,视觉节奏贴合口播内容,且适合浏览器录屏。
61
+ Output script, outline, runnable 16:9 web page demonstration skeleton or chapter implementation, and describe the theme, number of chapters/steps, screen recording method, optional audio path and verification results. The final presentation should be able to be progressed steadily through clicks or keyboards, the visual rhythm should fit the spoken content, and it should be suitable for browser screen recording.