- Remove all Jest-related dependencies (using Vitest) - Remove pre-commit hooks (husky, lint-staged) and related files - Consolidate test configuration into single vitest.config.ts - Fix build-native.js to use correct entry point (src/cli.ts) - Add bun.lock to .gitignore (generated during native build) - Update README.md with simplified, accurate documentation - Make npm run build include native executable build - Remove unused type declarations and test setup files The build system is now minimal, clean, and consistent. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| assets | ||
| docs | ||
| ios | ||
| mac | ||
| web | ||
| .gitattributes | ||
| .github-config | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| appcast-prerelease.xml | ||
| appcast.xml | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| LICENSE | ||
| README.md | ||
VibeTunnel
Turn any browser into your Mac terminal. VibeTunnel proxies your terminals right into the browser, so you can vibe-code anywhere.
Why VibeTunnel?
Ever wanted to check on your AI agents while you're away? Need to monitor that long-running build from your phone? Want to share a terminal session with a colleague without complex SSH setups? VibeTunnel makes it happen with zero friction.
Quick Start
Requirements
VibeTunnel requires an Apple Silicon Mac (M1+). Intel Macs are not supported.
1. Download & Install
Download VibeTunnel and drag it to your Applications folder.
2. Launch VibeTunnel
VibeTunnel lives in your menu bar. Click the icon to start the server.
3. Use the vt Command
# Run any command in the browser
vt npm run dev
# Monitor AI agents
vt claude --dangerously-skip-permissions
# Open an interactive shell
vt --shell
4. Open Your Dashboard
Visit http://localhost:4020 to see all your terminal sessions.
Features
- 🌐 Browser-Based Access - Control your Mac terminal from any device with a web browser
- 🚀 Zero Configuration - No SSH keys, no port forwarding, no complexity
- 🤖 AI Agent Friendly - Perfect for monitoring Claude Code, ChatGPT, or any terminal-based AI tools
- 🔒 Secure by Design - Password protection, localhost-only mode, or secure tunneling via Tailscale/ngrok
- 📱 Mobile Ready - Native iOS app and responsive web interface for phones and tablets
- 🎬 Session Recording - All sessions recorded in asciinema format for later playback
- ⚡ High Performance - Powered by Bun runtime for blazing-fast JavaScript execution
- 🍎 Apple Silicon Native - Optimized for M1/M2/M3 Macs with ARM64-only binaries
Architecture
VibeTunnel consists of three main components:
- macOS Menu Bar App - Native Swift application that manages the server lifecycle
- Node.js/Bun Server - High-performance TypeScript server handling terminal sessions
- Web Frontend - Modern web interface using Lit components and xterm.js
The server runs as a standalone Bun executable with embedded Node.js modules, providing excellent performance and minimal resource usage.
Remote Access Options
Option 1: Tailscale (Recommended)
- Install Tailscale on your Mac and remote device
- Access VibeTunnel at
http://[your-mac-name]:4020
Option 2: ngrok
- Add your ngrok auth token in VibeTunnel settings
- Enable ngrok tunneling
- Share the generated URL
Option 3: Local Network
- Set a dashboard password in settings
- Switch to "Network" mode
- Access via
http://[your-mac-ip]:4020
Building from Source
Prerequisites
- macOS 14.0+ (Sonoma) on Apple Silicon (M1/M2/M3)
- Xcode 16.0+
- Node.js 20+
- Bun runtime
Build Steps
# Clone the repository
git clone https://github.com/amantus-ai/vibetunnel.git
cd vibetunnel
# Build the web server
cd web
npm install
npm run build
node build-native.js # Creates Bun executable
# Build the macOS app
cd ../mac
./scripts/build.sh --configuration Release
Development
For development setup and contribution guidelines, see CONTRIBUTING.md.
Key Files
- macOS App:
mac/VibeTunnel/VibeTunnelApp.swift - Server:
web/src/server/(TypeScript/Node.js) - Web UI:
web/src/client/(Lit/TypeScript) - iOS App:
ios/VibeTunnel/
Documentation
- Technical Specification - Detailed architecture and implementation
- Contributing Guide - Development setup and guidelines
- Architecture - System design overview
- Build System - Build process details
Credits
Created with ❤️ by:
- @badlogic - Mario Zechner
- @mitsuhiko - Armin Ronacher
- @steipete - Peter Steinberger
License
VibeTunnel is open source software licensed under the MIT License. See LICENSE for details.
Ready to vibe? Download VibeTunnel and start tunneling!
