diff --git a/src/cli/help.ts b/src/cli/help.ts index e264631..ea090a4 100644 --- a/src/cli/help.ts +++ b/src/cli/help.ts @@ -32,14 +32,17 @@ const COMMANDS: Record = { }, plan: { name: "plan", - alias: "plan <名称>", - description: "规划:生成规划阶段提示词", - usage: "rune plan ", - args: [{ name: "", desc: "变更名称,如 \"add-login\"" }], - detail: "生成规划阶段的提示词。变更目录将创建在 .rune/changes// 下。", + alias: "plan <变更> <文档>", + description: "规划:生成指定文档的规划提示词", + usage: "rune plan ", + args: [ + { name: "", desc: "变更名称,如 \"add-login\"" }, + { name: "", desc: "文档名称,如 \"design\"、\"task\"" }, + ], + detail: "生成规划阶段指定文档的提示词。依赖的前置文档必须已完成。可用文档由配置中的 plan.documents 定义。", examples: [ - "rune plan add-user-auth", - "rune plan fix-memory-leak", + "rune plan add-user-auth design", + "rune plan add-user-auth task", ], }, build: { @@ -68,12 +71,15 @@ const COMMANDS: Record = { }, status: { name: "status", - alias: "status", - description: "查看:列出当前进行中的变更", - usage: "rune status", - args: [], - detail: "扫描 .rune/changes/ 目录,列出所有进行中的变更及其任务进度。", - examples: ["rune status"], + alias: "status [变更]", + description: "查看:展示变更状态与下一步建议", + usage: "rune status [change-name]", + args: [{ name: "[change-name]", desc: "可选,指定查看的变更名称" }], + detail: "展示各文档完成状态、依赖满足情况、规划进度和下一步建议。不传参数则显示所有变更。", + examples: [ + "rune status", + "rune status add-user-auth", + ], }, }; @@ -99,7 +105,7 @@ export function showGlobalHelp(): string { lines.push(""); lines.push("示例:"); lines.push(" rune init opencode 初始化并注入 OpenCode 配置"); - lines.push(" rune plan add-login 开始规划 \"add-login\" 变更"); + lines.push(" rune plan add-login design 规划 \"add-login\" 的设计文档"); lines.push(" rune status 查看当前变更状态"); return lines.join("\n"); diff --git a/tests/cli/help.test.ts b/tests/cli/help.test.ts index f5228cb..0c34673 100644 --- a/tests/cli/help.test.ts +++ b/tests/cli/help.test.ts @@ -7,7 +7,7 @@ describe("showGlobalHelp", () => { expect(output).toContain("rune <命令> [参数]"); expect(output).toContain("init <工具...>"); expect(output).toContain("discuss"); - expect(output).toContain("plan <名称>"); + expect(output).toContain("plan <变更> <文档>"); expect(output).toContain("build <名称>"); expect(output).toContain("archive <名称>"); expect(output).toContain("status"); @@ -18,7 +18,7 @@ describe("showGlobalHelp", () => { it("包含示例", () => { const output = showGlobalHelp(); expect(output).toContain("rune init opencode"); - expect(output).toContain("rune plan add-login"); + expect(output).toContain("rune plan add-login design"); expect(output).toContain("rune status"); }); @@ -31,8 +31,9 @@ describe("showGlobalHelp", () => { describe("showCommandHelp", () => { it("plan 命令包含用法、参数、描述、示例", () => { const output = showCommandHelp("plan"); - expect(output).toContain("rune plan "); + expect(output).toContain("rune plan "); expect(output).toContain(""); + expect(output).toContain(""); expect(output).toContain("规划阶段"); expect(output).toContain("rune plan add-user-auth"); });