vibetunnel/tauri/src-tauri/README.md
Peter Steinberger cd7f9c4cb9 feat: Add standalone Tauri app in /tauri folder
This commit adds the Tauri desktop app as a completely separate project
in the /tauri folder without modifying anything in the web project.

- Created /tauri folder with standalone Tauri system tray application
- Configured as menu bar/system tray app (matching Mac app architecture)
- Runs embedded HTTP server on port 4020
- Opens web dashboard in default browser
- No embedded web view or frontend code
- Minimal package.json with only Tauri CLI dependency

The web folder remains completely untouched, ensuring clean separation
between the web and desktop projects.
2025-06-23 04:07:16 +02:00

1.4 KiB

VibeTunnel Tauri App

This is a cross-platform version of VibeTunnel built with Tauri v2.

Architecture

The Tauri app provides:

  • System tray/menu bar integration
  • Native window management
  • Cross-platform terminal PTY support (to be implemented)
  • Secure IPC between frontend and backend

Development

Prerequisites

  • Rust 1.70+
  • Node.js 18+
  • Platform-specific dependencies:
    • macOS: Xcode Command Line Tools
    • Linux: webkit2gtk-4.1, libayatana-appindicator3-dev
    • Windows: WebView2 (usually pre-installed on Windows 10/11)

Running in Development

  1. Start the Node.js server (in the web directory):

    npm run dev
    
  2. In another terminal, run the Tauri app:

    npm run tauri:dev
    

Building for Production

npm run tauri:build

This will create platform-specific binaries in src-tauri/target/release/bundle/.

Features

  • Menu Bar App: Runs as a system tray application
  • Web UI: Uses the existing VibeTunnel web interface
  • Native Integration: Platform-specific features through Tauri APIs
  • Auto-updater: Built-in update mechanism
  • Single Instance: Prevents multiple instances from running

TODO

  1. Implement native PTY support using cross-platform Rust libraries
  2. Add platform-specific terminal launching
  3. Implement file system access for session recordings
  4. Add native notifications
  5. Implement keyboard shortcuts
  6. Add auto-launch on startup