vibetunnel/web
2025-06-21 15:10:17 +02:00
..
scripts Fix cross-platform build issues in web package 2025-06-19 01:43:27 +02:00
src add tutorial 2025-06-21 14:43:00 +02:00
.gitignore Bun native build, unified entry point for native build. 2025-06-21 01:33:22 +02:00
.prettierignore lint web 2025-06-17 01:03:37 +02:00
.prettierrc.json lint web 2025-06-17 01:03:37 +02:00
build-native.js Burn everything with fire that is not node or swift. 2025-06-21 14:39:44 +02:00
bun.lock Burn everything with fire that is not node or swift. 2025-06-21 14:39:44 +02:00
CLAUDE.md CLAUDE.md clean-ups 2025-06-21 15:10:17 +02:00
eslint.config.js lint web 2025-06-17 01:03:37 +02:00
package-lock.json downgrade chalk to make Xcode integration easier 2025-06-21 02:50:44 +02:00
package.json fix watch:server script path 2025-06-21 11:38:41 +02:00
postcss.config.js Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
README.md fix: handle HQ mode shutdown gracefully to prevent e2e test errors 2025-06-20 23:56:15 +02:00
spec.md refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
tailwind.config.js Web design tweaks 2025-06-20 06:59:22 +02:00
tsconfig.client.json Web WIP 2025-06-16 03:35:14 +02:00
tsconfig.json Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
vitest.config.e2e.ts refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
vitest.config.ts feat: add integration tests and fix compatibility issues 2025-06-18 19:39:42 +02:00
vitest.d.ts fix: apply formatters to pass CI checks (#19) 2025-06-19 01:39:27 +02:00

VibeTunnel

Web-based terminal multiplexer with distributed architecture support.

Quick Start

npm install
npm run dev   # Starts server + auto-rebuilds

Open http://localhost:3000

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