@bovinphang/frontend-craft 2.5.0 → 2.6.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 (77) hide show
  1. package/.claude-plugin/marketplace.json +7 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +39 -0
  4. package/CHANGELOG.zh-CN.md +40 -0
  5. package/CONTRIBUTING.md +15 -10
  6. package/CONTRIBUTING.zh-CN.md +15 -10
  7. package/README.md +61 -39
  8. package/README.openclaw.md +8 -8
  9. package/README.openclaw.zh-CN.md +8 -8
  10. package/README.zh-CN.md +61 -39
  11. package/commands/fec-doc-sync.md +7 -6
  12. package/dist/bin/frontend-craft.js +30 -27
  13. package/docs/example-prompts.md +4 -3
  14. package/docs/ja-JP/README.md +61 -39
  15. package/docs/ko-KR/README.md +61 -39
  16. package/docs/runtimes/antigravity.md +1 -1
  17. package/docs/runtimes/augment.md +1 -1
  18. package/docs/runtimes/claude.md +16 -10
  19. package/docs/runtimes/claude.zh-CN.md +16 -10
  20. package/docs/runtimes/cline.md +1 -1
  21. package/docs/runtimes/codebuddy.md +1 -1
  22. package/docs/runtimes/codex.md +1 -1
  23. package/docs/runtimes/copilot.md +1 -1
  24. package/docs/runtimes/cursor.md +1 -1
  25. package/docs/runtimes/gemini.md +1 -1
  26. package/docs/runtimes/kilo.md +1 -1
  27. package/docs/runtimes/openclaw.md +1 -1
  28. package/docs/runtimes/opencode.md +1 -1
  29. package/docs/runtimes/qoder.md +1 -1
  30. package/docs/runtimes/trae.md +1 -1
  31. package/docs/runtimes/windsurf.md +1 -1
  32. package/docs/zh-CN/example-prompts.md +4 -3
  33. package/docs/zh-TW/README.md +61 -39
  34. package/openclaw.plugin.json +1 -1
  35. package/package.json +1 -1
  36. package/skills/eval_queries.json +25 -0
  37. package/skills/fec-accessibility-check/SKILL.md +1 -1
  38. package/skills/fec-alchemy/SKILL.md +74 -0
  39. package/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
  40. package/skills/fec-alchemy/assets/intake-template.md +55 -0
  41. package/skills/fec-alchemy/assets/review-checklist.md +31 -0
  42. package/skills/fec-alchemy/references/methodology.md +94 -0
  43. package/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
  44. package/skills/fec-browser-storage/SKILL.md +1 -1
  45. package/skills/fec-canvas-threejs/SKILL.md +1 -1
  46. package/skills/fec-code-review/SKILL.md +10 -2
  47. package/skills/fec-data-fetching/SKILL.md +15 -15
  48. package/skills/fec-data-fetching/references/query-patterns.md +27 -1
  49. package/skills/fec-debug-framework/SKILL.md +14 -19
  50. package/skills/fec-debug-framework/references/report-template.md +58 -0
  51. package/skills/fec-doc-sync/SKILL.md +19 -17
  52. package/skills/fec-e2e-testing/SKILL.md +3 -3
  53. package/skills/fec-form-handling/SKILL.md +11 -11
  54. package/skills/fec-form-handling/references/advanced-form-patterns.md +34 -5
  55. package/skills/fec-implement-from-design/SKILL.md +2 -2
  56. package/skills/fec-legacy-to-modern-migration/SKILL.md +33 -23
  57. package/skills/fec-legacy-web-standard/SKILL.md +1 -1
  58. package/skills/fec-list-virtualization/SKILL.md +3 -3
  59. package/skills/fec-list-virtualization/references/virtualization-patterns.md +32 -4
  60. package/skills/fec-performance-optimization/SKILL.md +5 -1
  61. package/skills/fec-performance-optimization/references/report-template.md +53 -0
  62. package/skills/fec-pwa-implementation/SKILL.md +3 -4
  63. package/skills/fec-react-project-standard/SKILL.md +1 -1
  64. package/skills/fec-refactor-clean/SKILL.md +4 -1
  65. package/skills/fec-refactor-clean/references/report-template.md +42 -0
  66. package/skills/fec-security-review/SKILL.md +3 -3
  67. package/skills/fec-state-management/SKILL.md +1 -1
  68. package/skills/fec-storybook-component-doc/SKILL.md +2 -2
  69. package/skills/fec-typescript-type-safety/SKILL.md +1 -1
  70. package/skills/fec-validation-fix/SKILL.md +5 -2
  71. package/skills/fec-validation-fix/references/report-template.md +43 -0
  72. package/skills/fec-vue3-project-standard/SKILL.md +1 -1
  73. package/skills/fec-web-workers/SKILL.md +3 -4
  74. package/skills/metadata.json +82 -45
  75. package/skills/relations.json +20 -0
  76. package/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
  77. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
@@ -5,9 +5,9 @@
5
5
  仅当你需要跨运行时安装、离线/脚本化复制文件,或处在非 Marketplace 环境时,再使用 CLI:
6
6
 
