rootle
rootle
browse remote source-control systems from your terminal. clone nothing.
github in-tree<br>any forge via stdio providers<br>rust<br>MIT
$ curl -fsSL https://rootle.dev/install.sh | sh<br>copy
every install path lives below · status: alpha
GitHub ↗
demo — pick a palette
catppuccin-mocha<br>dracula<br>gruvbox-dark<br>nord<br>one-dark<br>solarized-dark<br>tokyo-night<br>catppuccin-latte<br>github-light<br>one-light<br>solarized-light
rootle v0.3.2 · press ? for keybindings
The demo re-renders in your pick — the same eleven palettes<br>:settings lists in the app. First launch opens repo search;<br>rootle owner/repo jumps straight into a repo.
what it does
[01]
browse
Three miller columns — orgs → repos → trees — with a live syntax-highlighted preview pane: line numbers, theme-following colors, ␣ / find-in-file with n/N. No local clone.
h/lJ/K␣ /n/N
[02]
find & grep
Full-screen, Zed-style results: match chips, folded regions, per-file counts. Scope to a repo or search globally.
␣ f␣ g/
[03]
open & yank
Any file opens read-only in your editor. Yank the browser URL of anything you're looking at — anchored to the preview cursor line (#L42).
↵␣ y
[04]
clone
Mark repos, run the wizard. Org selections fan out; destinations land at //.
v:clone
[05]
configure
In-app settings write config.toml and hot-reload themes — code colors follow. The ? popup lists every keybinding.
:settings?
[06]
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.
stdioNDJSON-RPC
compare
rootlegithub.comgh cliclone + editor<br>browse without cloning✓✓api only·<br>modal, keyboard-first TUI✓···<br>syntax-highlighted preview✓✓·✓<br>full-text grep in the terminal✓·gh search code✓<br>forges beyond GitHubstdio providers·GHES only✓<br>single static binary✓n/a✓n/a
keybindings — first-session cheatsheet · press ? in-app for the rest
navigate
j / kdown · up<br>h / lout · in<br>J / Kpreview line cursor<br>/filter any list<br>n / Nnext · prev match<br>vvisual multi-select
search
␣ srepo search<br>␣ ffind file<br>␣ ggrep<br>␣ /find in previewed file<br>enterjump to match<br>esccancel · clear
act
␣ yyank URL (line-anchored)<br>↵open in editor<br>:command line<br>?every keybinding<br>␣ cclear marks<br>qquit
install — pick your weapon · single static binary, no runtime
install.shmacOS · Linux · WSL
$curl -fsSL https://rootle.dev/install.sh | shcopy
homebrewmacOS · Linux
$brew install rootledev/tap/rootlecopy
cargoevery platform
$cargo install rootlecopy
misemacOS · Linux · Windows
$mise use github:rootledev/rootlecopy
from sourcerust 1.88+
$git clone https://github.com/rootledev/rootle && cargo install --path .copy
tarballsstatic musl
↗github releases — verify + untarv0.3.2
auth is zero-friction: gh auth login or ROOTLE_TOKEN<br>if already set up — everything else works anonymously. Every knob in<br>settings.