55- 增加新的 ` bl xxx ` 命令
66- 删除已有命令
77- 重命名命令(包括从单级 ` bl x ` 改成 ` bl x y ` 或反向)
8- - 调整某个 shared command 在 ` bl ` / ` rag ` 等产品入口里的暴露路径
8+ - 调整某个 shared command 在 ` bl ` / ` kscli ` 等产品入口里的暴露路径
99
1010## 命令实现与产品路径的关系
1111
1717 ↓ packages/commands/src/index.ts export { default as knowledgeRetrieve }
1818产品入口:
1919 packages/cli/src/commands.ts "knowledge retrieve": knowledgeRetrieve ↔ bl knowledge retrieve
20- packages/rag /src/main.ts "retrieve": knowledgeRetrieve ↔ rag retrieve
20+ packages/kscli /src/main.ts "retrieve": knowledgeRetrieve ↔ kscli retrieve
2121```
2222
2323常见路径形态:
3232
3333## CLI 命令注册架构(必读)
3434
35- ` packages/commands ` 是命令库,只导出单个 command;不内置 path presets,不关心 ` bl ` / ` rag ` 。每个产品入口传入自己的 command map,` runtime ` 负责解析、help、鉴权、遥测、执行。
35+ ` packages/commands ` 是命令库,只导出单个 command;不内置 path presets,不关心 ` bl ` / ` kscli ` 。每个产品入口传入自己的 command map,` runtime ` 负责解析、help、鉴权、遥测、执行。
3636
3737```
3838packages/commands/src/commands/<...>.ts
@@ -42,7 +42,7 @@ packages/commands/src/index.ts
4242 export { default as xxxCommand } from "./commands/...ts"
4343 ↓
4444┌──────────────────────────────┬──────────────────────────────┐
45- │ packages/cli/src/commands.ts │ packages/rag /src/main.ts │
45+ │ packages/cli/src/commands.ts │ packages/kscli /src/main.ts │
4646│ { "text chat": textChat } │ { "retrieve": knowledge... } │
4747└──────────────┬───────────────┴──────────────┬───────────────┘
4848 ↓ ↓
@@ -51,10 +51,10 @@ packages/commands/src/index.ts
5151 tools/generate-reference.ts reads packages/cli/src/commands.ts
5252```
5353
54- - ** ` packages/commands/src/commands/<...>.ts ` ** :命令实现;` usageArgs ` / ` exampleArgs ` 只写参数片段,不写 ` bl ` / ` rag ` 前缀
54+ - ** ` packages/commands/src/commands/<...>.ts ` ** :命令实现;` usageArgs ` / ` exampleArgs ` 只写参数片段,不写 ` bl ` / ` kscli ` 前缀
5555- ** ` packages/commands/src/index.ts ` ** :导出命令实现;新增命令必须在这里 re-export
5656- ** ` packages/cli/src/commands.ts ` ** :` bl ` 产品命令 map;新增/删除/重命名 ` bl ` 命令必须改这里
57- - ** ` packages/rag /src/main.ts ` ** :` rag ` 产品命令 map;只有该入口需要暴露/变更时才改
57+ - ** ` packages/kscli /src/main.ts ` ** :` kscli ` 产品命令 map;只有该入口需要暴露/变更时才改
5858- ** ` packages/runtime/src/registry.ts ` ** :通用 registry,从传入 map 建树;不要在这里登记业务命令
5959- ** ` tools/generate-reference.ts ` ** : pre-commit / ` pnpm run sync:skill-assets ` 时读 ` packages/cli/src/commands.ts ` ,写 ` skills/bailian-cli/reference/index.md ` + ` <一级命令>.md ` 。该目录** 纳入 git** ,勿手改
6060
@@ -66,7 +66,7 @@ packages/commands/src/index.ts
6666
6767- [ ] 新建/删除/移动对应的 ` packages/commands/src/commands/<...>.ts `
6868- [ ] ` defineCommand ` 字段使用当前 schema:
69- - ` auth: "apiKey" | "console" | "none" `
69+ - ` auth: "apiKey" | "console" | "openapi" | " none" `
7070 - ` flags ` (camelCase key,由 runtime 渲染为 kebab-case)
7171 - ` usageArgs ` (不含 bin/path 前缀)
7272 - ` exampleArgs ` (不含 bin/path 前缀)
@@ -81,7 +81,7 @@ packages/commands/src/index.ts
8181
8282- [ ] ` packages/cli/src/commands.ts ` :按需增删 ` import ` 与 ` commands ` map key
8383- [ ] 新 map key 就是 ` bl ` 下的命令路径;重命名时全仓 grep 旧路径字符串
84- - [ ] 如果 ` rag ` 入口也要暴露/移除该能力,同步 ` packages/rag /src/main.ts `
84+ - [ ] 如果 ` kscli ` 入口也要暴露/移除该能力,同步 ` packages/kscli /src/main.ts `
8585- [ ] 不要在 ` packages/runtime/src/registry.ts ` 或 ` create-cli.ts ` 里写业务命令表
8686
8787### C. 文档层
@@ -94,13 +94,13 @@ packages/commands/src/index.ts
9494
9595- [ ] 按 [ cli-e2e-tests.md] ( cli-e2e-tests.md ) 新建或更新 ` packages/cli/tests/e2e/<topic>.e2e.test.ts `
9696- [ ] 删除命令时一并删对应 e2e / README 示例 / reference 生成结果
97- - [ ] 如果 shared command 在不同入口路径下复用,至少确保 ` bl ` 入口 e2e 覆盖;` rag ` 入口改动需补对应入口测试或手工 smoke
97+ - [ ] 如果 shared command 在不同入口路径下复用,至少确保 ` bl ` 入口 e2e 覆盖;` kscli ` 入口改动需补对应入口测试或手工 smoke
9898
9999### E. 重命名特殊处理
100100
101101- [ ] 全仓 grep ** 旧命令名字符串** ,确保以下位置全部更新:
102102 - ` packages/cli/src/commands.ts ` map key
103- - ` packages/rag /src/main.ts ` map key(如适用)
103+ - ` packages/kscli /src/main.ts ` map key(如适用)
104104 - 用户可见 hint / README / tests
105105 - ` skills/bailian-cli/reference/ ` (重建后检查并提交)
106106- [ ] 检查 ` usageArgs ` / ` exampleArgs ` 没有硬编码旧的 ` bl <path> ` 前缀
@@ -114,17 +114,17 @@ node packages/cli/src/main.ts
114114vp test packages/cli/tests/e2e/< topic> .e2e.test.ts
115115```
116116
117- 如改了 ` rag ` 入口:
117+ 如改了 ` kscli ` 入口:
118118
119119``` sh
120- node packages/rag /src/main.ts < command> --help
120+ node packages/kscli /src/main.ts < command> --help
121121```
122122
123123## 常见漏点
124124
125125- ✗ 只新增 ` packages/commands/src/commands/... ` 文件,忘了在 ` packages/commands/src/index.ts ` 导出
126126- ✗ 只导出了命令实现,忘了在 ` packages/cli/src/commands.ts ` 暴露路径 → ` bl --help ` 看不到
127127- ✗ 手改 ` skills/bailian-cli/reference/*.md ` → 下次 generate 被覆盖;应改 command metadata 后重新 generate 并提交
128- - ✗ 在 ` usageArgs ` / ` exampleArgs ` 写死 ` bl text chat ` → ` rag ` 等入口复用时 help 错
128+ - ✗ 在 ` usageArgs ` / ` exampleArgs ` 写死 ` bl text chat ` → ` kscli ` 等入口复用时 help 错
129129- ✗ Console Gateway 命令忘设 ` auth: "console" ` → console flags / credential 注入都不生效
130130- ✗ 单 action 的子组是反模式,新增时优先拍平为两级
0 commit comments