mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-07-01 05:59:37 +00:00
- Remove global exit handlers from PTY manager, add clean shutdown() method - Use file watching approach for control pipes on all platforms (no FIFO) - Simplify fwd.ts - control pipe and stdin forwarding handled by PTY manager - Add forwardToStdout and onExit options to createSession - Add proper TypeScript types to PtySession interface (no more "as any") - Clean up logging throughout, keep only essential messages - Add colorful output with chalk for session start/end messages - Fix hanging process issue by properly unreferencing file watchers - Update spec.md to reflect architectural changes This makes the shutdown process predictable and fixes the hanging echo command issue. 🤖 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 | ||
| 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