feat: 更新 plan 和 status 命令的帮助文本

This commit is contained in:
2026-06-09 10:52:24 +08:00
parent 636ca48b4c
commit 160ec576e1
2 changed files with 24 additions and 17 deletions

View File

@@ -32,14 +32,17 @@ const COMMANDS: Record<string, CommandHelpDef> = {
}, },
plan: { plan: {
name: "plan", name: "plan",
alias: "plan <名称>", alias: "plan <变更> <文档>",
description: "规划:生成规划阶段提示词", description: "规划:生成指定文档的规划提示词",
usage: "rune plan <change-name>", usage: "rune plan <change-name> <document-name>",
args: [{ name: "<change-name>", desc: "变更名称,如 \"add-login\"" }], args: [
detail: "生成规划阶段的提示词。变更目录将创建在 .rune/changes/<change-name>/ 下。", { name: "<change-name>", desc: "变更名称,如 \"add-login\"" },
{ name: "<document-name>", desc: "文档名称,如 \"design\"、\"task\"" },
],
detail: "生成规划阶段指定文档的提示词。依赖的前置文档必须已完成。可用文档由配置中的 plan.documents 定义。",
examples: [ examples: [
"rune plan add-user-auth", "rune plan add-user-auth design",
"rune plan fix-memory-leak", "rune plan add-user-auth task",
], ],
}, },
build: { build: {
@@ -68,12 +71,15 @@ const COMMANDS: Record<string, CommandHelpDef> = {
}, },
status: { status: {
name: "status", name: "status",
alias: "status", alias: "status [变更]",
description: "查看:列出当前进行中的变更", description: "查看:展示变更状态与下一步建议",
usage: "rune status", usage: "rune status [change-name]",
args: [], args: [{ name: "[change-name]", desc: "可选,指定查看的变更名称" }],
detail: "扫描 .rune/changes/ 目录,列出所有进行中的变更及其任务进度。", detail: "展示各文档完成状态、依赖满足情况、规划进度和下一步建议。不传参数则显示所有变更。",
examples: ["rune status"], examples: [
"rune status",
"rune status add-user-auth",
],
}, },
}; };
@@ -99,7 +105,7 @@ export function showGlobalHelp(): string {
lines.push(""); lines.push("");
lines.push("示例:"); lines.push("示例:");
lines.push(" rune init opencode 初始化并注入 OpenCode 配置"); 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 查看当前变更状态"); lines.push(" rune status 查看当前变更状态");
return lines.join("\n"); return lines.join("\n");

View File

@@ -7,7 +7,7 @@ describe("showGlobalHelp", () => {
expect(output).toContain("rune <命令> [参数]"); expect(output).toContain("rune <命令> [参数]");
expect(output).toContain("init <工具...>"); expect(output).toContain("init <工具...>");
expect(output).toContain("discuss"); expect(output).toContain("discuss");
expect(output).toContain("plan <名称>"); expect(output).toContain("plan <变更> <文档>");
expect(output).toContain("build <名称>"); expect(output).toContain("build <名称>");
expect(output).toContain("archive <名称>"); expect(output).toContain("archive <名称>");
expect(output).toContain("status"); expect(output).toContain("status");
@@ -18,7 +18,7 @@ describe("showGlobalHelp", () => {
it("包含示例", () => { it("包含示例", () => {
const output = showGlobalHelp(); const output = showGlobalHelp();
expect(output).toContain("rune init opencode"); 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"); expect(output).toContain("rune status");
}); });
@@ -31,8 +31,9 @@ describe("showGlobalHelp", () => {
describe("showCommandHelp", () => { describe("showCommandHelp", () => {
it("plan 命令包含用法、参数、描述、示例", () => { it("plan 命令包含用法、参数、描述、示例", () => {
const output = showCommandHelp("plan"); const output = showCommandHelp("plan");
expect(output).toContain("rune plan <change-name>"); expect(output).toContain("rune plan <change-name> <document-name>");
expect(output).toContain("<change-name>"); expect(output).toContain("<change-name>");
expect(output).toContain("<document-name>");
expect(output).toContain("规划阶段"); expect(output).toContain("规划阶段");
expect(output).toContain("rune plan add-user-auth"); expect(output).toContain("rune plan add-user-auth");
}); });