From 66ec9f58ee18bdf448722ead5e77fbc00110bdc5 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Thu, 12 Mar 2026 17:31:04 +0900 Subject: [PATCH] feat(opencode-go): add CLI install flag and TUI prompts --- src/cli/cli-program.ts | 2 ++ src/cli/install-validators.ts | 9 ++++++--- src/cli/tui-install-prompts.ts | 13 ++++++++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/cli/cli-program.ts b/src/cli/cli-program.ts index fc3197efa..7f66351f3 100644 --- a/src/cli/cli-program.ts +++ b/src/cli/cli-program.ts @@ -31,6 +31,7 @@ program .option("--opencode-zen ", "OpenCode Zen access: no, yes (default: no)") .option("--zai-coding-plan ", "Z.ai Coding Plan subscription: no, yes (default: no)") .option("--kimi-for-coding ", "Kimi For Coding subscription: no, yes (default: no)") + .option("--opencode-go ", "OpenCode Go subscription: no, yes (default: no)") .option("--skip-auth", "Skip authentication setup hints") .addHelpText("after", ` Examples: @@ -57,6 +58,7 @@ Model Providers (Priority: Native > Copilot > OpenCode Zen > Z.ai > Kimi): opencodeZen: options.opencodeZen, zaiCodingPlan: options.zaiCodingPlan, kimiForCoding: options.kimiForCoding, + opencodeGo: options.opencodeGo, skipAuth: options.skipAuth ?? false, } const exitCode = await install(args) diff --git a/src/cli/install-validators.ts b/src/cli/install-validators.ts index 7cf4f770d..58688e752 100644 --- a/src/cli/install-validators.ts +++ b/src/cli/install-validators.ts @@ -159,7 +159,8 @@ export function argsToConfig(args: InstallArgs): InstallConfig { hasCopilot: args.copilot === "yes", hasOpencodeZen: args.opencodeZen === "yes", hasZaiCodingPlan: args.zaiCodingPlan === "yes", - hasKimiForCoding: args.kimiForCoding === "yes", +hasKimiForCoding: args.kimiForCoding === "yes", + hasOpencodeGo: args.opencodeGo === "yes", } } @@ -170,7 +171,8 @@ export function detectedToInitialValues(detected: DetectedConfig): { copilot: BooleanArg opencodeZen: BooleanArg zaiCodingPlan: BooleanArg - kimiForCoding: BooleanArg +kimiForCoding: BooleanArg + opencodeGo: BooleanArg } { let claude: ClaudeSubscription = "no" if (detected.hasClaude) { @@ -184,6 +186,7 @@ export function detectedToInitialValues(detected: DetectedConfig): { copilot: detected.hasCopilot ? "yes" : "no", opencodeZen: detected.hasOpencodeZen ? "yes" : "no", zaiCodingPlan: detected.hasZaiCodingPlan ? "yes" : "no", - kimiForCoding: detected.hasKimiForCoding ? "yes" : "no", +kimiForCoding: detected.hasKimiForCoding ? "yes" : "no", + opencodeGo: detected.hasOpencodeGo ? "yes" : "no", } } diff --git a/src/cli/tui-install-prompts.ts b/src/cli/tui-install-prompts.ts index c6e8eb2ea..bc7416340 100644 --- a/src/cli/tui-install-prompts.ts +++ b/src/cli/tui-install-prompts.ts @@ -97,9 +97,19 @@ export async function promptInstallConfig(detected: DetectedConfig): Promise