mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-26 09:35:52 +00:00
| .. | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| build-native.js | ||
| bun.lock | ||
| CLAUDE.md | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| spec.md | ||
| tailwind.config.js | ||
| tsconfig.client.json | ||
| tsconfig.json | ||
| vitest.config.e2e.ts | ||
| vitest.config.ts | ||
| vitest.d.ts | ||
VibeTunnel
Web-based terminal multiplexer with distributed architecture support.
Quick Start
npm install
npm run dev # Starts server + auto-rebuilds
Server Modes
# Standalone server
npm run dev
# HQ server (manages remote servers)
npm run dev -- --hq
# Remote server (connects to HQ)
npm run dev -- --hq-url http://hq-server:3000 --name remote1
Build & Test
npm run build # Production build
npm run lint # Check code style
npm run typecheck # Type checking
npm test # Run tests
fwd Tool
CLI that spawns PTY sessions integrated with VibeTunnel:
# Forward a command to VibeTunnel
npx tsx src/fwd.ts <command> [args...]
# Monitor-only mode (no input)
npx tsx src/fwd.ts --monitor-only <command>
Creates persistent sessions accessible via the web UI.
Architecture
- Server: Express + node-pty for terminal sessions
- Client: Lit web components + xterm.js
- Streaming: SSE for output, WebSocket for binary buffers
- Protocol: Binary-optimized terminal state synchronization