refactor: init 命令使用 CommandError

This commit is contained in:
2026-06-08 22:34:47 +08:00
parent 1fbec93d55
commit c63912dc0d
2 changed files with 13 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import { join } from "node:path";
import { CHANGES_DIR, ARCHIVE_DIR, RUNE_DIR, CONFIG_FILE } from "../types.ts";
import { injectOpenCode } from "../adapters/opencode.ts";
import { injectClaudeCode } from "../adapters/claude-code.ts";
import { CommandError } from "../cli/errors.ts";
const SUPPORTED_TOOLS: Record<string, (root: string) => Promise<void>> = {
opencode: injectOpenCode,
@@ -16,7 +17,9 @@ export async function runInit(
): Promise<void> {
for (const tool of tools) {
if (!SUPPORTED_TOOLS[tool]) {
throw new Error(`不支持的工具: ${tool}`);
throw new CommandError(`不支持的工具: ${tool}`, {
hint: `支持的工具: ${Object.keys(SUPPORTED_TOOLS).join(", ")}`,
});
}
}