Electron Desktop
CLI-JAW is available as a native macOS desktop application built with Electron. It wraps the full dashboard experience and adds a terminal, diff viewer, browser panel, and folder panel.
Installation
Download the DMG from the releases page and drag CLI-JAW to your Applications folder. The app bundles the dashboard and connects to your local CLI-JAW instances.
# Build from source:
npm run electron:dist:mac
Panel Layout
The Electron app provides a multi-panel workspace:
| Panel | Location | Description |
|---|---|---|
| Dashboard | Center | Full manager dashboard with instances, notes, board |
| Terminal | Bottom | Embedded terminal for CLI commands |
| Browser | Right | Webview-based browser with tabs (desktop only) |
| Diff Viewer | Right | Git diff panel backed by server API (desktop only) |
| Folder Panel | Left/Right | File tree navigation |
Browser Panel
The desktop browser panel uses webview tags for full browsing. Features:
- Tab management (Cmd+T new tab, Cmd+W close tab, Cmd+1-4 switch tabs)
- URL bar with smart input -- URLs navigate directly, search terms go to Google
- Default new tab opens Google
- Local/private hosts are allowed (desktop only -- not available in Web UI)
Diff Viewer
The diff panel shows Git changes for your project:
- Repo root candidates from
projectDirs,workingDir, pinned root, home fallback - Configurable diff settings: root policy, diff mode, base ref, untracked files
- Server-backed API prevents git operations from running in Electron main process
- Path traversal and ref validation guards in
diff-service.ts
Keyboard Shortcuts
See the Keyboard Shortcuts reference for the complete list. Key desktop shortcuts:
| Shortcut | Action |
|---|---|
Cmd+T | New browser tab |
Cmd+W | Close current tab |
Cmd+1-4 | Switch to tab 1-4 |
Cmd+R | Reload main window |
Cmd+Shift+R | Hard reload |
macOS Permissions
The Electron app may prompt for macOS automation access. Grant it in System Preferences > Privacy & Security > Automation. The app's quit flow is visible and handles cleanup gracefully.
Development
# Run Electron in dev mode (concurrent with jaw server):
npm run electron:dev
# Build the Electron app:
npm run electron:build
# Create macOS DMG:
npm run electron:dist:mac
- 터미널에서 npm install 해줘
- diff 보여줘
- Cmd+W로 탭 닫아줘