mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
Applications like Claude CLI use ANSI escape sequences to hide the cursor (\x1b[?25l) and render their own cursor with inverse text. The terminal component now tracks cursor visibility by parsing these sequences in the write() method and respects the visibility state when rendering. - Added cursorVisible state that defaults to true - Parse \x1b[?25l (hide) and \x1b[?25h (show) sequences in write() - Only render cursor when both on cursor line AND cursor is visible 🤖 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