From 7af338045563e0b06ebf150972ebe123bd9dee27 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 7 Nov 2025 19:18:57 -0600 Subject: [PATCH] chore: adjust cfg code --- packages/opencode/src/config/config.ts | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 6d6c7c46..8330c88d 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -35,19 +35,6 @@ export namespace Config { } } - const opencodeDirectories = await Array.fromAsync( - Filesystem.up({ - targets: [".opencode"], - start: Instance.directory, - stop: Instance.worktree, - }), - ) - for (const dir of opencodeDirectories.toReversed()) { - for (const file of ["opencode.jsonc", "opencode.json"]) { - result = mergeDeep(result, await loadFile(path.join(dir, file))) - } - } - // Override with custom config if provided if (Flag.OPENCODE_CONFIG) { result = mergeDeep(result, await loadFile(Flag.OPENCODE_CONFIG)) @@ -93,6 +80,15 @@ export namespace Config { const promises: Promise[] = [] for (const dir of directories) { await assertValid(dir) + + for (const file of ["opencode.jsonc", "opencode.json"]) { + result = mergeDeep(result, await loadFile(path.join(dir, file))) + // to satisy the type checker + result.agent ??= {} + result.mode ??= {} + result.plugin ??= [] + } + promises.push(installDependencies(dir)) result.command = mergeDeep(result.command ?? {}, await loadCommand(dir)) result.agent = mergeDeep(result.agent, await loadAgent(dir))