Skip to content

feat(cli): Windows (win32-x64) prebuilt app bundle - #192

Draft
hilash wants to merge 1 commit into
mainfrom
windows-app-bundle
Draft

feat(cli): Windows (win32-x64) prebuilt app bundle#192
hilash wants to merge 1 commit into
mainfrom
windows-app-bundle

Conversation

@hilash

@hilash hilash commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Windows prebuilt app bundle (win32-x64)

Follow-up to #65, which shipped the zero-install npx cabinetai run prebuilt-bundle path for macOS/Linux and left Windows on the source + npm install fallback. This adds the Windows (x64) bundle.

Changes

  • win32-x64 added to AppBundleKey (cabinetai + app-side) and to the key lists in generate-release-manifest.mjs / src/lib/system/release-manifest.ts.
  • getAppBundleKey() maps win32 + x64win32-x64.
  • release.yml publish-app-bundles builds on windows-latest (with shell: bash so the bash packaging script runs under Git Bash).
  • run.ts resolves the bundled node as node.exe on Windows.

The node-pty staging for win32 prebuilds already landed with #65 (prepare-electron-package.mjs, keyed off targetPlatform).

⚠️ Not yet validated on Windows — needs a real Windows box

I built and verified the macOS/Linux path end-to-end (bundle boots, app + daemon healthy, Chrome DevTools render), but I can't produce or run a Windows bundle here. Before merging, please validate on Windows x64:

  1. CI packaging — trigger the publish-app-bundles matrix (or a test release tag) and confirm the windows-latest job builds and uploads cabinet-app-win32-x64-vX.tgz + .sha256. Watch for: tar behavior under Git Bash, and npm run electron:prep staging node-pty/prebuilds/win32-x64.
  2. Runtime — on a clean Windows machine: npx cabinetai run, confirm it downloads the win32 bundle (not the source fallback), boots server.js via bin\node.exe, and the app + daemon serve. node-pty terminals in particular exercise the native binding.
  3. Confirm the source-install fallback still works if the bundle is absent.

Leaving as draft until someone confirms the above on Windows.

Extends the zero-install bundle path to Windows (x64):
- win32-x64 AppBundleKey in cabinetai + app-side release-manifest types/keys
- generate-release-manifest emits a win32-x64 bundle entry
- release.yml publish-app-bundles builds on windows-latest (shell: bash so the
  bash packaging script runs under Git Bash)
- run.ts resolves the bundled node as node.exe on Windows

Not yet validated on a real Windows host — see PR body.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant