Connexio
Project-based Terminal Manager โ Organize your terminals by project, not by window.
Connexio is built with Tauri v2 and a native Rust backend for fast startup, low memory usage, and cross-platform support.
๐ธ Preview
๐ฏ Problem
When working on multiple projects, you end up with dozens of terminal windows/tabs with no clear organization. Which terminal belongs to which project? Where was that running server?
โจ Solution
Connexio organizes your terminals by project. Each project gets its own workspace with dedicated terminal tabs, persistent sessions, remote access, and productivity tools built right in.
๐ Features
Core
- ๐ Project Workspace โ Each project has its own workspace with dedicated terminals
- ๐ Multi-tab Terminals โ Multiple terminal tabs per project with rename & drag-to-reorder
- ๐ Shell Picker โ Auto-detect available shells (PowerShell, CMD, Git Bash, WSL, Zsh, Fish, etc.)
- ๐พ Session Persistence โ Tabs, layout, and active project survive app restart
- ๐ Drag & Drop โ Reorder tabs, reorder projects, move projects between groups
- โก WebGL Renderer โ Hardware-accelerated terminal rendering (toggleable in settings)
Productivity
- ๐ Task Runner โ Auto-detect scripts from
package.json,Makefile,Cargo.toml,pyproject.tomlโ one-click run - ๐ Pinned Commands โ Save favorite commands per project (CRUD, drag reorder)
- โฑ๏ธ Command Timer โ Track execution time, notification when long-running commands finish
- ๐ Code Editor โ Built-in editor powered by CodeMirror 6 (JS, TS, HTML, CSS, Python, Rust, JSON, Markdown)
- ๐ File Explorer โ Full file tree with context menu and inline actions
- ๐ Web Preview โ Live preview panel as a workspace tab
Git Integration
- ๐ฟ Git Status โ Live branch, ahead/behind, modified/staged/untracked counts
- ๐ Branch Picker โ Switch branches from the workspace header
- ๐ฌ Commit Box โ Stage and commit directly from the UI
- ๐ Git History โ View commit history per project
Connectivity
- ๐ฑ Remote Access โ Open a secure mobile workspace with trusted-token login and remote terminal controls
- ๐ SSH Manager โ Save SSH connections per project + global, one-click connect with key or password auth
- ๐ Tailscale Support โ Generate remote URLs using detected Tailscale IPs for private-network access
- ๐ค AI Chat โ Side panel with configurable model integration
- ๐ฎ Discord Rich Presence โ Show what you're working on in Discord
- ๐ Auto-Updater โ Check for updates via GitHub Releases, download & install with one click
Customization
- ๐จ Themes โ Built-in themes (Dark, Light, Midnight Ocean) with full terminal color support
- โ๏ธ Settings โ Font size, font family, cursor style, scrollback, copy-on-select, default shell, WebGL toggle
- ๐ฅ๏ธ Custom Titlebar โ Clean frameless window with app version display
- ๐ Resizable Panels โ Split panes for editor + terminal side-by-side layout
๐ฅ Download
| Platform | Download |
|---|---|
| Windows | Connexio_x64-setup.exe |
| macOS (Apple Silicon) | Connexio_aarch64.dmg |
| Linux | Connexio_amd64.AppImage |
Or go to Releases for all versions including pre-releases.
๐ฆ Tech Stack
| Technology | Purpose |
|---|---|
| Tauri v2 | Cross-platform desktop framework |
| Rust | Native backend (PTY, git, SSH, file system) |
| portable-pty | Native PTY process management |
| React 18 | UI framework |
| TypeScript | Type safety |
| xterm.js | Terminal rendering (with WebGL addon) |
| CodeMirror 6 | Code editor |
| Zustand | State management |
| Tailwind CSS | Styling |
| Vite | Frontend build tool |
| tauri-plugin-store | Persistent storage |
| tauri-plugin-updater | Auto-update via GitHub Releases |
| discord-rich-presence | Discord RPC integration |
๐ ๏ธ Development
Prerequisites
- Node.js 18+
- Rust (latest stable via rustup)
- Platform-specific dependencies:
- Windows: WebView2 (usually pre-installed on Windows 10/11), Visual Studio C++ Build Tools
- macOS:
xcode-select --install - Linux:
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
Setup
git clone https://github.com/yandanp/Connexio.git
cd Connexio
npm install
npm run dev
Scripts
| Command | Description |
|---|---|
npm run dev |
Start Tauri dev mode (hot-reload frontend + Rust backend) |
npm run dev:renderer |
Start Vite dev server only (frontend) |
npm run build |
Build frontend for production |
npm run build:tauri |
Build full Tauri app (installer) |
npm run typecheck |
Type-check all TypeScript |
Release
# Patch release (e.g. 0.5.0 -> 0.5.1)
npm version patch
git push && git push --tags
# Pre-release (dev builds)
npm version prerelease --preid=dev
git push && git push --tags
Pushing a v* tag triggers GitHub Actions โ multi-platform build & GitHub Release.
Tag patterns for release channels:
v1.0.0โ Stable releasev1.0.0-dev.1โ Dev pre-releasev1.0.0-alpha.1/v1.0.0-beta.1โ Alpha/Beta pre-release
๐ Project Structure
Connexio/
โโโ src/
โ โโโ renderer/ # React frontend
โ โ โโโ components/
โ โ โ โโโ Workspace.tsx # Main workspace (tabs, terminal, panels)
โ โ โ โโโ Terminal.tsx # xterm.js terminal instance
โ โ โ โโโ TerminalLayer.tsx # Global terminal renderer (never unmounts)
โ โ โ โโโ Sidebar.tsx # Project sidebar with drag & drop
โ โ โ โโโ TaskPanel.tsx # Task runner + pinned commands
โ โ โ โโโ SSHPanel.tsx # SSH connection manager UI
โ โ โ โโโ GitStatusBar.tsx # Git status display
โ โ โ โโโ SearchPanel.tsx # Terminal search
โ โ โ โโโ SettingsModal.tsx # Settings UI
โ โ โ โโโ ShellPicker.tsx # Shell selection dropdown
โ โ โ โโโ WorkspaceTab.tsx # Draggable, renameable tab
โ โ โ โโโ WebPreview.tsx # Live web preview panel
โ โ โ โโโ WelcomeScreen.tsx # Welcome/onboarding screen
โ โ โ โโโ UpdateNotification.tsx
โ โ โ โโโ ai/ # AI chat panel
โ โ โ โโโ editor/ # CodeMirror code editor
โ โ โ โโโ explorer/ # File explorer tree
โ โ โ โโโ git/ # Branch picker, commit box, history
โ โ โโโ stores/ # Zustand state management
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ lib/ # Utility functions
โ โ โโโ styles/ # Global CSS
โ โ โโโ types/ # TypeScript declarations
โ โโโ shared/
โ โโโ types.ts # Shared types (frontend โ backend)
โโโ src-tauri/
โ โโโ src/
โ โ โโโ main.rs # Tauri app entry point
โ โ โโโ lib.rs # Plugin registration & command setup
โ โ โโโ modules/
โ โ โโโ pty/ # PTY process management (portable-pty)
โ โ โโโ projects.rs # Project CRUD
โ โ โโโ workspace.rs # Workspace state persistence
โ โ โโโ session.rs # Session persistence
โ โ โโโ settings.rs # App settings + shell detection
โ โ โโโ shell.rs # Shell detection & configuration
โ โ โโโ git.rs # Git status & operations
โ โ โโโ tasks.rs # Task runner (script detection)
โ โ โโโ pinned.rs # Pinned commands
โ โ โโโ ssh.rs # SSH connection manager
โ โ โโโ remote/ # Remote access protocol and server
โ โ โโโ theme.rs # Theme management
โ โ โโโ explorer.rs # File system explorer
โ โ โโโ clipboard.rs # Native clipboard handling
โ โ โโโ notification.rs # Desktop notifications
โ โ โโโ discord.rs # Discord Rich Presence
โ โ โโโ updater.rs # Auto-updater
โ โโโ tauri.conf.json # Tauri configuration
โ โโโ Cargo.toml # Rust dependencies
โ โโโ capabilities/ # Tauri permission capabilities
โโโ assets/ # App icons
โโโ .github/workflows/ # CI/CD (multi-platform release)
โโโ vite.config.ts # Vite configuration
โโโ tailwind.config.js # Tailwind configuration
โโโ package.json
๐จ Themes
| Theme | Style |
|---|---|
| Connexio Dark | Default dark theme with blue accents |
| Connexio Light | Clean light theme |
| Midnight Ocean | Deep blue with teal accents |
Themes apply to both the app UI and terminal colors.
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repo
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
Commit Convention
| Prefix | Usage |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
refactor: |
Code refactoring |
ci: |
CI/CD changes |
chore: |
Maintenance |
๐ License
MIT ยฉ yandanp