summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-11-07 19:18:57 -0600
committerAiden Cline <[email protected]>2025-11-07 19:18:57 -0600
commit7af338045563e0b06ebf150972ebe123bd9dee27 (patch)
tree4c11dac38c372d729fa9fa3553779865ec625a14 /packages
parentdcaa90808e35eb597bce56469d9438df8f062254 (diff)
downloadopencode-7af338045563e0b06ebf150972ebe123bd9dee27.tar.gz
opencode-7af338045563e0b06ebf150972ebe123bd9dee27.zip
chore: adjust cfg code
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/config/config.ts22
1 files changed, 9 insertions, 13 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 6d6c7c465..8330c88dc 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<void>[] = []
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))