{"id":44695582,"url":"https://github.com/cosmosone/cosmos-terminal","last_synced_at":"2026-04-08T04:01:08.291Z","repository":{"id":338565909,"uuid":"1156789706","full_name":"cosmosone/cosmos-terminal","owner":"cosmosone","description":"A developer terminal with project-level workspace organization, split panes, and built-in Git sidebar. Built with Tauri v2 and xterm.js.","archived":false,"fork":false,"pushed_at":"2026-04-03T05:21:56.000Z","size":1417,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T05:39:32.776Z","etag":null,"topics":["developer-tools","git","rust","split-panes","tauri","terminal","terminal-emulator","typescript","windows","xterm"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cosmosone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-13T03:49:11.000Z","updated_at":"2026-04-03T05:22:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cosmosone/cosmos-terminal","commit_stats":null,"previous_names":["cosmosone/cosmos-terminal"],"tags_count":148,"template":false,"template_full_name":null,"purl":"pkg:github/cosmosone/cosmos-terminal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmosone%2Fcosmos-terminal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmosone%2Fcosmos-terminal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmosone%2Fcosmos-terminal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmosone%2Fcosmos-terminal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cosmosone","download_url":"https://codeload.github.com/cosmosone/cosmos-terminal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmosone%2Fcosmos-terminal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31539229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","git","rust","split-panes","tauri","terminal","terminal-emulator","typescript","windows","xterm"],"created_at":"2026-02-15T08:10:48.645Z","updated_at":"2026-04-08T04:01:08.285Z","avatar_url":"https://github.com/cosmosone.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cosmos Terminal\n\n**A terminal built for vibe coding on Windows.** Project workspaces, split panes, an embedded browser, AI agent sessions, a file browser, and Git — all in one window. No IDE required.\n\nBuilt with [Tauri v2](https://v2.tauri.app/) + Rust. Developed and tested on Windows 11.\n\n![Cosmos Terminal in action — terminal with integrated Git sidebar showing source control, commit history, and file changes](resources/cosmos-terminal.png)\n\n---\n\n## Why Cosmos Terminal\n\nWindows Terminal is fast but it's just a shell — no project awareness, no source control, no file browsing. VS Code has all of that, but you're running an entire IDE. Electron-based terminals like Tabby and Hyper are cross-platform afterthoughts that don't feel native on Windows.\n\nCosmos Terminal fills the gap: a lightweight, native Windows terminal that understands your coding workflow. It's particularly well suited for **vibe coding** — working with AI agents like Claude, Codex, and Gemini directly in your terminal while keeping your files, browser, and Git all within reach.\n\n## What Makes It Different\n\n### Project-Level Organisation\n\nMost terminals give you a flat list of tabs. That breaks down when you're working across multiple codebases. Cosmos Terminal organises terminals in two levels — **projects** at the top, **work tabs** within each project:\n\n```\ncosmos-api          ← project tab\n  ├── terminal 1    →  dev server\n  ├── terminal 2    →  database\n  ├── config.yaml   →  file tab (built-in editor)\n  └── localhost:3000 →  browser tab (embedded)\n\ncosmos-frontend     ← project tab\n  ├── Claude        →  AI agent session\n  ├── terminal 1    →  vite dev\n  └── terminal 2    →  tests\n```\n\nSwitch projects with one click. Each project keeps its own terminals, file tabs, browser tabs, split layouts, and working directory — all persisted across restarts.\n\n### AI Agent Sessions\n\nLaunch AI coding agents directly from the terminal. Built-in support for **Claude**, **Codex**, **Gemini**, and **Open Code** — select an agent from the dropdown when creating a new session and it starts automatically with the right command.\n\nAgent sessions appear as regular work tabs with their own icons, so you can run an AI agent alongside your dev server and tests in the same project.\n\n### Embedded Browser\n\nOpen web pages in tabs alongside your terminals — no Alt-Tab to Chrome. Built on WebView2 (the same engine behind Edge, already on Windows 11).\n\n- Address bar with URL entry and DuckDuckGo search fallback\n- Back, forward, reload, and zoom controls (`Ctrl++`/`Ctrl+-`/`Ctrl+0`)\n- LRU-based tab pooling — keeps memory bounded while preserving page state\n- Browser tabs persist across restarts like everything else\n\nUseful for keeping docs, localhost, or a PR review open right next to the terminal that's running the code.\n\n### Built-in Git Sidebar\n\nStage files, review diffs, write commit messages, and push — right next to your terminal. Toggle with `Alt+D`. Projects with no changes stay compact to reduce visual noise.\n\nCommit history with a graph view lets you browse past commits without switching to another tool.\n\nOptionally generate conventional commit messages with AI (OpenAI `gpt-5-nano`) for large changesets — configure your API key in settings.\n\n### File Browser \u0026 Editor\n\nToggle with `Alt+F` to get a tree view of the active project's directory.\n\n- **Open any file** as a tab — text files are editable, Markdown renders with formatting (toggle between view and edit)\n- **Find in document** — `Ctrl+F` for case-insensitive search with match highlighting and navigation\n- **Real-time sync** — file tabs detect external changes via filesystem watcher events and auto-refresh\n- **Conflict-safe saves** — if a file changed on disk since you opened it, you choose whether to reload or overwrite\n- **Search files** — `Ctrl+Shift+F` to search the file tree by name\n- **Context actions** — right-click for delete, show in Explorer, and more\n- Sidebar is resizable (200–500px) and width persists\n\n### Split Panes\n\nHorizontal and vertical splits within any terminal session. Keyboard shortcuts for splitting (`Alt+X/S/Z/C`) and navigating between panes (`Alt+Arrows`). Drag dividers to resize. The split layout is a binary tree — nest splits as deep as you need.\n\n### Tab Activity Indicators\n\nWhen a background terminal has a running command, a pulsing blue dot appears on its session tab and project tab.\n\n- Detects activity via **OSC 133 shell integration** with automatic fallback to **output volume heuristics**\n- Only appears on background tabs — never on the one you're looking at\n- Auto-clears when the command finishes or output stops\n- Mute individual sessions to suppress their indicators\n\n### Run Button\n\nA configurable play button on terminal tabs that sends a command to the active pane. Set your build/test command once (e.g. `python scripts/build.py`) and trigger it with one click. Toggled via settings.\n\n---\n\n## Features\n\n| Category | Features |\n|----------|----------|\n| **Workspaces** | Multi-project tabs, per-project sessions, workspace persistence across restarts |\n| **Terminal** | Split panes (horizontal/vertical), WebGL rendering with ClearType, 10K–100K scrollback, copy-on-select, right-click paste |\n| **AI Agents** | One-click launch for Claude, Codex, Gemini, Open Code with auto-configured commands |\n| **Browser** | Embedded WebView2 tabs with navigation, zoom, address bar, LRU pooling |\n| **Git** | Stage, diff, commit, push, commit history graph, AI commit messages (OpenAI) |\n| **Files** | File browser tree, built-in editor/viewer, Markdown rendering, find in document, filesystem watcher |\n| **Tabs** | Drag-to-reorder, lock (protect from close), mute (suppress indicators), rename, context menus |\n| **Run** | Configurable run button on terminal tabs for quick command execution |\n| **Customisation** | 22 configurable keybindings, terminal/UI/editor font settings, shell path selection |\n| **System** | CPU and memory monitor in status bar, debug logging with auto-expiry, memory cleanup |\n\n## Built for Windows\n\nThis isn't a Linux terminal ported to Windows. Every layer is Windows-native:\n\n- **ConPTY** backend — works with PowerShell, CMD, Git Bash, NuShell, and other Windows shells\n- **WebView2** — the system browser engine already on Windows 11, no bundled Chromium\n- **WebGL rendering** with ClearType LCD text optimisations\n- **Windows 11 dark mode** title bar integration\n- **Tauri v2 + Rust** backend — small install footprint, low memory use\n- **Path security** — canonicalisation and traversal prevention at every IPC boundary\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v18+)\n- [Rust](https://www.rust-lang.org/tools/install) (stable)\n- [Tauri v2 prerequisites](https://v2.tauri.app/start/prerequisites/)\n\n### Build and Run\n\n```bash\nnpm install\nnpm run tauri dev\n```\n\n### Build for Production\n\n```bash\nnpm run tauri build\n```\n\nThe installer will be in `src-tauri/target/release/bundle/`.\n\n## Keybindings\n\nAll shortcuts are configurable in settings (`Ctrl+,`).\n\n| Action | Default |\n|--------|---------|\n| New session | `Ctrl+Shift+T` |\n| Close session | `Ctrl+W` |\n| Settings | `Ctrl+,` |\n| File browser | `Alt+F` |\n| Search file browser | `Ctrl+Shift+F` |\n| Git sidebar | `Alt+D` |\n| Find in document | `Ctrl+F` |\n| Split down / up / left / right | `Alt+X` / `Alt+S` / `Alt+Z` / `Alt+C` |\n| Navigate panes | `Alt+Arrows` |\n| Cycle sessions | `Alt+K` / `Alt+J` |\n| Cycle projects | `Alt+I` / `Alt+U` |\n| Rename tab | `Ctrl+Shift+N` |\n| Scroll to bottom | `Alt+B` |\n\n## Project Structure\n\n```\nsrc/                  # Frontend (TypeScript + xterm.js)\n  components/         # UI components (tabs, settings, git, file browser, browser)\n  services/           # PTY, settings, git, filesystem, browser, system monitor\n  state/              # Centralised state management (Redux-like store)\n  layout/             # Pane tree and split layout logic\n  utils/              # Shared utilities (icons, paths, file types, tab drag)\n\nsrc-tauri/            # Backend (Rust + Tauri v2)\n  src/commands/       # Tauri IPC handlers (git, PTY, filesystem, browser, system)\n  src/pty/            # PTY session management (ConPTY)\n  src/browser/        # WebView2 pool and lifecycle management\n  src/security/       # Path validation and input sanitisation\n  src/watcher.rs      # Filesystem change detection (debounced)\n```\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Framework | Tauri v2 |\n| Backend | Rust (tokio, parking_lot, serde) |\n| Terminal | xterm.js 6 with WebGL addon |\n| PTY | portable-pty (ConPTY on Windows) |\n| Git | git2 (libgit2 bindings) |\n| Browser | WebView2 via webview2-com |\n| System stats | sysinfo |\n| File watching | notify (debounced) |\n| Frontend | Vanilla TypeScript, direct DOM manipulation — no React/Vue/Svelte |\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmosone%2Fcosmos-terminal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmosone%2Fcosmos-terminal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmosone%2Fcosmos-terminal/lists"}