Xe Launcher is a desktop application designed to simplify the experience of running Isolated Web Apps (IWAs) and cloud-native development environments locally. It provides integrated support for Chrome management, container orchestration via Podman, and Cloudflare Workers development through workerd, making modern web development more accessible.
- ✅ Auto-start with system boot
- ✅ Automatic updates via CrabNebula CDN
- ✅ System tray integration
- ✅ Cross-platform support (macOS, Windows, Linux) - currently optimized for macOS
- ✅ Launch Chrome with custom profiles for IWA development
- ✅ Dedicated Chrome profile management
- ✅ Remote debugging support (port 9222)
- ✅ IWA development mode flags enabled
- ✅ Process lifecycle management
- ✅ Container management UI
- ✅ Podman machine status monitoring
- ✅ Container creation, start, stop, and removal
- ✅ Real-time container logs streaming
- ✅ Container state management
- ✅ Built-in Podman binaries (no separate installation required)
- ✅ Local Cloudflare Workers development
- ✅ Worker project creation and management
- ✅ Start/stop worker instances
- ✅ Real-time worker status monitoring
- ✅ Port management (8080-8199 range)
- ✅ Worker logs viewing
- ✅ Automatic workerd installation
- ✅ Delete worker projects with confirmation
- ✅ Bundled Bun runtime for JavaScript/TypeScript
- ✅ Git integration for repository cloning
- ✅ Project dependency management (bun install)
- ✅ Development server management (bun dev)
- ✅ Integrated terminal output
| Plugin | Description | Status | Platform Support | Key Features |
|---|---|---|---|---|
| Chrome Manager | Launch and manage Chrome instances for IWA development | ✅ Production | macOS, Windows, Linux | • Custom profiles • Remote debugging • IWA dev mode • Process management |
| Podman | Container orchestration and management | ✅ Production | macOS, Windows, Linux | • Machine management • Container lifecycle • Log streaming • Bundled binaries |
| Workerd | Cloudflare Workers local development | ✅ Production | macOS, Windows, Linux | • Worker management • Port allocation • Log viewing • Auto-installation |
| Caps Lock Remap | Transform Caps Lock into multi-function key | ✅ Production | macOS only | • Multi-tap patterns • Hold detection • LED feedback • Configurable timing |
| Ollama | Local AI model integration | ✅ Production | macOS, Windows, Linux | • Text generation • Chat interface • Embeddings • Model management |
| Keyboard | Global hotkeys and key event handling | 🚧 Development | macOS (planned: Win, Linux) | • Hotkey registration • Key monitoring • State tracking • Key simulation |
Each plugin has comprehensive documentation:
- Installation: See individual plugin README files in
tauri-plugin-*/ - API Reference: See docs/API_REFERENCE.md
- Contributing: See CONTRIBUTING.md
The application is built with:
- Frontend: React + TypeScript + Vite
- Backend: Rust with Tauri v2
- Plugins: Modular architecture with separate plugins for Chrome, Podman, and workerd
Each plugin follows a consistent pattern:
- Rust backend with command definitions
- JavaScript/TypeScript API bindings
- Permissions system for security
- React components for UI integration
- Bun (for package management and runtime)
- Rust toolchain (for Tauri)
- Node.js 18+ (for development tools)
- Clone the repository:
git clone https://github.com/Agent54/xe-launcher.git
cd xe-launcher- Install dependencies:
bun install- Start the development environment:
bun tauri devbun tauri buildThe built application will be in src-tauri/target/release/bundle/.
- Generate plugin scaffold:
cd tauri-plugin-yourplugin
cargo init-
Add the plugin to the main app:
- Add to
src-tauri/Cargo.tomldependencies - Add to
package.jsondependencies - Initialize in
src-tauri/src/lib.rs - Add permissions to
src-tauri/capabilities/default.json
- Add to
-
Create JavaScript bindings in
guest-js/index.js -
Build and test the plugin
- Launch Chrome with IWA development flags
- Manage Chrome processes
- Access remote debugging tools
- Ensure Podman machine is initialized (handled automatically on macOS)
- Create and manage containers through the UI
- View real-time logs
- Start/stop containers as needed
- Create a new worker project
- Edit the worker script in
workers/{project-name}/worker.js - Start the worker to test locally
- Access at
http://localhost:{assigned-port} - View logs and manage worker lifecycle
The app stores configuration and data in platform-specific locations:
- macOS:
~/Library/Application Support/com.agent54.xe-launcher/ - Windows:
%APPDATA%\com.agent54.xe-launcher\ - Linux:
~/.config/com.agent54.xe-launcher/
- All plugins use Tauri's permission system
- File system access is scoped and restricted
- External process execution requires explicit permissions
- Network access is controlled per plugin
- Workerd not found: Click "Download Workerd" in the UI
- Podman machine not running: The app will attempt to start it automatically
- Port conflicts: Workers use ports 8080-8199; ensure these are available
- Chrome launch fails: Ensure Chrome is installed in the default location
Run with debug output:
RUST_LOG=debug bun tauri devDownload the latest release from our GitHub Releases page.
We welcome contributions! Please check:
- TODO.md for planned features
- Issues for bug reports and feature requests
- Pull Requests for ongoing work
- Follow the existing code style
- Add tests for new features
- Update documentation
- Test on multiple platforms when possible
Join the User & Agents community:
- Website: https://userandagents.com
- Discord: https://discord.gg/mtEwuEZQ5x
MIT License - see LICENSE file for details