A hybrid terminal application combining the power of native terminals with AI-powered workflows. Features two modes: Ghostty Mode (native terminal) and OpenWarp Mode (AI-powered block-based interface).
- Dual Mode Interface - Switch between Ghostty (native terminal) and OpenWarp (AI blocks) modes
- AI Integration - Built-in support for Claude, OpenAI, and local models via MCP
- Split Panes - Flexible terminal splits (horizontal/vertical)
- Tab Management - Multiple tabs with session persistence
- Widget System - Extensible widget SDK for custom functionality
- File Explorer - Built-in file browser with editor integration
- Code Editor - Monaco/CodeMirror powered editor with syntax highlighting
- MCP Support - Model Context Protocol for AI tool integration
- Cross-Platform - Runs on macOS, Windows, and Linux via Tauri
Coming soon
- Node.js 18+
- Rust (for native builds)
- pnpm or npm
# Clone the repository
git clone https://github.com/jasonkneen/infinitty.git
cd infinitty
# Install dependencies
pnpm install
# Run in development mode
npm run tauri dev| Platform | Command | Description |
|---|---|---|
| Tauri (Native) | npm run tauri dev |
macOS/Windows/Linux desktop app |
| Web (PWA) | npm run dev |
Browser at http://localhost:1420 |
| Build | npm run build |
Production build |
| Test | npm run test |
Run test suite |
| Feature | Status | Notes |
|---|---|---|
| Terminal Emulation | ✅ Complete | xterm.js with WebGL renderer |
| Ghostty Mode | ✅ Complete | Native terminal with tabs/splits |
| OpenWarp Mode | ✅ Complete | AI block-based interface |
| Tab Management | ✅ Complete | Create, close, rename, reorder |
| Split Panes | ✅ Complete | Horizontal/vertical splits |
| Settings Dialog | ✅ Complete | Theme, font, behavior settings |
| Command Palette | ✅ Complete | Quick actions via keyboard |
| Error Boundaries | ✅ Complete | Graceful error handling |
| Feature | Status | Notes |
|---|---|---|
| AI Response Blocks | ✅ Complete | Markdown rendering, code blocks |
| Model Selection | ✅ Complete | Switch between AI providers |
| MCP Servers | ✅ Complete | Connect to MCP tool servers |
| MCP Tools | ✅ Complete | Execute tools from AI responses |
| Streaming Responses | ✅ Complete | Real-time AI output |
| Context Management | 🟡 Partial | Basic context, needs improvement |
| Conversation History | 🟡 Partial | In-memory only |
| Feature | Status | Notes |
|---|---|---|
| Widget SDK | ✅ Complete | React-based widget development |
| Widget Host | ✅ Complete | Sandboxed widget runtime |
| Widget Loading | ✅ Complete | Load external widgets |
| Theme Integration | ✅ Complete | Widgets follow app theme |
| Widget Storage | ✅ Complete | Persistent widget data |
| Widget Tools | 🟡 Partial | Register AI tools from widgets |
| Widget Marketplace | ❌ Not Started | Discovery and installation |
| Feature | Status | Notes |
|---|---|---|
| File Explorer | ✅ Complete | Tree view with icons |
| Code Editor | ✅ Complete | Monaco/CodeMirror support |
| Syntax Highlighting | ✅ Complete | 20+ languages |
| File Operations | ✅ Complete | Open, save, create, delete |
| Search in Files | 🟡 Partial | Basic search implemented |
| Git Integration | ❌ Not Started | Branch/status display |
| Feature | Status | Notes |
|---|---|---|
| macOS Support | ✅ Complete | Native Tauri app |
| Windows Support | 🟡 Partial | Builds, needs testing |
| Linux Support | 🟡 Partial | Builds, needs testing |
| Web/PWA | ✅ Complete | Browser-based version |
| Auto Updates | ❌ Not Started | Tauri updater integration |
| Telemetry | ❌ Not Started | Optional usage analytics |
| Feature | Status | Notes |
|---|---|---|
| Widget SDK Docs | ✅ Complete | Docusaurus site |
| API Reference | 🟡 Partial | Needs expansion |
| User Guide | ❌ Not Started | End-user documentation |
| Video Tutorials | ❌ Not Started | Getting started videos |
We welcome contributions! Here are areas where help is especially needed:
| Area | Description | Skills Needed |
|---|---|---|
| Windows Testing | Test and fix Windows-specific issues | Windows, Tauri |
| Linux Testing | Test and fix Linux-specific issues | Linux, Tauri |
| Test Coverage | Improve unit/integration tests | React Testing Library, Vitest |
| Accessibility | WCAG compliance, screen readers | a11y, ARIA |
| Performance | Optimize rendering, reduce memory | React, profiling |
| Area | Description | Skills Needed |
|---|---|---|
| Git Integration | Show branch, status, diff in UI | Git, React |
| Search Enhancement | Fuzzy search, regex support | Algorithms, UI |
| Keyboard Shortcuts | Vim mode, customizable bindings | React, keyboard events |
| Themes | More built-in themes | CSS, design |
| Internationalization | Multi-language support | i18n, translation |
| Issue | Description |
|---|---|
| Add more syntax highlighting languages | Extend CodeMirror/Monaco language support |
| Improve error messages | Make error dialogs more user-friendly |
| Add tooltips | Add helpful tooltips to UI elements |
| Documentation typos | Fix typos and improve clarity |
┌─────────────────────────────────────────────────────────────┐
│ Infinitty App │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Ghostty │ │ OpenWarp │ │ Widget Host │ │
│ │ Mode │ │ Mode │ │ (Sandboxed) │ │
│ │ │ │ │ │ │ │
│ │ • Native │ │ • AI Blocks │ │ • External Widgets │ │
│ │ Terminal │ │ • Commands │ │ • SDK Integration │ │
│ │ • Splits │ │ • Streaming │ │ • Theme Sync │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Core Services │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ MCP │ │ OpenCode │ │ Claude │ │ File │ │
│ │ Client │ │ Client │ │ Client │ │ System │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Platform Layer │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Tauri (Native) │ │ Web (Browser/PWA) │ │
│ │ • File System │ │ • IndexedDB Storage │ │
│ │ • Shell/PTY │ │ • Service Workers │ │
│ │ • Native Menus │ │ • Web APIs │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
- Frontend: React 19, TypeScript, Tailwind CSS
- Terminal: xterm.js with WebGL renderer
- Editor: Monaco Editor, CodeMirror
- Build: Vite, Tauri 2.0
- Testing: Vitest, React Testing Library
- Docs: Docusaurus
See CONTRIBUTING.md for guidelines.
This project uses a dual-licensing model:
- AGPL-3.0 + Commons Clause for open-source use
- Commercial License available for proprietary use
See LICENSING.md for details.
- Ghostty - Terminal inspiration
- Warp - Block-based terminal concepts
- xterm.js - Terminal emulation
- Tauri - Native app framework
Note: This project is in active development. APIs may change. Not recommended for production use yet.
Jason Kneen