@bovinphang/frontend-craft 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.claude-plugin/marketplace.json +61 -0
  2. package/.claude-plugin/plugin.json +32 -0
  3. package/.mcp.json +44 -0
  4. package/CHANGELOG.md +229 -0
  5. package/CHANGELOG.zh-CN.md +228 -0
  6. package/CODE_OF_CONDUCT.md +34 -0
  7. package/CODE_OF_CONDUCT.zh-CN.md +34 -0
  8. package/CONTRIBUTING.md +356 -0
  9. package/CONTRIBUTING.zh-CN.md +356 -0
  10. package/LICENSE +21 -0
  11. package/README.md +467 -0
  12. package/README.openclaw.md +262 -0
  13. package/README.openclaw.zh-CN.md +262 -0
  14. package/README.zh-CN.md +467 -0
  15. package/SECURITY.md +44 -0
  16. package/SECURITY.zh-CN.md +44 -0
  17. package/agents/fec-architect.md +125 -0
  18. package/agents/fec-code-reviewer.md +152 -0
  19. package/agents/fec-debugger.md +44 -0
  20. package/agents/fec-design-token-mapper.md +75 -0
  21. package/agents/fec-doc-updater.md +30 -0
  22. package/agents/fec-e2e-runner.md +107 -0
  23. package/agents/fec-figma-implementer.md +104 -0
  24. package/agents/fec-performance-optimizer.md +293 -0
  25. package/agents/fec-refactor-cleaner.md +32 -0
  26. package/agents/fec-security-reviewer.md +116 -0
  27. package/agents/fec-test-planner.md +50 -0
  28. package/agents/fec-typescript-reviewer.md +142 -0
  29. package/agents/fec-ui-checker.md +120 -0
  30. package/commands/fec-debug.md +30 -0
  31. package/commands/fec-doc-sync.md +18 -0
  32. package/commands/fec-init.md +70 -0
  33. package/commands/fec-plan.md +94 -0
  34. package/commands/fec-refactor-clean.md +19 -0
  35. package/commands/fec-review.md +66 -0
  36. package/commands/fec-scaffold.md +205 -0
  37. package/commands/fec-tdd.md +21 -0
  38. package/dist/bin/frontend-craft.js +82 -0
  39. package/dist/hooks/fec-cleanup-claude-cache.js +4 -0
  40. package/dist/hooks/fec-format-changed-file.js +1 -0
  41. package/dist/hooks/fec-notify.js +1 -0
  42. package/dist/hooks/fec-run-tests.js +1 -0
  43. package/dist/hooks/fec-security-check.js +2 -0
  44. package/dist/hooks/fec-session-start.js +1 -0
  45. package/docs/example-prompts.md +124 -0
  46. package/docs/ja-JP/README.md +467 -0
  47. package/docs/ko-KR/README.md +467 -0
  48. package/docs/project-structure.md +119 -0
  49. package/docs/runtimes/antigravity.md +10 -0
  50. package/docs/runtimes/augment.md +10 -0
  51. package/docs/runtimes/claude.md +171 -0
  52. package/docs/runtimes/claude.zh-CN.md +169 -0
  53. package/docs/runtimes/cline.md +10 -0
  54. package/docs/runtimes/codebuddy.md +10 -0
  55. package/docs/runtimes/codex.md +10 -0
  56. package/docs/runtimes/copilot.md +10 -0
  57. package/docs/runtimes/cursor.md +10 -0
  58. package/docs/runtimes/gemini.md +10 -0
  59. package/docs/runtimes/kilo.md +10 -0
  60. package/docs/runtimes/openclaw.md +10 -0
  61. package/docs/runtimes/opencode.md +10 -0
  62. package/docs/runtimes/qoder.md +19 -0
  63. package/docs/runtimes/trae.md +10 -0
  64. package/docs/runtimes/windsurf.md +10 -0
  65. package/docs/superpowers/plans/2026-05-29-fec-debug.md +491 -0
  66. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +340 -0
  67. package/docs/zh-CN/example-prompts.md +124 -0
  68. package/docs/zh-CN/project-structure.md +119 -0
  69. package/docs/zh-TW/README.md +467 -0
  70. package/hooks/hooks.json +71 -0
  71. package/openclaw.plugin.json +26 -0
  72. package/package.json +101 -0
  73. package/skills/TEMPLATE.md +155 -0
  74. package/skills/eval_queries.json +890 -0
  75. package/skills/fec-accessibility-check/SKILL.md +39 -0
  76. package/skills/fec-accessibility-check/references/report-template.md +23 -0
  77. package/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
  78. package/skills/fec-api-integration/SKILL.md +78 -0
  79. package/skills/fec-api-integration/references/integration-patterns.md +80 -0
  80. package/skills/fec-browser-storage/SKILL.md +34 -0
  81. package/skills/fec-browser-storage/references/storage-patterns.md +65 -0
  82. package/skills/fec-canvas-threejs/SKILL.md +66 -0
  83. package/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
  84. package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
  85. package/skills/fec-code-review/SKILL.md +135 -0
  86. package/skills/fec-code-review/references/report-template.md +29 -0
  87. package/skills/fec-component-testing/SKILL.md +119 -0
  88. package/skills/fec-data-fetching/SKILL.md +62 -0
  89. package/skills/fec-data-fetching/references/query-patterns.md +77 -0
  90. package/skills/fec-debug-framework/SKILL.md +162 -0
  91. package/skills/fec-dependency-upgrade/SKILL.md +34 -0
  92. package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
  93. package/skills/fec-doc-sync/SKILL.md +37 -0
  94. package/skills/fec-e2e-testing/SKILL.md +40 -0
  95. package/skills/fec-e2e-testing/references/e2e-advanced.md +176 -0
  96. package/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
  97. package/skills/fec-form-handling/SKILL.md +76 -0
  98. package/skills/fec-form-handling/references/advanced-form-patterns.md +72 -0
  99. package/skills/fec-implement-from-design/SKILL.md +122 -0
  100. package/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
  101. package/skills/fec-legacy-to-modern-migration/SKILL.md +180 -0
  102. package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
  103. package/skills/fec-legacy-web-standard/SKILL.md +35 -0
  104. package/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
  105. package/skills/fec-list-virtualization/SKILL.md +34 -0
  106. package/skills/fec-list-virtualization/references/virtualization-patterns.md +52 -0
  107. package/skills/fec-monorepo-project-standard/SKILL.md +142 -0
  108. package/skills/fec-motion-interaction/SKILL.md +66 -0
  109. package/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
  110. package/skills/fec-nextjs-project-standard/SKILL.md +117 -0
  111. package/skills/fec-nuxt-project-standard/SKILL.md +122 -0
  112. package/skills/fec-performance-optimization/SKILL.md +72 -0
  113. package/skills/fec-pwa-implementation/SKILL.md +36 -0
  114. package/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
  115. package/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
  116. package/skills/fec-react-project-standard/SKILL.md +83 -0
  117. package/skills/fec-react-project-standard/references/react-project-details.md +642 -0
  118. package/skills/fec-refactor-clean/SKILL.md +48 -0
  119. package/skills/fec-responsive-layout/SKILL.md +34 -0
  120. package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +59 -0
  121. package/skills/fec-route-protection/SKILL.md +135 -0
  122. package/skills/fec-security-review/SKILL.md +38 -0
  123. package/skills/fec-security-review/references/report-template.md +27 -0
  124. package/skills/fec-security-review/references/security-checklist.md +64 -0
  125. package/skills/fec-source-driven-development/SKILL.md +61 -0
  126. package/skills/fec-state-management/SKILL.md +140 -0
  127. package/skills/fec-state-management/references/state-patterns.md +109 -0
  128. package/skills/fec-storybook-component-doc/SKILL.md +37 -0
  129. package/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
  130. package/skills/fec-svg-animation/SKILL.md +148 -0
  131. package/skills/fec-tailwind-design-system/SKILL.md +34 -0
  132. package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +55 -0
  133. package/skills/fec-tdd-workflow/SKILL.md +52 -0
  134. package/skills/fec-testing-strategy/SKILL.md +45 -0
  135. package/skills/fec-typescript-type-safety/SKILL.md +157 -0
  136. package/skills/fec-typescript-type-safety/references/type-safety-patterns.md +102 -0
  137. package/skills/fec-ui-design/SKILL.md +90 -0
  138. package/skills/fec-ui-design/data/product-rules.json +110 -0
  139. package/skills/fec-ui-design/data/stack-ui-rules.json +14 -0
  140. package/skills/fec-ui-design/data/style-archetypes.json +74 -0
  141. package/skills/fec-ui-design/data/ux-quality-rules.json +56 -0
  142. package/skills/fec-ui-design/references/design-intelligence.md +37 -0
  143. package/skills/fec-ui-design/references/master-page-overrides.md +30 -0
  144. package/skills/fec-ui-design/references/pre-delivery-checklist.md +33 -0
  145. package/skills/fec-ui-design/scripts/design-system.mjs +530 -0
  146. package/skills/fec-validation-fix/SKILL.md +48 -0
  147. package/skills/fec-vite-project-standard/SKILL.md +83 -0
  148. package/skills/fec-vue3-project-standard/SKILL.md +49 -0
  149. package/skills/fec-vue3-project-standard/references/vue3-project-details.md +547 -0
  150. package/skills/fec-web-workers/SKILL.md +36 -0
  151. package/skills/fec-web-workers/references/advanced-workers.md +54 -0
  152. package/skills/fec-web-workers/references/basic-worker.md +67 -0
  153. package/skills/metadata.json +1422 -0
  154. package/skills/relations.json +644 -0
  155. package/templates/claude/CLAUDE.md +106 -0
  156. package/templates/claude/settings.json +62 -0
  157. package/templates/codex/AGENTS.md +105 -0
  158. package/templates/codex/config.toml +32 -0
  159. package/templates/openclaw/AGENTS.md +101 -0
  160. package/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
  161. package/templates/shared/rules/fec-agent-workflow.md +54 -0
  162. package/templates/shared/rules/fec-api-layer.md +99 -0
  163. package/templates/shared/rules/fec-ci-cd.md +128 -0
  164. package/templates/shared/rules/fec-code-comments.md +33 -0
  165. package/templates/shared/rules/fec-design-system.md +248 -0
  166. package/templates/shared/rules/fec-error-handling.md +200 -0
  167. package/templates/shared/rules/fec-git-conventions.md +73 -0
  168. package/templates/shared/rules/fec-i18n.md +112 -0
  169. package/templates/shared/rules/fec-naming-conventions.md +120 -0
  170. package/templates/shared/rules/fec-performance.md +101 -0
  171. package/templates/shared/rules/fec-react.md +82 -0
  172. package/templates/shared/rules/fec-refactoring.md +43 -0
  173. package/templates/shared/rules/fec-rendering-patterns.md +183 -0
  174. package/templates/shared/rules/fec-responsive-design.md +227 -0
  175. package/templates/shared/rules/fec-source-driven-development.md +31 -0
  176. package/templates/shared/rules/fec-state-management.md +163 -0
  177. package/templates/shared/rules/fec-testing.md +98 -0
  178. package/templates/shared/rules/fec-typescript.md +355 -0
  179. package/templates/shared/rules/fec-vue.md +64 -0
  180. package/templates/shared/rules/fec-working-modes.md +50 -0
