summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/config/config.ts6
-rw-r--r--packages/opencode/src/worktree/index.ts5
2 files changed, 5 insertions, 6 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index b6688f8c9..09c80d2f3 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -18,6 +18,7 @@ import { LSPServer } from "../lsp/server"
import { BunProc } from "@/bun"
import { Installation } from "@/installation"
import { ConfigMarkdown } from "./markdown"
+import { existsSync } from "fs"
export namespace Config {
const log = Log.create({ service: "config" })
@@ -103,7 +104,10 @@ export namespace Config {
}
}
- installDependencies(dir)
+ const exists = existsSync(path.join(dir, "node_modules"))
+ const installing = installDependencies(dir)
+ if (!exists) await installing
+
result.command = mergeDeep(result.command ?? {}, await loadCommand(dir))
result.agent = mergeDeep(result.agent, await loadAgent(dir))
result.agent = mergeDeep(result.agent, await loadMode(dir))
diff --git a/packages/opencode/src/worktree/index.ts b/packages/opencode/src/worktree/index.ts
index 4227d76b9..b1ac8fbfc 100644
--- a/packages/opencode/src/worktree/index.ts
+++ b/packages/opencode/src/worktree/index.ts
@@ -212,11 +212,6 @@ export namespace Worktree {
throw new StartCommandFailedError({ message: errorText(ran) || "Worktree start command failed" })
}
- const opencodeDir = path.join(info.directory, ".opencode")
- if (await Bun.file(opencodeDir).exists()) {
- await Config.installDependencies(info.directory)
- }
-
return info
})
}