feat: scaffold Rabby Rust Tauri terminal
test / core (push) Successful in 1m55s

This commit is contained in:
Tom You
2026-07-06 10:44:47 +00:00
commit 04ef2fe57d
21 changed files with 9460 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# 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)