From 80e65719c024b206060aeae475d7bd4ecf58c35b Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 20 Feb 2026 10:23:52 -0600 Subject: [PATCH 1/3] cache platform binary in postinstall for faster startup --- packages/opencode/script/postinstall.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/opencode/script/postinstall.mjs b/packages/opencode/script/postinstall.mjs index e8b5e995ccf..98f23e16fb5 100644 --- a/packages/opencode/script/postinstall.mjs +++ b/packages/opencode/script/postinstall.mjs @@ -109,8 +109,14 @@ async function main() { // On non-Windows platforms, just verify the binary package exists // Don't replace the wrapper script - it handles binary execution const { binaryPath } = findBinary() - console.log(`Platform binary verified at: ${binaryPath}`) - console.log("Wrapper script will handle binary execution") + const target = path.join(__dirname, "bin", ".opencode") + if (fs.existsSync(target)) fs.unlinkSync(target) + try { + fs.linkSync(binaryPath, target) + } catch { + fs.copyFileSync(binaryPath, target) + } + fs.chmodSync(target, 0o755) } catch (error) { console.error("Failed to setup opencode binary:", error.message) process.exit(1) From 1a4aed6b2916dc58680867e19fe8133468dcbf11 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 20 Feb 2026 10:24:50 -0600 Subject: [PATCH 2/3] tweak --- packages/opencode/bin/opencode | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/opencode/bin/opencode b/packages/opencode/bin/opencode index d73bbce2677..7d0fabaf387 100755 --- a/packages/opencode/bin/opencode +++ b/packages/opencode/bin/opencode @@ -25,6 +25,11 @@ if (envPath) { const scriptPath = fs.realpathSync(__filename) const scriptDir = path.dirname(scriptPath) +const cached = path.join(scriptDir, ".opencode") +if (fs.existsSync(cached)) { + run(cached) +} + const platformMap = { darwin: "darwin", linux: "linux", From 25408e82d231d288a3d9f7ca81ce78275f7075e8 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 20 Feb 2026 10:30:18 -0600 Subject: [PATCH 3/3] test --- packages/opencode/bin/opencode | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/opencode/bin/opencode b/packages/opencode/bin/opencode index 7d0fabaf387..a7674ce2f87 100755 --- a/packages/opencode/bin/opencode +++ b/packages/opencode/bin/opencode @@ -25,6 +25,7 @@ if (envPath) { const scriptPath = fs.realpathSync(__filename) const scriptDir = path.dirname(scriptPath) +// const cached = path.join(scriptDir, ".opencode") if (fs.existsSync(cached)) { run(cached)