# weaver-work-cli 使用说明

本包提供一套纯净的 CLI 基础框架，并内置隔离的 E10 适配模块。

模块目录分为三类：

- `src/cmd`：框架内置命令、平台命令和 `skills list/read`。
- `src/internal/e10`：E10 session、profile、auth 文件和 API client。
- `src/shortcuts`：面向人和 Agent 的高层业务 CLI 能力，按业务模块分目录；模块内每个业务 operation 用相对独立的 class 封装。使用 Skill Maker 新增业务模块时，默认同步生成或更新对应 shortcut。
- `skills`：随包发布的 Agent Skill，按业务模块分目录；每个模块对应一个独立 Skill，入口 `SKILL.md` 只做路由，具体操作细节放到 `references/`，公共约束通过 `weaver-e10-shared` 复用。
- `skill-template`：新增或重写业务 Skill 的模板来源；结构参考飞书 CLI 的 `skill-template`，用于保持入口、路由关键词、业务域说明、产品元信息和 reference 拆分方式一致。

使用内置 docs 命令可以把当前文档目录复制到业务工作区：

```text
weaver-work-cli docs copy
```

后续业务模块应在 `src/shortcuts/<name>` 下维护源码，在 `skills/weaver-e10-<name>` 下维护对应 Agent Skill，在 `_catalog.md` 和 `skill-template/business-info.json` 中补充对应的加载规则。新增或更新模块时，先按 `skills/weaver-e10-skill-maker/references/module-cli-generation.md` 定正确实现面、operation 合约、测试断言和 Skill/CLI 一致性。业务 Skill 直接声明并调用 `weaver-work-cli` bin，不为每个业务模块复制 bootstrap 脚本。

业务 Skill 目录约定：

```text
skill-template/product.json  共享产品元信息模板；打包/安装时注入到每个 Skill 产物。
skills/weaver-e10-<name>/
  SKILL.md                  入口路由：共享规则、schema、reference 索引、禁用边界。
  references/               具体业务 reference，按用户意图和 operation 分文件。
```

入口 `SKILL.md` 不承载完整接口手册。把 schema 使用、查询、文件处理、写入确认、禁用能力等拆进 reference，让 Agent 只读取当前任务真正需要的内容。

## 已内置业务模块

- `invoice`：E10 业票通发票管理。源码说明先读 `docs/invoice.md`；面向 Agent 时先读 `skills/weaver-e10-yepiaotong/SKILL.md`，再按入口路由读取对应 reference。
- `fna`：E10 齐业成费控中心（预算查询/费用中心/借款管理/发票核销）。源码说明先读 `docs/fna.md`；面向 Agent 时先读 `skills/weaver-e10-qiyecheng/SKILL.md`，再按入口路由读取对应 reference。写操作（提醒还款/催票）走 prepare/apply 确认链。
- `plan`：E10 计划报告（报告查询/新建/修改/发布/撤回/提交提醒/评论），自动适配标准版与 e10-ebuilder 两套报告接口链路。源码说明先读 `docs/plan.md`；面向 Agent 时先读 `skills/weaver-e10-plan/SKILL.md`，再按入口路由读取对应 reference。写操作走 prepare/apply 确认链。
- `esb`：E10 ESB 中心自定义触发动作流（入参模板查询 + 触发）。源码说明先读 `docs/esb.md`；面向 Agent 时先读 `skills/weaver-e10-esb/SKILL.md`，再按入口路由读取对应 reference。触发动作流是写操作，走 prepare/apply 确认链。
- `okr`：E10 OKR 目标管理（目标分页查询/详情、关键成果查询与保存、目标对齐、目标评论、详情页链接），按 `ver_name` 自动适配 e10 标准版与 e10-ebuilder 两套接口链路。源码说明先读 `docs/okr.md`；面向 Agent 时先读 `skills/weaver-e10-okr/SKILL.md`，再按入口路由读取对应 reference。写操作（新建/编辑目标、保存关键成果、添加目标对齐）走 prepare/apply 确认链。
- `ebuilder-form`：E10 eBuilder 表单（菜单定位、List/NList 分页和配置、字段/选项/浏览字段解析、OpenAPI 与已发布自定义接口读写）。源码说明先读 `docs/ebuilder-form.md`；面向 Agent 时先读 `skills/weaver-e10-ebuilder-form/SKILL.md`，再按入口路由读取对应 reference。写操作走 prepare/apply 确认链。
- `skill-maker`：把用户提供的新业务模块文档或代码转换成 `weaver-e10-*` Agent Skill，通过源资料指纹检测更新；每次创建或更新 Skill 后先询问是否现在进行 Skill 质检，用户确认后用泛微技能检测工具做发布前静态质检，并在检测通过后询问是否安装到当前智能体。面向 Agent 时先读 `skills/weaver-e10-skill-maker/SKILL.md`。

Agent 调用业务能力时优先使用 `weaver-work-cli --json <command> run <operation> --input-json '<json>'`；复杂或多行 JSON 用 UTF-8 文件和 `--input <path>`，只有确认当前 shell 能稳定传管道时才使用 `--input -`。不要绕过 CLI 直接拼业务 HTTP。新增业务模块时，如果源资料不足以实现 CLI，先向用户列出缺口并确认，不生成假 operation。