7
7
  ```bash
8
- npx frontend-craft@latest install --local claude
8
+ npx @bovinphang/frontend-craft@latest install --local claude
9
9
  # 或
10
- npx frontend-craft@latest install --global claude
10
+ npx @bovinphang/frontend-craft@latest install --global claude
11
11
  ```
12
12
 
13
13
  > **非交互场景:** 请加上 `--local` 或 `--global`,避免询问安装位置。交互与脚本行为说明见根目录 README **通用安装**。
@@ -22,6 +22,8 @@ CLI 会对 Marketplace 安装执行单一来源保护:如果已经由 Claude C
22
22
 
23
23
  仍可将 `frontend-craft` 作为 Claude Code 的 Marketplace 插件安装,由 Claude Code 原生加载插件。
24
24
 
25
+ Marketplace 条目会从已发布的 npm 包解析插件;npm 包中包含 Claude hooks 使用的已编译 `dist/hooks/*.js` 运行时文件。如果 Marketplace 安装后提示缺少 `dist/hooks/fec-*.js`,请通过 Marketplace 更新或重新安装插件,让 Claude 刷新插件缓存,不建议手动复制文件到缓存目录。
26
+
25
27
  ---
26
28
 
27
29
  ## Marketplace 安装后的快速开始
@@ -33,7 +35,7 @@ CLI 会对 Marketplace 安装执行单一来源保护:如果已经由 Claude C
33
35
  /plugin marketplace add bovinphang/frontend-craft
34
36
 
35
37
  # 安装插件
36
- /plugin install frontend-craft@bovinphang-frontend-craft
38
+ /plugin install frontend-craft@frontend-craft
37
39
 
38
40
  # 激活
39
41
  /reload-plugins
@@ -67,7 +69,7 @@ CLI 会对 Marketplace 安装执行单一来源保护:如果已经由 Claude C
67
69
  /fec-scaffold component DataTable
68
70
 
69
71
  # 查看可用命令
70
- /plugin list frontend-craft@bovinphang-frontend-craft
72
+ /plugin list frontend-craft@frontend-craft
71
73
  ```
72
74
 
73
75
  具体 agents、skills、commands 清单见根目录 README **功能概览**。
@@ -105,10 +107,14 @@ CLI 会对 Marketplace 安装执行单一来源保护:如果已经由 Claude C
105
107
 
106
108
  ```bash
107
109
  git clone https://github.com/bovinphang/frontend-craft.git
110
+ cd frontend-craft
111
+ npm install
112
+ npm run build
113
+ cd ..
108
114
  claude --plugin-dir ./frontend-craft
109
115
  ```
110
116
 
111
- 使用 `--plugin-dir` 做开发调试时,请避免在同一会话里同时启用 Marketplace 版本,这样才能确定当前运行的是哪一份代码。
117
+ 使用 `--plugin-dir` 做开发调试时,修改 hooks 或 CLI 源码后需要重新执行 `npm run build`,因为 Claude 会运行 `dist/` 下的已编译文件。请避免在同一会话里同时启用 Marketplace 版本,这样才能确定当前运行的是哪一份代码。
112
118
 
113
119
  ### 选项 4:Git Submodule(项目内共享)
114
120
 
@@ -139,14 +145,14 @@ claude --plugin-dir .claude/plugins/frontend-craft
139
145
  通过 Marketplace 安装的插件,在 Claude Code 中执行:
140
146
 
141
147
  ```text
142
- /plugin marketplace update bovinphang-frontend-craft
148
+ /plugin marketplace update frontend-craft
143
149
  ```
144
150
 
145
151
  或开启自动更新,每次启动 Claude Code 时拉取最新版本:
146
152
 
147
153
  1. 在 Claude Code 中执行 `/plugin` 打开插件管理器
148
154
  2. 切换到 **Marketplaces** 标签页
149
- 3. 选中 `bovinphang-frontend-craft`
155
+ 3. 选中 `frontend-craft`
150
156
  4. 选择 **Enable auto-update**
151
157
 
152
158
  > 第三方 Marketplace 默认不开启自动更新。启用后,Claude Code 每次启动时会刷新 Marketplace 数据并更新已安装插件。
@@ -157,11 +163,11 @@ claude --plugin-dir .claude/plugins/frontend-craft
157
163
  git submodule update --remote .claude/plugins/frontend-craft
158
164
  ```
159
165
 
160
- **CLI 安装:** 对同一作用域执行 `npx frontend-craft@latest update claude --local` 或 `... --global`,版本说明见 [CHANGELOG.zh-CN.md](../../CHANGELOG.zh-CN.md) 或 [CHANGELOG.md](../../CHANGELOG.md)。如果已经检测到 Claude Code Marketplace 安装,CLI 会拒绝 Claude install/update,并提示通过 Marketplace 更新。如果另一个 CLI 作用域已安装,交互式终端会询问是保持该来源并更新,还是卸载后切换;非交互终端会打印可执行命令。
166
+ **CLI 安装:** 对同一作用域执行 `npx @bovinphang/frontend-craft@latest update claude --local` 或 `... --global`,版本说明见 [CHANGELOG.zh-CN.md](../../CHANGELOG.zh-CN.md) 或 [CHANGELOG.md](../../CHANGELOG.md)。如果已经检测到 Claude Code Marketplace 安装,CLI 会拒绝 Claude install/update,并提示通过 Marketplace 更新。如果另一个 CLI 作用域已安装,交互式终端会询问是保持该来源并更新,还是卸载后切换;非交互终端会打印可执行命令。
161
167
 
