Desktop App Development
The desktop app is the full Electron IDE for Windows, macOS, and Linux (desktop-full profile). Work here for the Electron shell, React renderer, native file I/O, desktop-only panels, packaging, and installers.
Commands
From the repository root:
npm run desktop:dev # hot reload
npm run desktop:build
npm run desktop:test
npm run desktop:dist # electron-builder installers
Architecture
- Renderer profile:
__CLIENT_PROFILE__ = "desktop-full". - Shared playback, parsing, editor, and app state:
@beatbax/app-core. - Desktop owns React panels (toolbar, transport, Settings, Copilot, mixer, pattern grid). It does not import
@web-uipanel modules fromapps/web-ui. - Electron main process: native dialogs, recent files, file associations, packaging, and OS secure storage for Copilot API keys.
Releasing
Installers are published via git tags and CI — not npm.
- Update
apps/desktop/package.jsonversion if needed. - Edit
apps/desktop/build/release-notes.body.txt. npm run desktop:distgeneratesREADME.txt/RELEASE-NOTES.txtnext to the app.- Tag and push:
git tag -a desktop-v0.2.0 -m "BeatBax Desktop v0.2.0"
git push origin desktop-v0.2.0
The Desktop: Build workflow packages on Windows, macOS, and Linux and publishes to GitHub Releases.
Full details: docs/releasing.md.