A curated space for discovering, building, and sharing open-source terminal UI applications
tui.cat is a modern web platform that bridges the gap between traditional terminal interfaces and contemporary web experiences. Built with Next.js and TypeScript, it provides an authentic terminal environment directly in your browser.
- ◆ Real SSH connections via WebSocket proxy
- ◆ Session persistence with 24-hour auto-reconnection
- ◆ Tab completion and command history
- ◆ 11 terminal themes
- ◆ Live theme preview during selection
- ◆ Catppuccin, Nord, Tokyo Night, Gruvbox, and more
- ◆ Command-driven interface with dot notation (.ssh, .help)
- ◆ Click anywhere and type . to open navigation
- ◆ Global keyboard shortcuts
- ◆ Interactive command palette
| Component | Technology |
|---|---|
| Frontend | Next.js 15 + React 19 + TypeScript |
| Styling | Tailwind CSS + Geist Mono |
| Terminal | xterm.js + ansi-to-html |
| Backend | WebSocket + SSH2 |
| UI | Radix UI + Lucide Icons |
# Clone the repository
git clone https://github.com/dancer/tui.git
cd tui
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration
# Start development server
pnpm devCopy .env.example to .env.local and configure:
# VPS SSH Server Configuration
VPS_SSH_SERVER_URL=ws://your-server-ip:3001◆ Implementing xterm.js integration
- ├─ Enhanced cursor position support
- ├─ Improved hex color rendering
- ├─ Better terminal sequence handling
- └─ Advanced text selection and copy/paste
◆ SSH proxy server optimizations
◆ Extended ANSI sequence compatibility
◆ Mobile terminal interface improvements
| Category | Commands |
|---|---|
| Navigation | .ssh .help .about .projects .roadmap |
| Terminal | ssh theme neo clear ls cd cat exit |
| Shortcuts | Esc (Home) ? (Help) . (Navigation) |
tui/
├── app/ # Next.js app router pages
│ ├── ssh/ # SSH terminal interface
│ ├── cmd/ # Command reference
│ └── api/ # API routes for SSH proxy
├── components/ # Reusable UI components
├── hooks/ # Custom React hooks
└── server/ # SSH WebSocket server
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Open source under the MIT License.
Built for terminal enthusiasts by terminal enthusiasts