---
name: e10-frontend-local-tooling
description: Use when Weaver E10/e-code frontend work requires checking or initializing a patch project, checking JavaScript compilation, or building a patch zip without a globally installed ecodecmd.
---

# E10 前端本地工程工具

定位：前端本地工程初始化、编译检查和补丁打包。工具脚本内置于本 Skill 的 `scripts/ecodecmd-e10/`，禁止依赖 `.ecode` 以外的脚本。`bin/ecodecmd-e10.mjs` 直接加载 `src/` 和 `src/vendor/`，这些文件属于运行必需内容。工具只支持 E10，使用 Node.js 18+，无需执行 `npm install`。

## 场景路由

- 初始化前端补丁项目：`init`
- 检查已有工程是否完整：读取 `references/project-initialization.md`
- 检查 E10 JavaScript、JSX、可选链编译：`compile`
- 构建前端补丁 ZIP：`build`

## 命令

从项目根目录执行：

```bash
node skills/ecode-development/modules/e10-frontend-local-tooling/scripts/ecodecmd-e10/bin/ecodecmd-e10.mjs init <父目录> --project-name <项目名>
node skills/ecode-development/modules/e10-frontend-local-tooling/scripts/ecodecmd-e10/bin/ecodecmd-e10.mjs compile <文件或目录>
node skills/ecode-development/modules/e10-frontend-local-tooling/scripts/ecodecmd-e10/bin/ecodecmd-e10.mjs build <前端项目目录>
```

## 强制规则

1. `init` 必须显式提供 `--project-name`；目标已存在时默认停止。只有确认覆盖后才使用 `--force`。
2. `build` 前检查 `build.json`。产物必须验证为 `<项目>/.target/*.zip`。
3. 不把 `.target` 或生成 ZIP 写入 `.ecode` 规则包。
4. `init` 是唯一前端脚手架入口；不得调用其他外部脚本、依赖或模板。
5. 初始化后按需求创建 `coms/`、`styles/`、`utils/`，无内容时不创建空目录；固定配置文件由 `init` 生成。
6. 交付说明列出项目结构、待配置项、`compile`/`build` 结果和 `.target` ZIP 验证。
7. 前端新需求或当前目录无完整 e-code 前端项目工程时必须先执行 `init`；禁止只创建单个业务文件。
8. 前端业务源码只允许 `.js`；禁止创建或输出 `.jsx`、`.ts`、`.tsx`，禁止引入 TypeScript 构建链。
9. `resources/` 只允许存放资源文件、图片、字体、样式资源、第三方 JS 库等静态资源；AI 生成的前端业务代码、入口代码、组件代码、工具代码和配置代码禁止放入 `resources/`。

## 详细参考

- 前端初始化、编译和补丁包：[`references/frontend-package.md`](references/frontend-package.md)
- 前端工程完整性判定：[`references/project-initialization.md`](references/project-initialization.md)
