mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
- Rename index.ts to cli.ts as single entry point - Merge app.ts and shutdown-state.ts into server.ts - Update all imports and references to use new structure - Update e2e tests and dev script to spawn via cli.ts - Remove execution code from server.ts (only cli.ts executes) - Clean up tsconfig.client.json exclude path This creates a cleaner separation where cli.ts is the only entry point that decides whether to run server or forward mode. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 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