Files
rabby/README.md
T
2026-07-06 10:44:47 +00:00

38 lines
1.7 KiB
Markdown

# 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)