refactor: create 从 SDD 阶段降级为工具命令,移除阶段配置和提示词

This commit is contained in:
2026-06-10 14:51:29 +08:00
parent 1f6e49e336
commit 8573d2abc8
13 changed files with 190 additions and 80 deletions

View File

@@ -3,14 +3,12 @@ import { mkdir, writeFile, rm } from "node:fs/promises";
import { join } from "node:path";
import {
assembleDiscussPrompt,
assembleCreatePrompt,
assemblePlanPrompt,
assembleBuildPrompt,
assembleArchivePrompt,
} from "../../src/core/assembler.ts";
import type { RuneConfig } from "../../src/types.ts";
import { defaultConfig } from "../../src/defaults/config.ts";
import { CommandError } from "../../src/cli/errors.ts";
const TMP_DIR = join(import.meta.dir, "__tmp_assembler_test__");
@@ -40,35 +38,6 @@ describe("assembleDiscussPrompt", () => {
});
});
describe("assembleCreatePrompt", () => {
it("返回默认 create 提示词", () => {
const prompt = assembleCreatePrompt(defaultConfig);
expect(prompt).toBeTruthy();
expect(prompt).toContain("变更名称");
expect(prompt).toContain("/rune-plan");
});
it("返回自定义 create 提示词", () => {
const config: RuneConfig = {
stages: { create: { prompt: "自定义创建" } },
};
const prompt = assembleCreatePrompt(config);
expect(prompt).toBe("自定义创建");
});
it("create 阶段未配置时抛出 CommandError", () => {
const config: RuneConfig = {
stages: { build: { prompt: "构建" } },
};
try {
assembleCreatePrompt(config);
expect.unreachable();
} catch (e) {
expect(e).toBeInstanceOf(CommandError);
}
});
});
describe("assemblePlanPrompt", () => {
it("包含指定文档名称和提示词", async () => {
const prompt = await assemblePlanPrompt(defaultConfig, TMP_DIR, "user-auth", "design");