From 55cfd7d331c62980bee28e1c9cac57eb867005dd Mon Sep 17 00:00:00 2001 From: Wes Date: Sat, 18 Apr 2026 09:00:20 -0600 Subject: [PATCH 1/2] feat(desktop): configure externalBin for sidecar bundling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add sprout-acp and sprout-mcp-server to Tauri's externalBin config so they get copied into Contents/MacOS/ in the production .app bundle. The desktop app's discovery code already resolves current_exe().parent(), which points to Contents/MacOS/ — no Rust changes needed. Co-Authored-By: Claude Opus 4.6 (1M context) --- desktop/src-tauri/.gitignore | 3 +++ desktop/src-tauri/tauri.conf.json | 1 + 2 files changed, 4 insertions(+) diff --git a/desktop/src-tauri/.gitignore b/desktop/src-tauri/.gitignore index b21bd681d..8c86ed783 100644 --- a/desktop/src-tauri/.gitignore +++ b/desktop/src-tauri/.gitignore @@ -5,3 +5,6 @@ # Generated by Tauri # will have schema files for capabilities auto-completion /gen/schemas + +# Sidecar binaries (built by scripts/bundle-sidecars.sh) +/binaries/ diff --git a/desktop/src-tauri/tauri.conf.json b/desktop/src-tauri/tauri.conf.json index 1d88b3f5c..b5ae4486f 100644 --- a/desktop/src-tauri/tauri.conf.json +++ b/desktop/src-tauri/tauri.conf.json @@ -34,6 +34,7 @@ "bundle": { "active": true, "targets": "all", + "externalBin": ["binaries/sprout-acp", "binaries/sprout-mcp-server"], "icon": [ "icons/32x32.png", "icons/128x128.png", From d599471265a8a23c8c6abb1e2b710b54e0fa75e0 Mon Sep 17 00:00:00 2001 From: Wes Date: Sat, 18 Apr 2026 09:27:54 -0600 Subject: [PATCH 2/2] fix(ci): stub sidecar placeholders for desktop-tauri-check Tauri validates externalBin paths at compile time, even during cargo check. Create empty placeholder files before the check so CI passes. Real binaries are built by the release script. Co-Authored-By: Claude Opus 4.6 (1M context) --- justfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/justfile b/justfile index a76b59da6..a1039efd7 100644 --- a/justfile +++ b/justfile @@ -87,6 +87,12 @@ desktop-tauri-fmt-check: # Check the desktop Tauri Rust crate compiles desktop-tauri-check: + #!/usr/bin/env bash + set -euo pipefail + TARGET=$(rustc -vV | sed -n 's|host: ||p') + mkdir -p desktop/src-tauri/binaries + touch "desktop/src-tauri/binaries/sprout-acp-$TARGET" + touch "desktop/src-tauri/binaries/sprout-mcp-server-$TARGET" cargo check --manifest-path {{desktop_tauri_manifest}} # Run desktop checks suitable for CI / pre-push