feat: add Botmux Desktop app shell#380
Open
anarkh wants to merge 11 commits into
Open
Conversation
added 10 commits
July 7, 2026 16:27
1050502 to
fb1b803
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the Botmux macOS Desktop app as a CLI-first desktop extension for the existing botmux runtime and dashboard.
What changed
botmuxCLI/runtime instead of owning a private long-lived runtime by default./__desktop/compatand desktop shell URL shaping.botmuxCLI command surface because we do not have an Apple Developer ID / notarized distribution path yet.src/desktop/README.mdand executablesrc/desktop/install-local.shso users can download source, build the Desktop bundle locally, ad-hoc sign, remove quarantine, and install/Applications/Botmux.app.botmuxCLI.0.0.0; git checkout uses the nearest tag, and source archives can setBOTMUX_DESKTOP_VERSION.src/clitosrc/desktopand keep the npm scriptpnpm desktop:smoke.Scope note
This PR is intentionally separate from the stale dashboard lazy-chunk hotfix PR (#379). This PR carries the Desktop app code and its minimal CLI/dashboard integration surface. Desktop install/update is intentionally documented as source checkout +
src/desktop/install-local.sh, not abotmuxCLI subcommand, and the install script does not mutate the CLI installation.Validation
Passing checks:
CI=true pnpm install --frozen-lockfilepnpm exec tsc --noEmitpnpm exec vitest run --project unit test/desktop/*.test.tspnpm buildpnpm desktop:bundlebash -n src/desktop/install-local.shpnpm exec vitest run --project unit test/desktop/desktop-local-install-docs.test.tspnpm exec electron-builder --mac dir --config electron-builder.yml -c.extraMetadata.version=2.103.0bash src/desktop/install-local.sh --no-openon macOS: installed/Applications/Botmux.app, ad-hoc signed it, removed quarantine, did not open the App, and wroteInfo.plistversion2.103.0.pnpm desktop:smoke --skip-dashboard: 6/6 checks passed after source install.Additional full-suite check:
pnpm exec vitest run --project unitcurrently fails in unrelated existing areas:test/dashboard-create-session.test.tsmock missingresolveRoleInjection,test/sandbox.test.tsopaque-dir apply assertion, and atest/whiteboard-cli.test.tstimeout in full-suite mode. Re-running the three files showswhiteboard-clipasses standalone;dashboard-create-sessionandsandboxremain stable unrelated failures. Desktop-focused tests above pass.