Saorsa is a Rust workspace for a keyboard-first terminal toolkit:
saorsa— unified tabbed TUI workspacesaorsa-cli— bootstrapper, updater, and plugin launchersb— standalone Markdown browser/editorsdisk— standalone disk usage and cleanup utility
The workspace also includes reusable crates for UI, plugin loading, and tab adapters.
| Binary / Crate | Path | Purpose |
|---|---|---|
saorsa |
crates/saorsa |
Unified TUI with Files, Disk, Git, and Plugins tabs |
saorsa-cli |
cli |
Downloads/updates binaries, launches tools, runs plugins |
sb |
sb |
Markdown browser/editor reused inside the Files tab |
sdisk |
sdisk |
Disk analyzer and cleanup helper reused inside the Disk tab |
saorsa-cli-core |
crates/saorsa-cli-core |
Plugin loader, message bus, run history |
saorsa-ui |
crates/saorsa-ui |
Shared Ratatui UI primitives |
saorsa-sb / saorsa-disk / saorsa-git |
crates/* |
Adapters that bridge standalone tools into saorsa |
curl -fsSL https://github.com/saorsa-labs/saorsa-cli/releases/latest/download/saorsa-install.sh | bashcurl -fsSLO https://github.com/saorsa-labs/saorsa-cli/releases/latest/download/saorsa-install.sh
curl -fsSLO https://github.com/saorsa-labs/saorsa-cli/releases/latest/download/saorsa-install.sh.asc
gpg --import docs/signing/saorsa-public.asc
gpg --verify saorsa-install.sh.asc saorsa-install.sh
bash saorsa-install.shWhen run, the install script:
- detects your OS/architecture and selects the matching release artifact
- downloads the archive plus its detached signature from GitHub Releases
- imports
docs/signing/saorsa-public.ascif needed - verifies the archive signature with GPG
- installs
saorsa,saorsa-cli,sb, andsdiskinto/usr/local/binor~/.local/bin
Useful overrides:
SAORSA_VERSION=v0.4.0SAORSA_TARGET=x86_64-unknown-linux-muslSAORSA_PREFIX=$HOME/bin
git clone https://github.com/saorsa-labs/saorsa-cli
cd saorsa-cli
cargo build --releaseBuilt binaries appear in target/release/:
saorsasaorsa-clisbsdisk
saorsa-cli # bootstrap menu
saorsa # unified TUI
saorsa-cli --run sb # run sb directly
saorsa-cli --run sdisk # run sdisk directly
saorsa-cli --plugin rg -- foo srcAll binaries support -h/--help.
↑/↓orj/k— moveEnter/Space— selectq/Esc— exit- plugin menu supports execute, refresh, directory listing, and run-history summary
Ctrl+Q/Ctrl+C— quitTab/Shift+Tab— next/previous tabAlt+1..9— jump to tab
Tab-specific highlights:
- Files — press
?for the in-app cheat sheet; common actions include open/toggle, create file, delete, save, link insertion, and raw editor mode. - Disk —
j/kor arrows navigate,ooverview,llargest entries,sstale items,rrefresh. - Git —
j/knavigate,Enter/Spacestage or unstage selection,sstage all,uunstage all,rrefresh,l/hswitch between status and diff panes. - Plugins —
↑/↓select,Enterrun,rreload,h/?help,idetails,dplugin directories,c/Escclose the info panel.
Saorsa discovers saorsa-plugin.toml manifests in:
~/.saorsa/plugins${XDG_DATA_HOME:-~/.local/share}/saorsa/plugins/usr/local/share/saorsa/plugins./plugins
See docs/PLUGINS.md for the manifest format and plugin authoring notes.
First-party built-ins are bundled for:
fd— file discovery (requiresfdon yourPATH)rg— content search (requiresrgon yourPATH)
The CLI offers an interactive argument builder for both.
Plugins currently run unsandboxed with the same privileges as the current user. Only install plugins you trust.
Recommended checks:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all
cargo run --bin saorsaFor local hardening work, also consider running a stricter non-test clippy pass that denies panic, unwrap, and expect in production code.
./scripts/create-release.sh vX.Y.Z performs a local release validation pass:
- builds the workspace in release mode
- verifies all four binaries exist
- creates a local test archive
- smoke-checks binary
--versionoutput - optionally creates and pushes a Git tag so GitHub Actions can build release assets
The GitHub release artifacts themselves are produced by .github/workflows/release.yml after the tag is pushed.
saorsa-cli/
├── Cargo.toml
├── cli/
├── crates/
│ ├── saorsa
│ ├── saorsa-cli-core
│ ├── saorsa-disk
│ ├── saorsa-git
│ ├── saorsa-sb
│ └── saorsa-ui
├── sb/
├── sdisk/
├── docs/
├── scripts/
└── workspace-hack/
Dual-licensed under MIT or Apache-2.0.