mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-06-29 05:39:31 +00:00
The direct notification system wasn't being used since hasListeners() was checking before any listeners were set up. All sessions were using file watching anyway. Simplified the code by removing the unused notification system and keeping only the optimized file watching. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| build-custom-node.js | ||
| build-native.js | ||
| CLAUDE.md | ||
| custom-node.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.ts | ||
VibeTunnel Web
Web terminal interface and server for VibeTunnel.
Quick Start
Production users: Use the pre-built VibeTunnel executable from the main app.
Development
npm install
npm run dev # Watch mode: server + client
npm run dev:client # Watch mode: client only (for debugging server)
Build Commands
npm run clean # Remove build artifacts
npm run build # Build everything (including native executable)
npm run lint # Check code style
npm run lint:fix # Fix code style
npm run typecheck # Type checking
npm run test # Run all tests (unit + e2e)
npm run format # Format code
Production Build
npm run build # Creates Node.js SEA executable
./native/vibetunnel # Run standalone executable (no Node.js required)
Architecture
See spec.md for detailed architecture documentation.
Key Features
- Terminal sessions via node-pty
- Real-time streaming (SSE + WebSocket)
- Binary-optimized buffer updates
- Multi-session support
- File browser integration