feat: 拆分 archive 为纯提示词命令,新增 finish 执行目录归档
This commit is contained in:
15
src/cli.ts
15
src/cli.ts
@@ -286,6 +286,19 @@ cli.command("archive <change-name>", "归档阶段").action(async (changeName: s
|
||||
}
|
||||
const config = await loadConfig(root);
|
||||
const prompt = await assembleArchivePrompt(config, root, changeName);
|
||||
console.log(prompt);
|
||||
});
|
||||
|
||||
cli.command("finish <change-name>", "归档变更").action(async (changeName: string) => {
|
||||
validateChangeName(changeName);
|
||||
const root = requireProjectRoot();
|
||||
const changeDir = getChangeDir(root, changeName);
|
||||
if (!existsSync(changeDir)) {
|
||||
const prefix = getPmPrefix();
|
||||
throw new CommandError(`变更 '${changeName}' 不存在`, {
|
||||
hint: `请先运行 ${prefix} create ${changeName} 创建变更`,
|
||||
});
|
||||
}
|
||||
const today = new Date().toISOString().slice(0, 10);
|
||||
const dest = join(getArchiveDir(root), `${today}-${changeName}`);
|
||||
if (existsSync(dest)) {
|
||||
@@ -294,7 +307,7 @@ cli.command("archive <change-name>", "归档阶段").action(async (changeName: s
|
||||
});
|
||||
}
|
||||
await rename(changeDir, dest);
|
||||
console.log(prompt);
|
||||
console.log(`变更 "${changeName}" 已归档到 .rune/archive/${today}-${changeName}`);
|
||||
});
|
||||
|
||||
cli.command("status [change-name]", "查看变更状态").action(async (changeName?: string) => {
|
||||
|
||||
Reference in New Issue
Block a user