diff --git a/src/cli/cli-program.test.ts b/src/cli/cli-program.test.ts new file mode 100644 index 000000000..c7c493830 --- /dev/null +++ b/src/cli/cli-program.test.ts @@ -0,0 +1,22 @@ +import { describe, test, expect } from "bun:test" +import { readFile } from "node:fs/promises" +import path from "node:path" + +describe("cli-program", () => { + test("install command exposes 'setup' as an alias so the historical install path keeps working", async () => { + // given + const cliProgramSource = await readFile( + path.resolve(import.meta.dir, "cli-program.ts"), + "utf-8", + ) + + // when + const installBlock = cliProgramSource.match( + /program\s*\n\s*\.command\("install"\)([\s\S]*?)\.action\(/, + ) + + // then + expect(installBlock).not.toBeNull() + expect(installBlock?.[1]).toContain('.alias("setup")') + }) +}) diff --git a/src/cli/cli-program.ts b/src/cli/cli-program.ts index ff1b63345..dc3a0d4d2 100644 --- a/src/cli/cli-program.ts +++ b/src/cli/cli-program.ts @@ -24,6 +24,7 @@ program program .command("install") + .alias("setup") .description("Install and configure oh-my-opencode with interactive setup") .option("--no-tui", "Run in non-interactive mode (requires all options)") .option("--claude ", "Claude subscription: no, yes, max20")