162
168
  ```bash
163
- npx frontend-craft@latest update claude --global
164
- npx frontend-craft@latest update claude --local
169
+ npx @bovinphang/frontend-craft@latest update claude --global
170
+ npx @bovinphang/frontend-craft@latest update claude --local
165
171
  ```
166
172
 
167
173
  ---
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install cline
6
+ npx @bovinphang/frontend-craft install cline
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install codebuddy
6
+ npx @bovinphang/frontend-craft install codebuddy
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install codex
6
+ npx @bovinphang/frontend-craft install codex
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install copilot
6
+ npx @bovinphang/frontend-craft install copilot
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install cursor
6
+ npx @bovinphang/frontend-craft install cursor
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install gemini
6
+ npx @bovinphang/frontend-craft install gemini
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install kilo
6
+ npx @bovinphang/frontend-craft install kilo
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install openclaw
6
+ npx @bovinphang/frontend-craft install openclaw
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install opencode
6
+ npx @bovinphang/frontend-craft install opencode
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install qoder
6
+ npx @bovinphang/frontend-craft install qoder
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. Local installs write to `.qoder/`; global installs write to `~/.qoder` or `QODER_CONFIG_DIR`.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install trae
6
+ npx @bovinphang/frontend-craft install trae
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -3,7 +3,7 @@
3
3
  See root README **Universal Install** and run:
4
4
 
5
5
  ```bash
6
- npx frontend-craft install windsurf
6
+ npx @bovinphang/frontend-craft install windsurf
7
7
  ```
8
8
 
9
9
  > **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
@@ -17,7 +17,7 @@
17
17
  | 初始化项目规则 | 「请用 frontend-craft 为当前运行时初始化这个仓库的项目模板;如果已有文件,覆盖前先询问我。」 | `/fec-init` | 安装运行时配置、规则和项目说明,或给出覆盖方案。 | 最好在业务仓库根目录执行。 |
18
18
  | 选择安装位置 | 「我想在这台机器上同时给 Codex 和 Claude Code 使用 frontend-craft。请说明应该本地安装还是全局安装,并给出准确命令。」 | runtime docs | 简短建议和安装命令。 | 说明个人使用还是团队共享。 |
19
19
  | 学会怎么提问 | 「请根据这个仓库给我 5 条 frontend-craft 提示词,分别用于评审、开发、测试、排查构建失败和设计稿实现。」 | 文档指引 | 贴合当前项目的提示词集合。 | 安装后第一次使用很适合。 |
20
- | 确认能力是否可用 | 「请检查这个仓库,并总结当前可用的 frontend-craft commands、skills、agents、hooks 和 MCP 模板。」 | `fec-doc-sync`、runtime docs | 基于已安装文件的能力摘要。 | 升级后很有用。 |
20
+ | 确认能力是否可用 | 「请检查这个仓库,并总结当前可用的 frontend-craft commands、skills、agents、hooks 和 MCP 模板。」 | runtime docs | 基于已安装文件的能力摘要。 | 升级后很有用。 |
21
21
 
22
22
  ## 评审与质量
23
23
 
@@ -103,7 +103,8 @@
103
103
  | ------------ | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------- | ---------------------------------- |
104
104
  | 修复构建失败 | 「`pnpm lint`、`pnpm typecheck` 和 `pnpm test` 都失败了。请逐步修复,不要放宽规则或跳过测试。」 | `/fec-build-fix`、`fec-validation-fix`、`fec-build-fixer` | 最小修复和验证报告。 | 粘贴准确失败命令。 |
105
105
  | 清理死代码 | 「请查找并安全移除未使用导出、死路由、过期样式和未使用依赖。保持 public API,并写报告。」 | `/fec-refactor-clean`、`fec-refactor-clean`、`fec-refactor-cleaner` | 清理计划/变更和报告。 | 发布前很适合。 |
106
- | 文档同步 | 「请更新公开文档,让 README、runtime docs、能力表和 metadata 与当前 commands、skills、agents、hooks、package 文件一致。」 | `/fec-doc-sync`、`fec-doc-sync`、`fec-doc-updater` | 同步后的文档和验证说明。 | 不要把临时报告复制进公开文档。 |
106
+ | 文档同步 | 「请更新 README 和 docs,让安装步骤、脚本、环境变量、API 路由、UI 路由和部署说明与当前前端代码和配置一致。」 | `/fec-doc-sync`、`fec-doc-sync`、`fec-doc-updater` | 同步后的文档和验证说明。 | 不要把临时报告复制进公开文档。 |
107
+ | 能力文档同步 | 「这个仓库发布 skills 和 commands。请同步能力表、metadata、runtime docs 和 package 文件,使其匹配已安装内容。」 | `/fec-doc-sync`、`fec-doc-sync`、`fec-doc-updater` | 基于已安装文件的分发文档。 | 用于 skill/agent/command 仓库。 |
107
108
  | 来源驱动升级 | 「请规划 React Router/TanStack Query/Vite 的安全升级。核对官方迁移说明、当前项目用法、破坏性变更,并给出验证步骤。」 | `fec-dependency-upgrade`、`fec-source-driven-development`、`fec-doc-sync` | 升级决策说明、影响文件、迁移风险和验证清单。 | 如果公开指南变化,再配合文档同步。 |
