[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81549":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":13,"lastSyncTime":39,"discoverSource":40},81549,"Connexio","yandanp\u002FConnexio","yandanp","Connexio — Project-based Terminal Manager. Organize terminals by project with persistent sessions, task runner, SSH manager, and more.","",null,"TypeScript",31,2,25,5,0,1,4,6,3,1.43,false,"main",true,[26,27,28,29,30,31,32,33,34,35],"developer-tools","electron","productivity","project-management","react","ssh","terminal","terminal-manager","typescript","xterm","2026-06-12 02:04:16","# Connexio\n\n> **Project-based Terminal Manager** — Organize your terminals by project, not by window.\n\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fyandanp\u002FConnexio?include_prereleases&style=flat-square&color=7c3aed&label=version)](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20macOS%20%7C%20Linux-blue?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fyandanp\u002FConnexio?style=flat-square&color=green)](LICENSE)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fyandanp\u002FConnexio\u002Ftotal?style=flat-square&color=brightgreen)](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases)\n\n> ⚠️ **v0.4.x is in active development** — Fully migrated from Electron to Tauri v2 with a native Rust backend. Pre-release builds are available but not yet recommended for general use.\n\n## 📸 Preview\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"screenshots\u002Fconnexio_zl0qSxHsE3.png\" alt=\"Connexio — Project-based Terminal Manager\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\n## 🎯 Problem\n\nWhen working on multiple projects, you end up with dozens of terminal windows\u002Ftabs with no clear organization. Which terminal belongs to which project? Where was that running server?\n\n## ✨ Solution\n\nConnexio organizes your terminals **by project**. Each project gets its own workspace with dedicated terminal tabs, persistent sessions, and productivity tools built right in.\n\n## 🚀 Features\n\n### Core\n\n- **📁 Project Workspace** — Each project has its own workspace with dedicated terminals\n- **📑 Multi-tab Terminals** — Multiple terminal tabs per project with rename & drag-to-reorder\n- **🐚 Shell Picker** — Auto-detect available shells (PowerShell, CMD, Git Bash, WSL, Zsh, Fish, etc.)\n- **💾 Session Persistence** — Tabs, layout, and active project survive app restart\n- **🔀 Drag & Drop** — Reorder tabs, reorder projects, move projects between groups\n- **⚡ WebGL Renderer** — Hardware-accelerated terminal rendering (toggleable in settings)\n\n### Productivity\n\n- **📋 Task Runner** — Auto-detect scripts from `package.json`, `Makefile`, `Cargo.toml`, `pyproject.toml` — one-click run\n- **📌 Pinned Commands** — Save favorite commands per project (CRUD, drag reorder)\n- **⏱️ Command Timer** — Track execution time, notification when long-running commands finish\n- **📝 Code Editor** — Built-in editor powered by CodeMirror 6 (JS, TS, HTML, CSS, Python, Rust, JSON, Markdown)\n- **📂 File Explorer** — Full file tree with context menu and inline actions\n- **🌐 Web Preview** — Live preview panel as a workspace tab\n\n### Git Integration\n\n- **🌿 Git Status** — Live branch, ahead\u002Fbehind, modified\u002Fstaged\u002Funtracked counts\n- **🔀 Branch Picker** — Switch branches from the workspace header\n- **💬 Commit Box** — Stage and commit directly from the UI\n- **📜 Git History** — View commit history per project\n\n### Connectivity\n\n- **🔗 SSH Manager** — Save SSH connections per project + global, one-click connect with key or password auth\n- **🤖 AI Chat** — Side panel with configurable model integration\n- **🎮 Discord Rich Presence** — Show what you're working on in Discord\n- **🔄 Auto-Updater** — Check for updates via GitHub Releases, download & install with one click\n\n### Customization\n\n- **🎨 Themes** — Built-in themes (Dark, Light, Midnight Ocean) with full terminal color support\n- **⚙️ Settings** — Font size, font family, cursor style, scrollback, copy-on-select, default shell, WebGL toggle\n- **🖥️ Custom Titlebar** — Clean frameless window with app version display\n- **📐 Resizable Panels** — Split panes for editor + terminal side-by-side layout\n\n## 📥 Download\n\n| Platform | Download |\n| -------- | -------- |\n| Windows | [Connexio_x64-setup.exe](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest) |\n| macOS (Apple Silicon) | [Connexio_aarch64.dmg](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest) |\n| macOS (Intel) | [Connexio_x64.dmg](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest) |\n| Linux | [Connexio_amd64.AppImage](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases\u002Flatest) |\n\nOr go to [Releases](https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio\u002Freleases) for all versions including pre-releases.\n\n## 📦 Tech Stack\n\n| Technology | Purpose |\n| --- | --- |\n| **Tauri v2** | Cross-platform desktop framework |\n| **Rust** | Native backend (PTY, git, SSH, file system) |\n| **portable-pty** | Native PTY process management |\n| **React 18** | UI framework |\n| **TypeScript** | Type safety |\n| **xterm.js** | Terminal rendering (with WebGL addon) |\n| **CodeMirror 6** | Code editor |\n| **Zustand** | State management |\n| **Tailwind CSS** | Styling |\n| **Vite** | Frontend build tool |\n| **tauri-plugin-store** | Persistent storage |\n| **tauri-plugin-updater** | Auto-update via GitHub Releases |\n| **discord-rich-presence** | Discord RPC integration |\n\n## 🛠️ Development\n\n### Prerequisites\n\n- **Node.js** 18+\n- **Rust** (latest stable via [rustup](https:\u002F\u002Frustup.rs\u002F))\n- **Platform-specific dependencies:**\n  - **Windows:** [WebView2](https:\u002F\u002Fdeveloper.microsoft.com\u002Fen-us\u002Fmicrosoft-edge\u002Fwebview2\u002F) (usually pre-installed on Windows 10\u002F11), Visual Studio C++ Build Tools\n  - **macOS:** `xcode-select --install`\n  - **Linux:** `sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev`\n\n### Setup\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyandanp\u002FConnexio.git\ncd Connexio\nnpm install\nnpm run dev\n```\n\n### Scripts\n\n| Command | Description |\n| --- | --- |\n| `npm run dev` | Start Tauri dev mode (hot-reload frontend + Rust backend) |\n| `npm run dev:renderer` | Start Vite dev server only (frontend) |\n| `npm run build` | Build frontend for production |\n| `npm run build:tauri` | Build full Tauri app (installer) |\n| `npm run typecheck` | Type-check all TypeScript |\n\n### Release\n\n```bash\nnpm version prerelease --preid=dev   # bump dev version\ngit push && git push --tags          # triggers GitHub Actions → multi-platform build & release\n```\n\nTag patterns for release channels:\n- `v1.0.0` — Stable release\n- `v1.0.0-dev.1` — Dev pre-release\n- `v1.0.0-alpha.1` \u002F `v1.0.0-beta.1` — Alpha\u002FBeta pre-release\n\n## 📁 Project Structure\n\n```\nConnexio\u002F\n├── src\u002F\n│   ├── renderer\u002F                # React frontend\n│   │   ├── components\u002F\n│   │   │   ├── Workspace.tsx         # Main workspace (tabs, terminal, panels)\n│   │   │   ├── Terminal.tsx          # xterm.js terminal instance\n│   │   │   ├── TerminalLayer.tsx     # Global terminal renderer (never unmounts)\n│   │   │   ├── Sidebar.tsx           # Project sidebar with drag & drop\n│   │   │   ├── TaskPanel.tsx         # Task runner + pinned commands\n│   │   │   ├── SSHPanel.tsx          # SSH connection manager UI\n│   │   │   ├── GitStatusBar.tsx      # Git status display\n│   │   │   ├── SearchPanel.tsx       # Terminal search\n│   │   │   ├── SettingsModal.tsx     # Settings UI\n│   │   │   ├── ShellPicker.tsx       # Shell selection dropdown\n│   │   │   ├── WorkspaceTab.tsx      # Draggable, renameable tab\n│   │   │   ├── WebPreview.tsx        # Live web preview panel\n│   │   │   ├── WelcomeScreen.tsx     # Welcome\u002Fonboarding screen\n│   │   │   ├── UpdateNotification.tsx\n│   │   │   ├── ai\u002F                   # AI chat panel\n│   │   │   ├── editor\u002F              # CodeMirror code editor\n│   │   │   ├── explorer\u002F            # File explorer tree\n│   │   │   └── git\u002F                 # Branch picker, commit box, history\n│   │   ├── stores\u002F              # Zustand state management\n│   │   ├── hooks\u002F               # Custom React hooks\n│   │   ├── lib\u002F                 # Utility functions\n│   │   ├── styles\u002F              # Global CSS\n│   │   └── types\u002F               # TypeScript declarations\n│   └── shared\u002F\n│       └── types.ts             # Shared types (frontend ↔ backend)\n├── src-tauri\u002F\n│   ├── src\u002F\n│   │   ├── main.rs              # Tauri app entry point\n│   │   ├── lib.rs               # Plugin registration & command setup\n│   │   └── modules\u002F\n│   │       ├── pty\u002F             # PTY process management (portable-pty)\n│   │       ├── projects.rs      # Project CRUD\n│   │       ├── workspace.rs     # Workspace state persistence\n│   │       ├── session.rs       # Session persistence\n│   │       ├── settings.rs      # App settings + shell detection\n│   │       ├── shell.rs         # Shell detection & configuration\n│   │       ├── git.rs           # Git status & operations\n│   │       ├── tasks.rs         # Task runner (script detection)\n│   │       ├── pinned.rs        # Pinned commands\n│   │       ├── ssh.rs           # SSH connection manager\n│   │       ├── theme.rs         # Theme management\n│   │       ├── explorer.rs      # File system explorer\n│   │       ├── clipboard.rs     # Native clipboard handling\n│   │       ├── notification.rs  # Desktop notifications\n│   │       ├── discord.rs       # Discord Rich Presence\n│   │       └── updater.rs       # Auto-updater\n│   ├── tauri.conf.json          # Tauri configuration\n│   ├── Cargo.toml               # Rust dependencies\n│   └── capabilities\u002F            # Tauri permission capabilities\n├── assets\u002F                      # App icons\n├── .github\u002Fworkflows\u002F           # CI\u002FCD (multi-platform release)\n├── vite.config.ts               # Vite configuration\n├── tailwind.config.js           # Tailwind configuration\n└── package.json\n```\n\n## 🎨 Themes\n\n| Theme | Style |\n| --- | --- |\n| **Connexio Dark** | Default dark theme with purple accents |\n| **Connexio Light** | Clean light theme |\n| **Midnight Ocean** | Deep blue with teal accents |\n\nThemes apply to both the app UI and terminal colors.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repo\n2. Create your feature branch (`git checkout -b feat\u002Famazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feat\u002Famazing-feature`)\n5. Open a Pull Request\n\n### Commit Convention\n\n| Prefix | Usage |\n| --- | --- |\n| `feat:` | New feature |\n| `fix:` | Bug fix |\n| `refactor:` | Code refactoring |\n| `ci:` | CI\u002FCD changes |\n| `chore:` | Maintenance |\n\n## 📄 License\n\nMIT © [yandanp](https:\u002F\u002Fgithub.com\u002Fyandanp)\n","Connexio 是一个基于项目的终端管理器，帮助开发者按项目组织终端。其核心功能包括持久会话、任务运行器、SSH 管理器等，支持多标签终端、自定义命令固定、代码编辑器及文件浏览器等生产力工具。技术上采用 TypeScript 编写，并迁移至 Tauri 框架以利用 Rust 的后端性能优势。该项目适合需要同时处理多个开发项目且希望提高工作效率的场景使用，特别是在跨平台（Windows、macOS 和 Linux）环境下工作时。通过 Connexio，用户能够更清晰地管理和切换不同项目的终端配置与环境，从而减少上下文切换的时间成本。","2026-06-11 04:05:28","CREATED_QUERY"]