browse remote source-control systems from your terminal. clone nothing.
$ curl -fsSL https://rootle.dev/install.sh | sh
also: cargo install rootle · mise use github:rootledev/rootle · release tarballs · status: alpha
demo — pick a palette
The demo re-renders in your pick — the same eleven palettes
:settings lists in the app. First launch opens repo search;
rootle owner/repo jumps straight into a repo.
what it does
browse
Three miller columns — orgs → repos → trees — with a live syntax-highlighted preview pane. No local clone.
find & grep␣ f␣ g
Full-screen, Zed-style results: match chips, folded regions, per-file counts. Scope to a repo or search globally.
open & yank↵␣ y
Any file opens read-only in your editor. Yank the browser URL of anything you're looking at.
clonev:clone
Mark repos, run the wizard. Org selections fan out; destinations land at <dest>/<org>/<repo>.
configure:settings
In-app settings write config.toml and hot-reload themes. The ? popup lists every keybinding.
providers
GitHub ships in-tree. Anything else wraps in as a stdio child speaking NDJSON-RPC — the protocol is four methods; the scaffolding skill wraps your backend with you.
compare
| rootle | github.com | gh cli | clone + editor | |
|---|---|---|---|---|
| browse without cloning | ✓ | ✓ | api only | · |
| modal, keyboard-first TUI | ✓ | · | · | · |
| syntax-highlighted preview | ✓ | ✓ | · | ✓ |
| full-text grep in the terminal | ✓ | · | gh search code | ✓ |
| forges beyond GitHub | stdio providers | · | GHES only | ✓ |
| single static binary | ✓ | n/a | ✓ | n/a |
try it
$ curl -fsSL https://rootle.dev/install.sh | sh
auth is zero-friction: gh auth login or ROOTLE_TOKEN
if already set up — everything else works anonymously. Every knob in
settings.