108
109
  | 遗留项目维护 | 「请改进 `public/js/legacy/cart.js`,保持当前 jQuery/MPA 技术栈,降低风险、改善结构,但暂时不要重写成 React。」 | `fec-legacy-web-standard` | 安全的遗留维护变更或建议。 | 补充浏览器兼容限制。 |
109
110
 
@@ -120,5 +121,5 @@
120
121
  | 斜杠命令 TDD | 「`/fec-tdd` 请用失败测试优先的方式添加密码强度校验。」 | `/fec-tdd` | TDD 循环和已验证改动。 | 保持范围小。 |
121
122
  | 斜杠命令构建修复 | 「`/fec-build-fix` 请根据这段日志修复验证失败:<粘贴日志>。」 | `/fec-build-fix` | 增量验证修复。 | 粘贴准确日志。 |
122
123
  | 斜杠命令清理 | 「`/fec-refactor-clean` 请安全移除这个包里的未使用导出和依赖。」 | `/fec-refactor-clean` | 清理报告和安全修改。 | 修改后运行测试。 |
123
- | 斜杠命令文档同步 | 「`/fec-doc-sync` 请同步 README、runtime docs 和 metadata,使其匹配当前包内容。」 | `/fec-doc-sync` | 文档更新和验证说明。 | 发布前使用。 |
124
+ | 斜杠命令文档同步 | 「`/fec-doc-sync` 请同步 README、docs、env examples、脚本、API/路由说明和部署文档,使其匹配当前项目。」 | `/fec-doc-sync` | 文档更新和验证说明。 | 发布前使用。 |
124
125
  | 显式代理 | 「请委托 `fec-code-reviewer` 对 `src/features/payments/` 做 PR 风格评审,然后先总结阻塞项。」 | agent dispatch | 专项代理报告和摘要。 | 适合专家评审。 |
@@ -8,7 +8,7 @@
8
8
 
