summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/config/config.ts13
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 05f85b6b2..64ab0300e 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -139,8 +139,17 @@ export namespace Config {
async function installDependencies(dir: string) {
if (Installation.isDev()) return
- await Bun.write(path.join(dir, "package.json"), "{}")
- await Bun.write(path.join(dir, ".gitignore"), ["node_modules", "package.json", "bun.lock", ".gitignore"].join("\n"))
+
+ const pkg = path.join(dir, "package.json")
+
+ if (!(await Bun.file(pkg).exists())) {
+ await Bun.write(pkg, "{}")
+ }
+
+ const gitignore = path.join(dir, ".gitignore")
+ const hasGitIgnore = await Bun.file(gitignore).exists()
+ if (!hasGitIgnore) await Bun.write(gitignore, ["node_modules", "package.json", "bun.lock", ".gitignore"].join("\n"))
+
await BunProc.run(
["add", "@opencode-ai/plugin@" + (Installation.isDev() ? "latest" : Installation.VERSION), "--exact"],
{