Files
oh-my-opencode/src/cli/types.ts
T
YeonGyu-Kim 79ec1c23c1 feat(cli): add claudecode install platform + runner + lazyclaudecode routing
--platform=claudecode (alias cc normalized in resolveInstallArgs); hasClaudeCode;
runClaudeCodeInstaller shells to claude plugin marketplace add/install, prints
/plugin commands + errors (no ~/.claude write) when claude absent; install
telemetry via @oh-my-opencode/omo-claude/telemetry; lazyclaudecode invocation
routes to claudecode. 26 target tests + 23 dependent tests green; both unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:50:17 +09:00

58 lines
1.3 KiB
TypeScript

export type ClaudeSubscription = "no" | "yes" | "max20"
export type BooleanArg = "no" | "yes"
export type InstallPlatform = "opencode" | "codex" | "claudecode" | "both"
export interface InstallArgs {
tui: boolean
platform?: InstallPlatform
claude?: ClaudeSubscription
openai?: BooleanArg
gemini?: BooleanArg
copilot?: BooleanArg
opencodeZen?: BooleanArg
zaiCodingPlan?: BooleanArg
kimiForCoding?: BooleanArg
opencodeGo?: BooleanArg
vercelAiGateway?: BooleanArg
skipAuth?: boolean
}
export interface InstallConfig {
platform: InstallPlatform
hasOpenCode: boolean
hasClaude: boolean
isMax20: boolean
hasOpenAI: boolean
hasGemini: boolean
hasCopilot: boolean
hasCodex: boolean
hasClaudeCode: boolean
hasOpencodeZen: boolean
hasZaiCodingPlan: boolean
hasKimiForCoding: boolean
hasOpencodeGo: boolean
hasVercelAiGateway: boolean
}
export interface ConfigMergeResult {
success: boolean
configPath: string
error?: string
}
export interface DetectedConfig {
isInstalled: boolean
installedVersion: string | null
hasClaude: boolean
isMax20: boolean
hasOpenAI: boolean
hasGemini: boolean
hasCopilot: boolean
hasCodex: boolean
hasOpencodeZen: boolean
hasZaiCodingPlan: boolean
hasKimiForCoding: boolean
hasOpencodeGo: boolean
hasVercelAiGateway: boolean
}