9
9
  [![Stars](https://img.shields.io/github/stars/bovinphang/frontend-craft?style=flat)](https://github.com/bovinphang/frontend-craft/stargazers)
10
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/frontend-craft)](https://www.npmjs.com/package/frontend-craft)
11
+ [![npm version](https://img.shields.io/npm/v/@bovinphang/frontend-craft)](https://www.npmjs.com/package/@bovinphang/frontend-craft)
12
12
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](../../LICENSE)
13
13
  ![Node](https://img.shields.io/badge/Node.js-22+-5FA04E?logo=node.js&logoColor=white)
14
14
  ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
@@ -32,7 +32,7 @@
32
32
 
33
33
  各執行時的路徑與注意事項詳見 [`docs/runtimes/`](../runtimes/)。
34
34
 
35
- 它將 **13 個專業 agent**、**40 個自動啟用 skill**、**8 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
35
+ 它將 **13 個專業 agent**、**41 個自動啟用 skill**、**8 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
36
36
 
37
37
  ---
38
38
 
@@ -40,7 +40,7 @@
40
40
 
41
41
  | 痛點 | frontend-craft 的解法 |
42
42
  | ----------------------------------------------- | --------------------------------------------------------------------------------------- |
43
- | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **40 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
43
+ | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **41 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
44
44
  | 每款 AI 工具都有自己的插件格式 | **一條 CLI 指令** 把相同的規則、agent 和 hook 安裝到 15 個執行時 |
45
45
  | 設計稿到程式碼的交接總有資訊損失 | **MCP 整合** 從 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整設計上下文 |
46
46
  | 程式碼審查隨意、淺層 | **13 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
@@ -53,45 +53,59 @@
53
53
 
54
54
  需要 **Node.js 22+**。完整支援 **Windows、macOS 和 Linux**(所有鉤子和腳本均使用 Node.js 實作)。
55
55
 
56
- ### 方式一:全域 CLI 初始化專案(推薦)
56
+ ### 方式一:全域安裝 fec CLI(推薦)
57
57
 
58
58
  ```bash
59
- npm install -g frontend-craft@latest
59
+ # 1. 全域安裝 fec 指令
60
+ npm install -g @bovinphang/frontend-craft@latest
61
+
62
+ # 2. 進入你的前端專案
60
63
  cd your-project
61
- fec init
62
- fec init codex # 初始化指定執行時
63
- fec init claude # 初始化 Claude Code
64
- ```
65
64
 
66
- `fec init` 是終端機中的 CLI 初始化指令,用來初始化目前專案。在互動式終端機中,不傳 runtime 時會顯示選擇提示;在非互動環境中,不傳 runtime 時 CLI 預設使用 `claude`。`init` 預設安裝到目前專案,除非明確傳入 `--global`,例如 `fec init codex --global`。AI 助手內的 `/fec-init` 斜線指令是另一個入口,需要先把 frontend-craft 安裝到對應執行時後再使用。
65
+ # 3. 互動選擇要接入的 AI 執行時
66
+ fec setup
67
67
 
68
- ### 方式二:免全域安裝的互動精靈
68
+ # 4. 接入目前專案
69
+ fec setup codex
70
+ fec setup claude
71
+ fec setup all
69
72
 
70
- ```bash
71
- npx frontend-craft@latest
73
+ # 5. 全域接入,適用於所有專案
74
+ fec setup codex --global
75
+ fec setup claude --global
76
+ fec setup all --global
77
+
78
+ # 6. 預覽 / 查詢
79
+ fec install --all --dry-run --global
80
+ fec list
72
81
  ```
73
82
 
74
- 不想全域安裝 `fec` 指令時使用這種方式。精靈會走完整安裝流程:先選擇一個或多個執行時,再決定安裝到全域還是目前專案。
83
+ `npm install -g` 只是安裝 `fec` 終端機指令。`fec setup` 是終端機中的 CLI 專案接入指令,不是 AI 助手內的 `/fec-init` 斜線指令。在互動式終端機中,不帶參數的 `fec setup` 會先讓你選擇 runtime;`fec setup <runtime>` 和 `fec setup all` 會預設接入目前專案。只有傳入 `--global` 時,才會接入對應 AI 工具的全域設定目錄,適用於所有專案。
75
84
 
76
- ### 方式三:腳本化安裝
85
+ ### 方式二:用 npx 臨時執行(免全域安裝 fec)
77
86
 
78
87
  ```bash
79
- # 安裝到目前專案
80
- npx frontend-craft@latest install --local claude
81
-
82
- # 全域安裝到某個執行時
83
- npx frontend-craft@latest install --global codex
84
-
85
- # 預覽所有執行時的安裝內容(不實際寫入)
86
- npx frontend-craft@latest install --all --dry-run --global
87
-
88
- # 列出支援的執行時
89
- npx frontend-craft@latest list
88
+ # 1. 互動精靈
89
+ npx @bovinphang/frontend-craft@latest
90
+
91
+ # 2. 接入目前專案
92
+ npx @bovinphang/frontend-craft@latest install --local codex
93
+ npx @bovinphang/frontend-craft@latest install --local claude
94
+ npx @bovinphang/frontend-craft@latest install --all --local
95
+
96
+ # 3. 全域接入,適用於所有專案
97
+ npx @bovinphang/frontend-craft@latest install --global codex
98
+ npx @bovinphang/frontend-craft@latest install --global claude
99
+ npx @bovinphang/frontend-craft@latest install --all --global
100
+
101
+ # 4. 預覽 / 查詢
102
+ npx @bovinphang/frontend-craft@latest install --all --dry-run --global
103
+ npx @bovinphang/frontend-craft@latest list
90
104
  ```
91
105
 
92
- > **CI / 腳本場景:** 務必帶上 `--global` / `-g` 或 `--local` / `-l`。非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
106
+ 不想全域安裝 `fec` 指令時使用 `npx`。不帶參數會進入互動精靈:先選擇一個或多個執行時,再決定接入全域還是目前專案。腳本化安裝全部 runtime 時使用 `install --all --local` 或 `install --all --global`,不要寫成 `install all`。CI / 腳本場景請務必帶上 `--global` / `-g` 或 `--local` / `-l`;非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
93
107
 
94
- ### 方式四:Claude Code Marketplace
108
+ ### 方式三:Claude Code Marketplace
95
109
 
96
110
  對 Claude Code 用戶,**Claude Code Marketplace** 是推薦的單一來源安裝方式。只有在需要跨執行時安裝、腳本化/離線複製檔案,或非 Marketplace 環境時,才建議對 Claude 使用 CLI。
97
111
 
@@ -133,7 +147,7 @@ npx frontend-craft@latest list
133
147
  ```text
134
148
  你:「合併前請審查我最近的改動。重點看架構、型別安全、渲染行為、樣式、可存取性和缺失測試。」
135
149
  你:「先不要寫程式碼,請規劃帳號帳單功能:路由結構、元件邊界、資料流、狀態歸屬、驗證流程和上線風險。」
136
- 你:「請用 React Hook Form + Zod 建構多步註冊表單,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
150
+ 你:「請建構多步註冊表單:依專案框架選擇表單與 schema 驗證方案,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
137
151
  你:「請按 Figma 節點 123:456 實作 UI。複用現有 design token 和元件,匹配間距與響應式狀態,並說明假設。」
138
152
  你:「`/fec-refactor-clean` 請清理這個模組裡的死程式碼。」
139
153
  ```
@@ -155,13 +169,13 @@ npx frontend-craft@latest list
155
169
  | `/fec-tdd` | 紅 → 綠 → 重構的前端 TDD 循環 | — |
156
170
  | `/fec-debug` | 前端問題診斷與修復:建置失敗、執行時錯誤、UI 異常、介面問題 | `debug-*.md` |
157
171
  | `/fec-refactor-clean` | 分類並安全清理死程式碼、未使用匯出、樣式和依賴 | `refactor-clean-*.md` |
158
- | `/fec-doc-sync` | 同步 README、runtime 文件、能力表和公開 metadata | — |
172
+ | `/fec-doc-sync` | 同步 README、docs、環境變數、腳本、API/路由說明和部署文件 | — |
159
173
 
160
174
  ### 技能(Skills,自動啟用)
161
175
 
162
176
  技能是根據檔案模式、框架或任務上下文**自動啟用**的工作流定義,編碼了審查維度、輸出約定和報告格式。
163
177
 
164
- 下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移和文件維護能力。
178
+ 下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移、專案演進和文件維護能力。
165
179
 
166
180
  **專案規範** — 偵測到對應框架時自動生效:
167
181
 
@@ -178,17 +192,17 @@ npx frontend-craft@latest list
178
192
 
179
193
  | 技能 | 範圍 |
180
194
  | ------------------------- | ---------------------------------------------------------- |
181
- | `fec-data-fetching` | TanStack Query / 服務端狀態獲取、快取、樂觀更新 |
195
+ | `fec-data-fetching` | 服務端狀態獲取、快取、失效、SSR、無限載入 |
182
196
  | `fec-api-integration` | 型別化 API client、鑑權刷新、上傳、即時整合 |
183
197
  | `fec-state-management` | 狀態歸屬、store 選型、URL 狀態、伺服器/表單/本地狀態邊界 |
184
- | `fec-form-handling` | React Hook Form + Zod、動態欄位、上傳、多步流程 |
198
+ | `fec-form-handling` | 跨框架表單選型、schema 驗證、動態欄位、上傳 |
185
199
  | `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies 選型 |
186
200
  | `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的登入態與權限路由 |
187
201
  | `fec-pwa-implementation` | manifest、Service Worker、離線快取、安裝提示 |
188
202
  | `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
189
203
  | `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL |
190
204
  | `fec-svg-animation` | CSS / Framer Motion / GSAP SVG 動畫與 reduced-motion |
191
- | `fec-list-virtualization` | react-window / TanStack Virtual 大清單虛擬滾動 |
205
+ | `fec-list-virtualization` | 依框架選型的大清單虛擬滾動、測量、網格和無限滾動 |
192
206
 
193
207
  **測試** — 規劃或撰寫前端測試覆蓋時啟用:
194
208
 
@@ -204,6 +218,7 @@ npx frontend-craft@latest list
204
218
  | 技能 | 範圍 |
205
219
  | ------------------------------ | ------------------------------------------------------- |
206
220
  | `fec-code-review` | 架構、型別、渲染、樣式、可存取性審查 |
221
+ | `fec-debug-framework` | 系統化診斷建置、執行時、UI 和 API/資料問題 |
207
222
  | `fec-typescript-type-safety` | 型別契約、DTO 對映、型別守衛、泛型和型別級檢查 |
208
223
  | `fec-security-review` | XSS、CSRF、敏感資料外洩、輸入驗證 |
209
224
  | `fec-accessibility-check` | WCAG 2.2、鍵盤、焦點、觸控和螢幕閱讀器行為 |
@@ -228,13 +243,19 @@ npx frontend-craft@latest list
228
243
  | 技能 | 範圍 |
229
244
  | -------------------------------- | ---------------------------------------------- |
230
245
  | `fec-legacy-web-standard` | JS + jQuery + HTML 傳統專案的開發與維護規範 |
231
- | `fec-legacy-to-modern-migration` | jQuery/MPA → React/Vue 3 + TS 策略與分階段流程 |
246
+ | `fec-legacy-to-modern-migration` | 遺留前端現代化、目標技術棧識別與分階段遷移流程 |
247
+
248
+ **專案演進** — 吸收參考系統並原創化落到目前專案時啟用:
249
+
250
+ | 技能 | 範圍 |
251
+ | ------------- | ------------------------------------------ |
252
+ | `fec-alchemy` | 將參考系統能力原創化吸收到目前專案原生體系 |
232
253
 
233
254
  **文件維護** — 文件維護時啟用:
234
255
 
235
256
  | 技能 | 範圍 |
236
257
  | ------------------------------- | ------------------------------------------ |
237
- | `fec-doc-sync` | 讓公開文件與腳本、技能、代理、指令保持同步 |
258
+ | `fec-doc-sync` | 讓前端文件與程式碼、設定、腳本、路由、API、環境變數和部署事實保持同步 |
238
259
  | `fec-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
239
260
 
240
261
  ### 代理(Agents)
@@ -365,11 +386,12 @@ $env:MODAO_TOKEN = "your-modao-token"
365
386
  每一次審查、分析和評估都會輸出帶時間戳記的 Markdown 報告到 `reports/`,可作為稽核記錄和 PR 交付物。
366
387
 
367
388
  <details>
368
- <summary>查看全部 15 種報告類型</summary>
389
+ <summary>查看全部 16 種報告類型</summary>
369
390
 
370
391
  | 報告類型 | 檔名模式 | 來源 |
371
392
  | -------------- | -------------------------------------------- | ------------------------------------------------------------------- |
372
393
  | 程式碼審查 | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`、`fec-code-review`、`fec-code-reviewer` |
394
+ | 除錯診斷 | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`、`fec-debug-framework`、`fec-debugger` |
373
395
  | TS/JS 專項審查 | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
374
396
  | 安全審查 | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`、`fec-security-reviewer` |
375
397
  | 無障礙檢查 | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
@@ -393,7 +415,7 @@ $env:MODAO_TOKEN = "your-modao-token"
393
415
 
394
416
  ## 更新與移除
395
417
 
396
- `fec` 是 `frontend-craft` 的短命令。如果沒有全域安裝 `fec`,可以把同樣參數接在 `npx frontend-craft@latest` 後使用,例如 `npx frontend-craft@latest update`。
418
+ `fec` 是 `frontend-craft` 的短命令。如果沒有全域安裝 `fec`,可以把同樣參數接在 `npx @bovinphang/frontend-craft@latest` 後使用,例如 `npx @bovinphang/frontend-craft@latest update`。
397
419
 
398
420
  ### 更新
399
421
 
@@ -437,7 +459,7 @@ npx skills check # 預覽可用更新
437
459
 
438
460
  | CLI | 安裝內容 |
439
461
  | -------------------- | --------------------------------------------- |
440
- | `npx frontend-craft` | 技能 + 執行時專屬代理、指令、鉤子、規則、範本 |
462
+ | `npx @bovinphang/frontend-craft` | 技能 + 執行時專屬代理、指令、鉤子、規則、範本 |
441
463
  | `npx skills` | 僅技能(適用於已有 Skills CLI 工作流) |
442
464
 
443
465
  關閉遙測:`DISABLE_TELEMETRY=1`。詳見 [skills.sh CLI 文件](https://skills.sh/docs/cli)。
@@ -2,7 +2,7 @@
2
2
  "id": "frontend-craft",
3
3
  "name": "Frontend Craft",
4
4
  "description": "Frontend team skills, OpenClaw workspace templates, optional init tool, exec safety hooks, and design MCP reference.",
5
- "version": "2.5.0",
5
+ "version": "2.6.0",
6
6
  "skills": [
7
7
  "skills",
8
8
  "commands"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bovinphang/frontend-craft",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "Universal frontend plugin for Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Qoder, Windsurf, Copilot, OpenClaw, and more — skills, agents, commands, hooks, and MCP templates.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -21,6 +21,31 @@
21
21
  "把 jQuery 项目迁移到 Vue"
22
22
  ]
23
23
  },
24
+ "fec-alchemy": {
25
+ "should_trigger": [
26
+ "分析这个参考仓库,把有价值的能力原创化吸收到当前项目",
27
+ "对比这个插件和我们的项目,提炼可以融合的架构思路",
28
+ "不要复制代码,帮我借鉴另一个项目的 commands 和 hooks",
29
+ "把这个开源项目的工作流改造成适合 frontend-craft 的 skill",
30
+ "研究相似产品的实现方式,并给当前仓库制定吸收计划",
31
+ "将参考项目里的优秀工程实践迁移成我们自己的方案",
32
+ "做一次项目吸收分析,区分可借鉴能力和不该引入的部分",
33
+ "originally absorb ideas from a reference repo into this project",
34
+ "参考后端项目的鉴权和可观测性设计,提炼适合当前服务的吸收方案",
35
+ "把另一个 CLI 工具的配置和错误输出体验原创化改造成我们的方案",
36
+ "对比这个库项目的公开 API 和版本策略,判断哪些能力适合吸收"
37
+ ],
38
+ "should_not_trigger": [
39
+ "修复这个组件的 TypeScript 类型错误",
40
+ "给 Button 写 React Testing Library 单测",
41
+ "只同步 README 里的 skill 数量",
42
+ "审查 dangerouslySetInnerHTML 的 XSS 风险",
43
+ "把 Vite 从 5 升级到 6",
44
+ "优化虚拟列表滚动卡顿",
45
+ "按 Figma 设计稿实现页面",
46
+ "配置 PWA manifest 和 Service Worker"
47
+ ]
48
+ },
24
49
  "fec-api-integration": {
25
50
  "should_trigger": [
26
51
  "设计前端 typed API client",
@@ -20,7 +20,7 @@ description: Use when reviewing or improving frontend accessibility, semantic st
20
20
  7. 复核 WCAG 2.2 新增高频风险:可见焦点不被遮挡、拖拽操作有替代路径、目标尺寸过小、帮助入口和认证流程不依赖记忆负担。
21
21
  8. 输出分级报告;报告格式见 [references/report-template.md](references/report-template.md)。
22
22
 
23
- ## Detailed References
23
+ ## 详细参考
24
24
 
25
25
  撰写无障碍审查报告时,加载 [references/report-template.md](references/report-template.md)。需要验证屏幕阅读器公告、焦点读法和动态区域时,加载 [references/screen-reader-testing.md](references/screen-reader-testing.md)。
26
26
 
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: fec-alchemy
3
+ description: Use when absorbing ideas, capabilities, workflows, architecture, quality systems, ecosystem extensions, or engineering practices from any reference system into the current project through original, project-native redesign rather than copying.
4
+ ---
5
+
6
+ # 项目吸收与原创化融合
7
+
8
+ ## Purpose
9
+
10
+ 将一个或多个参考系统中的优秀思想、能力和工程实践,转化为当前项目中原创、可维护、符合目标项目风格的改进。
11
+
12
+ 适用于吸收、借鉴、对标、迁移或融合另一个代码库、产品、框架、库、服务、CLI、插件、文档体系、AI/Agent 工具链、架构或工程工作流。普通 Bug 修复、单独 API 使用问题或直接文件格式转换不应使用本 Skill,除非用户明确要求项目级吸收或适配。
13
+
14
+ ## Procedure
15
+
16
+ 1. 明确目标和参考系统:
17
+ - 将当前仓库视为目标系统,它的架构、命名、测试、发布模型和维护边界是事实来源。
18
+ - 将外部仓库、上传压缩包、文档、示例、产品描述或运行体验视为参考系统,它们只提供证据和启发。
19
+ - 识别吸收范围:产品能力、架构模式、领域模型、接口协议、数据流、运行时行为、开发体验、质量体系、交付流程、文档知识或生态扩展。
20
+ - 信息较多时可使用 [assets/intake-template.md](assets/intake-template.md) 建立简要清单。
21
+ 2. 建立目标项目基线:
22
+ - 先读取目标项目 README、包元数据、目录结构、配置、现有入口、扩展点、测试命令和发布说明。
23
+ - 找出目标项目已有类似能力,判断应增强、合并、替换、拆分、文档化还是新增。
24
+ 3. 扫描参考项目:
25
+ - 优先查看 README、包元数据、源码布局、项目形态相关目录、关键模块、测试、示例和发布说明。
26
+ - 将观察记录为能力、意图、模式和取舍,不记录为要复制的文件清单。
27
+ 4. 提炼候选能力:
28
+ - 对每个候选项说明它解决的问题、用户价值、适配度、依赖、风险、可验证性和与目标项目现状的关系。
29
+ - 对许可证、来源不清楚或实现高度绑定参考项目的候选项,只提炼思想,不复用表达。
30
+ 5. 映射到目标架构:
31
+ - 使用目标项目原生命名、模块边界、依赖策略、编码约定和测试方式重新设计。
32
+ - 避免创建与现有模块竞争的并行系统;避免因为参考项目用了某依赖就盲目引入依赖。
33
+ - 非平凡变更可使用 [assets/absorption-plan-template.md](assets/absorption-plan-template.md)。
34
+ 6. 原创化实现或计划:
35
+ - 编写新代码或新文档,不复制参考项目中的非平凡代码、提示词、配置或文档表达。
36
+ - 吸收生态扩展、提示词、命令、插件、自动化、Agent 或规则时,统一职责边界并删除重复指令。
37
+ - 大型任务先交付垂直薄切片,并记录被拒绝或延期的候选项。
38
+ 7. 验证和汇报:
39
+ - 运行最相关的类型检查、Lint、测试、构建、文档校验或 Skill 校验。
40
+ - 如果无法验证,明确说明阻塞原因、风险范围和需要用户确认的信息。
41
+ - 必要时使用 [assets/review-checklist.md](assets/review-checklist.md) 做人工复核。
42
+
43
+ ## Constraints
44
+
45
+ - 不把吸收任务变成机械化 diff 合并。
46
+ - 不整体照搬参考项目的命名体系、文件结构或实现细节。
47
+ - 不在许可证或用户意图不明确时逐字复用参考项目中的非平凡代码、文档、提示词或配置。
48
+ - 不为了匹配参考项目而削弱安全、隐私、权限边界、测试、可维护性或目标项目产品方向。
49
+ - 不声称原创化,除非输出能解释目标设计为何不同、为何适配目标项目、如何验证。
50
+ - 不把长篇参考材料塞进主说明;大型任务读取 [references/methodology.md](references/methodology.md),许可证和原创风险读取 [references/originality-and-licensing.md](references/originality-and-licensing.md)。
51
+
52
+ ## Expected Output
53
+
54
+ 分析类任务输出:
55
+
56
+ - 吸收候选项
57
+ - 推荐目标设计
58
+ - 实现计划
59
+ - 风险与许可证说明
60
+ - 验证清单
61
+
62
+ 实现类任务输出:
63
+
64
+ - 已完成变更
65
+ - 原创化说明
66
+ - 验证结果
67
+ - 剩余工作
68
+
69
+ 仓库级任务中,如果宿主工具支持文件编辑,应创建或更新项目本地计划文档。
70
+
71
+ ## 详细参考
72
+
73
+ - [references/methodology.md](references/methodology.md) - 详细吸收方法论。
74
+ - [references/originality-and-licensing.md](references/originality-and-licensing.md) - 原创性、许可证和来源风险约束。