A plugin-based desktop launcher built with Tauri. Compile exactly the tools you need with 0.9s incremental builds.
A minimal desktop shell that hosts functionality through plugins. Instead of building monolithic apps, create focused plugins that compile into a custom launcher. Think of it as a bootloader for desktop tools.
Key features:
# Prerequisites: Bun + Rust
bun install
# For fresh checkouts only: sync plugin binaries
bun manage-sidecars sync
# Run with specific plugins (fast builds)
bun dev:settings # Just settings plugin
bun dev:none # No plugins (minimal)
bun dev:tauri # All plugins
# Create a new plugin (prompts for JS/TS)
bun create-plugin my-tool
āāā apps/desktop/ # Tauri shell
āāā plugins/ # Plugin modules
ā āāā registry.json # Plugin manifest (source of truth)
ā āāā tauri-plugin-*/ # Individual plugins
āāā docs/ # Documentation
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
settings |
Manage application settings | ā | - |
system-info |
Display system information | ā | - |
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
š bun |
JavaScript runtime integration with Bun support | ā | ā |
āļø cloudflare |
Manage Workers, KV, D1, R2, and DNS from the XE Launcher | ā | ā |
curl |
Make HTTP requests using curl | ā | ā |
š¦ deno |
Run Deno scripts with comprehensive permission management and developer tools | ā | ā |
iwa-tools |
Generate keys, create, bundle, and verify Isolated Web Apps (IWAs) | ā | ā |
mouse-trap |
Monitor mouse enter/leave events in screen regions for creating invisible triggers and hot corners | ā | ā |
š¦ ollama |
Local LLM integration with Ollama - chat, generate text, and manage models | ā | ā |
podman |
Container management with Podman | ā | ā |
š usb-info |
View connected USB devices with vendor ID, product ID, and connection status | ā | ā |
ā” workerd |
Cloudflare Workers runtime integration for local edge computing development | ā | ā |
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
chrome-manager |
Manage Chrome browser instances and Isolated Web Apps | - | - |
# Plugin management
bun plugin:list # Show all plugins
bun plugin:enable my-tool # Enable in registry
bun manage-sidecars sync # Sync native binaries
# Building
bun run build:tauri # Production build
Traditional plugin systems require choosing between dynamic loading (security risks, performance overhead) or static compilation (inflexible). We chose a third way: conditional compilation with runtime control.
Result: The security and performance of static compilation with the flexibility of dynamic systems.