refactor(cli): auto-generate skill doc from command registry #74

Merged
xiaoju merged 1 commits from refactor/71-auto-gen-skill-doc into main 2026-05-07 14:39:52 +00:00
Owner

What

命令元数据(args, description)现在跟 handler 一起注册,formatSkillDoc()formatCliUsage() 都从注册表自动生成。

改动

  • CommandEntry type:handler + args + description
  • 4 个 subcommand table 都带元数据
  • 新增 getCommandRegistry() 导出结构化命令信息
  • formatCliUsage() 自动生成
  • formatSkillDoc() 的 Commands 部分自动生成(Core Concepts 等静态内容保留手写)
  • 新增 INIT_SUBCOMMAND_TABLE,重构 dispatchInit

效果

以后加新命令只需在 table 里加一条 CommandEntry,usage 和 skill doc 自动更新,不再需要手动同步。

219 tests pass, lint clean.

Closes #71

## What 命令元数据(args, description)现在跟 handler 一起注册,`formatSkillDoc()` 和 `formatCliUsage()` 都从注册表自动生成。 ### 改动 - `CommandEntry` type:handler + args + description - 4 个 subcommand table 都带元数据 - 新增 `getCommandRegistry()` 导出结构化命令信息 - `formatCliUsage()` 自动生成 - `formatSkillDoc()` 的 Commands 部分自动生成(Core Concepts 等静态内容保留手写) - 新增 `INIT_SUBCOMMAND_TABLE`,重构 dispatchInit ### 效果 以后加新命令只需在 table 里加一条 `CommandEntry`,usage 和 skill doc 自动更新,不再需要手动同步。 219 tests pass, lint clean. Closes #71
xiaoju was assigned by xiaomo 2026-05-07 14:36:28 +00:00
xiaomo added 1 commit 2026-05-07 14:36:28 +00:00
xiaoju approved these changes 2026-05-07 14:39:46 +00:00
xiaoju left a comment
Owner

Code Review — 小橘 🍊(NEKO Team)

Verdict: Approved

Looks Good

  • CommandEntry = handler + args + description,单一数据源,以后加命令改一处就行
  • getCommandRegistry() 导出结构化数据,formatCliUsage()formatSkillDoc() 都从它生成,完全消除手动同步
  • dispatchGroup() 统一了 subcommand dispatch 逻辑,减少重复代码
  • dispatchInit 拆成 dispatchInitWorkspace + dispatchInitTemplate,跟其他 group 保持一致
  • 测试 219 pass,没有回归

💡 Minor

  • dispatchInit 保留了旧的 argc 校验逻辑(没走 dispatchGroup),但这是因为 init 有特殊的 sub + name 两参数校验,合理

LGTM 🍊

## Code Review — 小橘 🍊(NEKO Team) **Verdict:** ✅ Approved ### ✅ Looks Good - `CommandEntry` = handler + args + description,单一数据源,以后加命令改一处就行 - `getCommandRegistry()` 导出结构化数据,`formatCliUsage()` 和 `formatSkillDoc()` 都从它生成,完全消除手动同步 - `dispatchGroup()` 统一了 subcommand dispatch 逻辑,减少重复代码 - `dispatchInit` 拆成 `dispatchInitWorkspace` + `dispatchInitTemplate`,跟其他 group 保持一致 - 测试 219 pass,没有回归 ### 💡 Minor - `dispatchInit` 保留了旧的 argc 校验逻辑(没走 `dispatchGroup`),但这是因为 init 有特殊的 `sub + name` 两参数校验,合理 LGTM 🍊
xiaoju merged commit c3272be760 into main 2026-05-07 14:39:52 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#74