@@ -0,0 +1,106 @@
1
+ # 项目说明
2
+
3
+ 本仓库由前端团队维护。
4
+
5
+ 核心要求:
6
+
7
+ - 在调整架构前,先理解现有代码
8
+ - 优先复用,而不是重复造轮子
9
+ - 保持改动小、清晰、便于评审
10
+ - 先遵循项目标准,再考虑通用模式
11
+
12
+ ## 项目基础信息
13
+
14
+ <!-- 请根据项目实际情况修改以下配置 -->
15
+
16
+ - 语言:TypeScript
17
+ - 包管理器:pnpm
18
+ - 构建工具:Vite
19
+ - 测试工具: Vitest + Testing Library
20
+ - UI 体系:优先复用现有组件库和设计 Token
21
+ - 设计实现流程:如有条件,优先使用设计工具 MCP(Figma / MasterGo / Pixso / 墨刀 / Sketch)上下文
22
+
23
+ ## 常用命令
24
+
25
+ 优先使用仓库现有命令,不要自行发明替代命令。
26
+
27
+ <!-- 请根据项目实际情况修改 -->
28
+
29
+ - 安装:`pnpm install`
30
+ - 开发:`pnpm dev`
31
+ - Lint:`pnpm lint`
32
+ - 类型检查:`pnpm type-check`
33
+ - 测试:`pnpm test`
34
+ - 构建:`pnpm build`
35
+
36
+ 如果命令缺失,先检查 `package.json`。
37
+
38
+ ## 通用工作原则
39
+
40
+ 改代码前:
41
+
42
+ 1. 阅读目标模块及其周边模块
43
+ 2. 搜索已有可复用组件或工具函数
44
+ 3. 理解当前样式和 Token 约定
45
+ 4. 如果仓库里已有一套模式,不要再引入第二套
46
+
47
+ 实现时:
48
+
49
+ - 保持组件职责聚焦
50
+ - 将重复逻辑提取到 hooks / composables / utils
51
+ - 优先使用明确类型
52
+ - 优先使用可推导状态,避免重复维护状态
53
+ - 除非任务明确要求破坏性变更,否则保持向后兼容
54
+
55
+ 完成后:
56
+
57
+ - 执行 lint
58
+ - 如有类型检查则执行 type check
59
+ - 如有测试则执行测试
60
+ - 总结改动文件、关键决策和剩余风险
61
+
62
+ ## Git 规范
63
+
64
+ - 提交前必须通过 lint 和类型检查
65
+ - 未经我确认不要直接 commit
66
+ - 分支命名: feature/xxx, fix/xxx, refactor/xxx
67
+ - Commit 格式: 遵循 Conventional Commits(详见 rules/fec-git-conventions.md)
68
+
69
+ ## 设计稿实现工作流
70
+
71
+ 当存在设计上下文时:
72
+
73
+ 1. 先通过 MCP 读取设计上下文(Figma / MasterGo / Pixso / 墨刀 / Sketch,摹客则使用截图/标注)
74
+ 2. 检查项目现有组件体系
75
+ 3. 先产出简短实现计划
76
+ 4. 分步骤实现
77
+ 5. 执行校验命令
78
+ 6. 总结偏差和风险
79
+
80
+ ## 安全要求
81
+
82
+ 不要主动暴露或打印任何密钥。
83
+ 除非任务明确要求且权限允许,不要读取或修改敏感文件。
84
+ 除非明确要求并获得批准,不要执行破坏性 shell 命令。
85
+
86
+ ## 规则导入
87
+
88
+ <!-- 按项目技术栈选择性导入,删除不需要的行 -->
89
+
90
+ @./rules/fec-vue.md
91
+ @./rules/fec-react.md
92
+ @./rules/fec-design-system.md
93
+ @./rules/fec-testing.md
94
+ @./rules/fec-git-conventions.md
95
+ @./rules/fec-i18n.md
96
+ @./rules/fec-performance.md
97
+ @./rules/fec-api-layer.md
98
+ @./rules/fec-state-management.md
99
+ @./rules/fec-error-handling.md
100
+ @./rules/fec-naming-conventions.md
101
+ @./rules/fec-typescript.md
102
+ @./rules/fec-code-comments.md
103
+ @./rules/fec-ci-cd.md
104
+ @./rules/fec-refactoring.md
105
+ @./rules/fec-agent-workflow.md
106
+ @./rules/fec-working-modes.md
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "enableAllProjectMcpServers": true,
4
+ "permissions": {
5
+ "allow": [
6
+ "Bash(pnpm install)",
7
+ "Bash(pnpm dev)",
8
+ "Bash(pnpm lint)",
9
+ "Bash(pnpm lint *)",
10
+ "Bash(pnpm type-check)",
11
+ "Bash(pnpm type-check *)",
12
+ "Bash(pnpm typecheck)",
13
+ "Bash(pnpm typecheck *)",
14
+ "Bash(pnpm test)",
15
+ "Bash(pnpm test *)",
16
+ "Bash(pnpm build)",
17
+ "Bash(pnpm build *)",
18
+ "Bash(pnpm exec eslint *)",
19
+ "Bash(pnpm exec prettier *)",
20
+ "Bash(npm run lint)",
21
+ "Bash(npm run lint *)",
22
+ "Bash(npm run lint:fix)",
23
+ "Bash(npm run type-check)",
24
+ "Bash(npm run test)",
25
+ "Bash(npm run test *)",
26
+ "Bash(npm run build)",
27
+ "Bash(npm run build *)",
28
+ "Bash(yarn lint)",
29
+ "Bash(yarn lint *)",
30
+ "Bash(yarn type-check)",
31
+ "Bash(yarn typecheck)",
32
+ "Bash(yarn test)",
33
+ "Bash(yarn test *)",
34
+ "Bash(yarn build)",
35
+ "Bash(yarn build *)",
36
+ "Bash(npx prettier --write *)",
37
+ "Bash(git diff --stat)",
38
+ "Bash(git log *)"
39
+ ],
40
+ "deny": [
41
+ "Read(./.env)",
42
+ "Read(./.env.*)",
43
+ "Read(./secrets/**)",
44
+ "Read(./config/credentials.json)",
45
+ "Read(./*.pem)",
46
+ "Read(./*.key)",
47
+ "Read(./*.p12)",
48
+ "Read(./*.jks)",
49
+ "Bash(curl * | *sh*)",
50
+ "Bash(wget * | *sh*)",
51
+ "Bash(rm -rf /)",
52
+ "Bash(rm -rf /*)",
53
+ "Bash(git push * --force*)",
54
+ "Bash(npm publish)",
55
+ "Bash(sudo *)"
56
+ ]
57
+ },
58
+ "env": {
59
+ "BASH_DEFAULT_TIMEOUT_MS": "120000",
60
+ "BASH_MAX_OUTPUT_LENGTH": "30000"
61
+ }
62
+ }
@@ -0,0 +1,105 @@
1
+ # 项目说明
2
+
3
+ 本仓库由前端团队维护。
4
+
5
+ 核心要求:
6
+
7
+ - 在调整架构前,先理解现有代码
8
+ - 优先复用,而不是重复造轮子
9
+ - 保持改动小、清晰、便于评审
10
+ - 先遵循项目标准,再考虑通用模式
11
+
12
+ ## 项目基础信息
13
+
14
+ <!-- 请根据项目实际情况修改以下配置 -->
15
+
16
+ - 语言:TypeScript
17
+ - 包管理器:pnpm
18
+ - 构建工具:Vite
19
+ - 测试工具: Vitest + Testing Library
20
+ - UI 体系:优先复用现有组件库和设计 Token
21
+ - 设计实现流程:如有条件,优先使用设计工具 MCP(Figma / MasterGo / Pixso / 墨刀 / Sketch)上下文
22
+
23
+ ## 常用命令
24
+
25
+ 优先使用仓库现有命令,不要自行发明替代命令。
26
+
27
+ <!-- 请根据项目实际情况修改 -->
28
+
29
+ - 安装:`pnpm install`
30
+ - 开发:`pnpm dev`
31
+ - Lint:`pnpm lint`
32
+ - 类型检查:`pnpm type-check`
33
+ - 测试:`pnpm test`
34
+ - 构建:`pnpm build`
35
+
36
+ 如果命令缺失,先检查 `package.json`。
37
+
38
+ ## 通用工作原则
39
+
40
+ 改代码前:
41
+
42
+ 1. 阅读目标模块及其周边模块
43
+ 2. 搜索已有可复用组件或工具函数
44
+ 3. 理解当前样式和 Token 约定
45
+ 4. 如果仓库里已有一套模式,不要再引入第二套
46
+
47
+ 实现时:
48
+
49
+ - 保持组件职责聚焦
50
+ - 将重复逻辑提取到 hooks / composables / utils
51
+ - 优先使用明确类型
52
+ - 优先使用可推导状态,避免重复维护状态
53
+ - 除非任务明确要求破坏性变更,否则保持向后兼容
54
+
55
+ 完成后:
56
+
57
+ - 执行 lint
58
+ - 如有类型检查则执行 type check
59
+ - 如有测试则执行测试
60
+ - 总结改动文件、关键决策和剩余风险
61
+
62
+ ## Git 规范
63
+
64
+ - 提交前必须通过 lint 和类型检查
65
+ - 未经我确认不要直接 commit
66
+ - 分支命名: feature/xxx, fix/xxx, refactor/xxx
67
+ - Commit 格式: 遵循 Conventional Commits(详见 .codex/rules/fec-git-conventions.md)
68
+
69
+ ## 设计稿实现工作流
70
+
71
+ 当存在设计上下文时:
72
+
73
+ 1. 先通过 MCP 读取设计上下文(Figma / MasterGo / Pixso / 墨刀 / Sketch,摹客则使用截图/标注)
74
+ 2. 检查项目现有组件体系
75
+ 3. 先产出简短实现计划
76
+ 4. 分步骤实现
77
+ 5. 执行校验命令
78
+ 6. 总结偏差和风险
79
+
80
+ ## 安全要求
81
+
82
+ 不要主动暴露或打印任何密钥。
83
+ 除非任务明确要求且权限允许,不要读取或修改敏感文件。
84
+ 除非明确要求并获得批准,不要执行破坏性 shell 命令。
85
+
86
+ ## 详细规则
87
+
88
+ 项目详细规则位于 `.codex/rules/` 目录,按技术栈选择性参考:
89
+
90
+ - fec-vue.md / fec-react.md - 框架组件规范
91
+ - fec-typescript.md - TypeScript/JavaScript 规范(与 `typescript-reviewer` 子代理联动)
92
+ - fec-design-system.md - 设计系统与 Token
93
+ - fec-testing.md - 测试规范
94
+ - fec-git-conventions.md - Git 提交规范
95
+ - fec-i18n.md - 国际化规范(如需要)
96
+ - fec-performance.md - 性能优化
97
+ - fec-api-layer.md - API 层规范
98
+ - fec-state-management.md - 状态管理
99
+ - fec-error-handling.md - 错误处理
100
+ - fec-naming-conventions.md - 命名规范
101
+ - fec-code-comments.md - 代码注释(何时写、写什么)
102
+ - fec-ci-cd.md - CI/CD 规范
103
+ - fec-refactoring.md - 重构约束
104
+ - fec-agent-workflow.md - 子代理协作边界
105
+ - fec-working-modes.md - 调研、计划、开发、评审、收尾模式
@@ -0,0 +1,32 @@
1
+ # Frontend Craft - Codex 项目配置
2
+ # 复制到 .codex/config.toml 并根据项目需要调整
3
+
4
+ # MCP 设计工具集成(按需取消注释并配置环境变量)
5
+ # 需要设置: FIGMA_API_KEY, SKETCH_API_KEY, MG_MCP_TOKEN, MODAO_TOKEN
6
+
7
+ # [mcp_servers.figma]
8
+ # command = "npx"
9
+ # args = ["-y", "figma-developer-mcp", "--stdio"]
10
+ # env = { FIGMA_API_KEY = "${FIGMA_API_KEY}" }
11
+
12
+ # [mcp_servers.figma-desktop]
13
+ # command = "npx"
14
+ # args = ["-y", "@anthropic/figma-mcp"]
15
+ # env = { FIGMA_API_KEY = "${FIGMA_API_KEY}" }
16
+
17
+ # [mcp_servers.sketch]
18
+ # command = "npx"
19
+ # args = ["-y", "sketch-mcp-server", "--stdio"]
20
+ # env = { SKETCH_API_KEY = "${SKETCH_API_KEY}" }
21
+
22
+ # [mcp_servers.mastergo]
23
+ # command = "npx"
24
+ # args = ["-y", "@mastergo/magic-mcp", "--token=${MG_MCP_TOKEN}", "--url=https://mastergo.com"]
25
+
26
+ # [mcp_servers.pixso]
27
+ # url = "http://localhost:3667/mcp"
28
+
29
+ # [mcp_servers.modao]
30
+ # command = "npx"
31
+ # args = ["-y", "@modao-mcp/modao-proto-mcp"]
32
+ # env = { MODAO_TOKEN = "${MODAO_TOKEN}" }
@@ -0,0 +1,101 @@
1
+ # 项目说明
2
+
3
+ 本工作区由前端团队维护(由 **frontend-craft** OpenClaw 插件模板初始化)。
4
+
5
+ 核心要求:
6
+
7
+ - 在调整架构前,先理解现有代码
8
+ - 优先复用,而不是重复造轮子
9
+ - 保持改动小、清晰、便于评审
10
+ - 先遵循项目标准,再考虑通用模式
11
+
12
+ ## 项目基础信息
13
+
14
+ <!-- 请根据项目实际情况修改以下配置 -->
15
+
16
+ - 语言:TypeScript
17
+ - 包管理器:pnpm
18
+ - 构建工具:Vite
19
+ - 测试工具: Vitest + Testing Library
20
+ - UI 体系:优先复用现有组件库和设计 Token
21
+ - 设计实现流程:如有条件,优先使用设计工具 MCP(Figma / MasterGo / Pixso / 墨刀 / Sketch)上下文
22
+
23
+ ## 常用命令
24
+
25
+ 优先使用仓库现有命令,不要自行发明替代命令。
26
+
27
+ <!-- 请根据项目实际情况修改 -->
28
+
29
+ - 安装:`pnpm install`
30
+ - 开发:`pnpm dev`
31
+ - Lint:`pnpm lint`
32
+ - 类型检查:`pnpm type-check`
33
+ - 测试:`pnpm test`
34
+ - 构建:`pnpm build`
35
+
36
+ 如果命令缺失,先检查 `package.json`。
37
+
38
+ ## 通用工作原则
39
+
40
+ 改代码前:
41
+
42
+ 1. 阅读目标模块及其周边模块
43
+ 2. 搜索已有可复用组件或工具函数
44
+ 3. 理解当前样式和 Token 约定
45
+ 4. 如果仓库里已有一套模式,不要再引入第二套
46
+
47
+ 实现时:
48
+
49
+ - 保持组件职责聚焦
50
+ - 将重复逻辑提取到 hooks / composables / utils
51
+ - 优先使用明确类型
52
+ - 优先使用可推导状态,避免重复维护状态
53
+ - 除非任务明确要求破坏性变更,否则保持向后兼容
54
+
55
+ 完成后:
56
+
57
+ - 执行 lint
58
+ - 如有类型检查则执行 type check
59
+ - 如有测试则执行测试
60
+ - 总结改动文件、关键决策和剩余风险
61
+
62
+ ## Git 规范
63
+
64
+ - 提交前必须通过 lint 和类型检查
65
+ - 未经我确认不要直接 commit
66
+ - 分支命名: feature/xxx, fix/xxx, refactor/xxx
67
+ - Commit 格式: 遵循 Conventional Commits(详见本文件同目录 skills 下的 `git-conventions.md`)
68
+
69
+ ## 设计稿实现工作流
70
+
71
+ 当存在设计上下文时:
72
+
73
+ 1. 先通过 MCP 读取设计上下文(Figma / MasterGo / Pixso / 墨刀 / Sketch,摹客则使用截图/标注)
74
+ 2. 检查项目现有组件体系
75
+ 3. 先产出简短实现计划
76
+ 4. 分步骤实现
77
+ 5. 执行校验命令
78
+ 6. 总结偏差和风险
79
+
80
+ ## 安全要求
81
+
82
+ 不要主动暴露或打印任何密钥。
83
+ 除非任务明确要求且权限允许,不要读取或修改敏感文件。
84
+ 除非明确要求并获得批准,不要执行破坏性 shell 命令。
85
+
86
+ ## 规则与扩展技能
87
+
88
+ OpenClaw 会从本工作区的 `skills/` 加载 Markdown 技能。初始化后规则文件位于:
89
+
90
+ `skills/frontend-craft-rules/`
91
+
92
+ 按需阅读并在对话中引用相关片段,例如:
93
+
94
+ - `skills/frontend-craft-rules/fec-vue.md` / `fec-react.md` — 框架规范
95
+ - `skills/frontend-craft-rules/fec-typescript.md` — TypeScript/JavaScript(与 `typescript-reviewer` 剧本联动)
96
+ - `skills/frontend-craft-rules/fec-code-comments.md` — 代码注释(何时写、写什么)
97
+ - `skills/frontend-craft-rules/fec-testing.md`、`fec-performance.md`、`fec-design-system.md` 等
98
+ - `skills/frontend-craft-rules/fec-agent-workflow.md` — 子代理协作边界
99
+ - `skills/frontend-craft-rules/fec-working-modes.md` — 调研、计划、开发、评审、收尾模式
100
+
101
+ 若项目不需要某项规则,可删除对应文件或在对话中说明忽略。
@@ -0,0 +1,12 @@
1
+ # OpenClaw 配置说明(替代原 Claude Code settings.json)
2
+
3
+ 本插件不再提供 `settings.json`(Claude Code 专用)。在 OpenClaw 中请使用网关配置文件,例如:
4
+
5
+ - 用户级:`~/.openclaw/openclaw.json`(或你的 profile 路径)
6
+ - 工作区:按 `openclaw configure` / 文档约定
7
+
8
+ 常用关注点:
9
+
10
+ - **沙箱与执行策略**:参见官方文档 [Sandboxing](https://docs.openclaw.ai/gateway/sandboxing) 中的 `agents.defaults.sandbox` 等键
11
+ - **插件开关**:`plugins.entries.frontend-craft` 下可覆盖本插件 `configSchema` 中的布尔项(如 `formatAfterWrite`、`notifyOnAgentEnd`)
12
+ - **MCP**:原生插件不会自动合并仓库根目录的 `.mcp.json`;请将其中 `mcpServers` 合并到你的 embedded Pi / 网关 MCP 配置(见主 README 的 MCP 章节)
@@ -0,0 +1,54 @@
1
+ # 子代理协作规则
2
+
3
+ 当前端任务涉及多视角分析、跨模块规划、专项质量审查或验证失败修复时,优先使用职责明确的子代理。
4
+
5
+ ## 选择原则
6
+
7
+ - 架构、页面拆分、状态流、目录规划:`fec-architect`
8
+ - 前端 PR 综合评审:`fec-code-reviewer`
9
+ - TypeScript / JavaScript 语义与类型风险:`fec-typescript-reviewer`
10
+ - 安全风险:`fec-security-reviewer`
11
+ - 测试策略:`fec-test-planner`
12
+ - E2E 编写与运行:`fec-e2e-runner`
13
+ - 性能瓶颈:`fec-performance-optimizer`
14
+ - 来源/版本敏感决策:优先由主代理查项目事实和官方来源,再交给专项代理落地
15
+ - UI 视觉与设计稿差异:`fec-ui-checker`
16
+ - 设计稿实现:`fec-figma-implementer`
17
+ - Token 映射:`fec-design-token-mapper`
18
+ - 构建、类型、测试、CI 失败:`fec-build-fixer`
19
+ - 死代码与无用依赖清理:`fec-refactor-cleaner`
20
+ - README、runtime docs、能力表同步:`fec-doc-updater`
21
+
22
+ ## 多代理评审编排
23
+
24
+ 复杂 PR 可按质量维度并行评审,但必须有主代理负责合并结论。
25
+
26
+ | 变更类型 | 建议组合 | 主合并者 |
27
+ | --- | --- | --- |
28
+ | UI feature | `fec-code-reviewer` + `fec-typescript-reviewer` + `fec-test-planner` | `fec-code-reviewer` |
29
+ | 鉴权 / 上传 / 富文本 | `fec-security-reviewer` + `fec-code-reviewer` | `fec-security-reviewer` |
30
+ | 大列表 / 图表 / 3D / 性能问题 | `fec-performance-optimizer` + `fec-code-reviewer` | `fec-performance-optimizer` |
31
+ | 设计稿落地 | `fec-figma-implementer` + `fec-ui-checker` + `fec-code-reviewer` | `fec-figma-implementer` |
32
+ | 大型重构 | `fec-architect` + `fec-refactor-cleaner` + `fec-test-planner` | `fec-architect` |
33
+
34
+ 合并规则:
35
+
36
+ - 相同文件、相同行号、相同根因的问题合并为一条,保留最高严重级别。
37
+ - 相同根因分布在多处时写成模式级发现,列代表性位置,不逐行刷屏。
38
+ - 结论冲突时先回到项目事实、测试结果和用户影响,不用代理身份决定谁对。
39
+ - 主代理输出最终 Verdict,并列出各专项代理覆盖的范围和未覆盖范围。
40
+
41
+ ## 协作约束
42
+
43
+ - 委托前先明确范围、输入和输出,不把模糊任务丢给子代理。
44
+ - 多个独立问题可以并行分析;彼此有依赖的任务按顺序推进。
45
+ - 子代理输出必须落到可验证结论:报告、文件路径、命令结果或具体风险。
46
+ - 子代理建议不自动等于实现决策;与仓库现有约定冲突时,优先遵循仓库约定。
47
+ - 主代理必须复核关键证据、验证命令和改动边界,不能只转述子代理结论。
48
+
49
+ ## 反模式
50
+
51
+ - 为简单单文件修改创建过多代理。
52
+ - 让多个代理同时修改同一文件而没有边界。
53
+ - 用子代理替代本应先做的代码阅读。
54
+ - 只接收结论,不核对关键证据和验证命令。
@@ -0,0 +1,99 @@
1
+ # API 层规范
2
+
3
+ 凡是涉及 HTTP 请求、接口调用、数据获取或错误处理时,都应用本文件。
4
+
5
+ ## 核心原则
6
+
7
+ - 请求和响应必须有类型定义
8
+ - 统一错误处理,不在每个组件中重复 try-catch
9
+ - API 层与 UI 层分离
10
+ - 敏感操作(删除、支付)必须有二次确认
11
+
12
+ ## 目录结构
13
+
14
+ <!-- 请根据项目实际情况调整 -->
15
+
16
+ ```
17
+ src/
18
+ ├── api/ # API 定义层
19
+ │ ├── modules/
20
+ │ │ ├── user.ts # 用户相关接口
21
+ │ │ ├── order.ts # 订单相关接口
22
+ │ │ └── ...
23
+ │ ├── types/ # 请求/响应类型
24
+ │ │ ├── user.types.ts
25
+ │ │ └── order.types.ts
26
+ │ └── request.ts # 统一请求封装
27
+ ```
28
+
29
+ ## 类型规范
30
+
31
+ ```typescript
32
+ // 请求参数类型
33
+ interface GetUserListParams {
34
+ page: number;
35
+ pageSize: number;
36
+ keyword?: string;
37
+ status?: UserStatus;
38
+ }
39
+
40
+ // 响应数据类型
41
+ interface GetUserListResponse {
42
+ list: User[];
43
+ total: number;
44
+ page: number;
45
+ pageSize: number;
46
+ }
47
+
48
+ // API 函数签名
49
+ export function getUserList(params: GetUserListParams): Promise<GetUserListResponse>;
50
+ ```
51
+
52
+ 要求:
53
+
54
+ - 禁止使用 `any` 作为请求参数或响应类型
55
+ - 枚举值使用 TypeScript enum 或 union type
56
+ - 分页参数和响应格式保持统一
57
+
58
+ ## 错误处理
59
+
60
+ ### 统一拦截器
61
+
62
+ 在请求封装层统一处理:
63
+
64
+ - 401: 跳转登录或刷新 token
65
+ - 403: 提示无权限
66
+ - 500: 显示通用错误提示
67
+ - 网络错误: 显示网络异常提示
68
+
69
+ ### 业务错误
70
+
71
+ - 业务错误码与 HTTP 状态码分离
72
+ - 业务错误信息使用 i18n key(如支持国际化)
73
+ - 需要用户操作的错误(如表单校验失败)由调用方处理
74
+
75
+ ## Loading / Error / Empty 状态
76
+
77
+ 每个数据请求场景都需要考虑:
78
+
79
+ - **Loading**: 首次加载 skeleton/spinner,后续刷新不阻断 UI
80
+ - **Error**: 显示错误信息 + 重试按钮
81
+ - **Empty**: 显示空状态占位 + 引导操作
82
+
83
+ ## 检查清单
84
+
85
+ - [ ] 请求参数和响应有明确类型
86
+ - [ ] 错误处理不依赖每个组件各自 try-catch
87
+ - [ ] Loading / Error / Empty 三态均已处理
88
+ - [ ] 敏感操作有二次确认
89
+ - [ ] Token / 鉴权信息不在请求 URL 中明文传递
90
+ - [ ] 大数据量使用分页或流式加载
91
+
92
+ ## 反模式
93
+
94
+ - 在组件中直接使用 `fetch` / `axios` 而不经过统一封装
95
+ - 请求参数或响应使用 `any`
96
+ - 忽略错误处理,只处理成功场景
97
+ - 将 token 拼接在 URL 中
98
+ - 在 GET 请求中传递敏感数据
99
+ - 同一个接口在多个文件中重复定义