# Rabby Rabby is a Rust/Tauri terminal workspace inspired by [Tabby](https://github.com/Eugeny/tabby), cloned locally at `../tabby-source` for feature reference. ## Goal Keep the same broad product shape as Tabby—terminal tabs, nested split panes, local/SSH/Telnet/Serial profiles, themes, shortcuts, quake-mode UX, session restore, and transfer/security surfaces—while replacing the Electron/Angular shell with a smaller Rust core plus Tauri desktop shell. ## Current implementation - `rabby-core`: dependency-light Rust domain model for profiles, tabs, split panes, session restore primitives, and feature coverage tests. - `src-tauri`: Tauri v2 desktop backend exposing the Rust feature matrix to the UI. - `ui`: static responsive UI mock/prototype matching Tabby-style terminal UX without a JavaScript build chain. - `docs/rabby-screenshot.svg`: screenshot artifact of the UI/UX direction. ## Verification ```bash cargo test -p rabby-core ``` The core crate is intentionally testable without launching the desktop shell. ## Tabby feature mapping | Tabby feature | Rabby implementation direction | | --- | --- | | Terminal emulator | Rust core models terminal sessions; Tauri UI presents panes/tabs. | | SSH/Telnet/Serial | Typed connection profiles with validation and command boundaries. | | Split panes/tabs | Recursive pane tree with tested split bounds and leaf counting. | | Theming/shortcuts | Static UI theme now; config surface reserved in core. | | Session restore | Workspace struct stores profiles, tabs, active tab, and quake mode. | | Smaller footprint | No Electron/Angular runtime in this scaffold; static assets + Tauri. | ## Screenshot ![Rabby screenshot](docs/rabby-screenshot.svg)