Loading repository data…
Loading repository data…
yandanp / repository
Connexio — Project-based Terminal Manager. Organize terminals by project with persistent sessions, task runner, SSH manager, and more.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
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.
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?
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.
package.json, Makefile, Cargo.toml, pyproject.toml — one-click run| 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.
| 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 |
xcode-select --installsudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-devgit clone https://github.com/yandanp/Connexio.git
cd Connexio
npm install
npm run dev
| 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 |
# 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-releaseConnexio/
├── 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
| 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.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feat/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feat/amazing-feature)| Prefix | Usage |
|---|---|
feat: | New feature |
fix: | Bug fix |
refactor: | Code refactoring |
ci: | CI/CD changes |
chore: | Maintenance |
MIT © yandanp