← ClaudeAtlas

boxlang-runtime-desktop-electronlisted

Use this skill when building BoxLang desktop applications with Electron and the BoxLang MiniServer, including process lifecycle wiring, miniserver.json-driven development control, runtime/Package.bx packaging, .boxlang-dev.json versus .boxlang.json behavior, default /app and /public mappings, and cross-platform packaging constraints.
ortus-boxlang/skills · ★ 0 · AI & Automation · score 58
Install: claude install-skill ortus-boxlang/skills
# BoxLang Desktop Runtime (Electron + MiniServer) ## Overview This skill applies to desktop applications that embed BoxLang using Electron and run a local BoxLang MiniServer process. Core model: - Electron owns desktop lifecycle (window, tray, menu, shortcuts). - A local MiniServer process serves the BoxLang app. - The BrowserWindow loads the local MiniServer URL. - Frontend assets are served via Vite in development and built artifacts in production. This pattern gives a desktop UX without replacing BoxLang with another backend stack. --- ## Architecture Baseline Expected module boundaries: - `app/electron/Main.js`: app bootstrap and module wiring. - `app/electron/BoxLang.js`: MiniServer process manager (start/stop/restart/readiness). - `app/electron/AppMenu.js`: application menu. - `app/electron/TrayMenu.js`: tray behavior and status. - `app/electron/Shortcuts.js`: global keyboard shortcuts. - `runtime/Package.bx`: MiniServer runtime packager using `.bvmrc`. - `miniserver.json`: local server runtime controls. - `.boxlang-dev.json`: development BoxLang runtime defaults. - `.boxlang.json`: production BoxLang runtime defaults. Preserve modular boundaries in `app/electron/*` instead of collapsing logic into a single file. --- ## Packaging Model Package the MiniServer runtime, not Java: - Packaged runtime paths: - `runtime/bin` - `runtime/lib` - Version source: `.bvmrc` - Packager script: `runtime/Package.bx` - Startup preference: packaged `runtime/bin/boxlang-m