Installation
Install
Section titled “Install”Prebuilt binaries for macOS (Apple Silicon and Intel) and Linux (x64 and arm64), by any of three
routes. All three install the same binary: the one attached to the latest
release, verified against its SHA256SUMS.
Homebrew
Section titled “Homebrew”brew install candril/tap/prestoThe tap is candril/homebrew-tap; brew upgrade picks
up new releases.
nix run github:candril/presto # run it oncenix profile install github:candril/presto # keep itOr as a flake input — inputs.presto.url = "github:candril/presto", then
inputs.presto.packages.${system}.default. The flake packages the release binary; the release
workflow writes its release.json, so nix run and nix flake update land on the newest release.
The package wraps gh and git onto the binary’s PATH, so nothing else is needed.
Installer script
Section titled “Installer script”curl -fsSL https://raw.githubusercontent.com/candril/presto/main/scripts/install.sh | bashThe installer detects your platform, downloads the latest release, verifies its SHA256 against the
release’s SHA256SUMS, and puts presto in /usr/local/bin. Two variables change that:
PRESTO_INSTALL_DIR=~/.local/bin … # somewhere else on your PATHPRESTO_VERSION=0.1.0 … # a specific releaseOr download presto-<os>-<arch>.gz from the releases page by hand, gunzip it, and put it on
your PATH.
From source
Section titled “From source”presto is a Bun application, so a clone runs as it is:
git clone https://github.com/candril/presto.gitcd prestobun installbun src/index.tsx # run from sourcebun scripts/build.ts # → dist/presto, a standalone binaryWith just: just run, just dev for hot reload, just build
for the binary, just demo for the demo.
Requirements
Section titled “Requirements”- The GitHub CLI, logged in:
gh auth statusshould be green. presto uses its token for the GraphQL API and shells out to it for everything else. - A terminal with truecolor and a decent Unicode set — anything modern (WezTerm, Ghostty, kitty, iTerm2, Alacritty) is fine.
- Bun 1.x, only if you build from source.
- Optional: riff for
↵, a diff pager such asdeltaorbatfor⇧D, and tmux for⇧O.
Try it first
Section titled “Try it first”presto --demoopens an offline demo — a fictional org with three repos and a couple of dozen PRs that cover
every status glyph and every merge verdict — so you can learn the keys before pointing it at
anything real. Actions work and are forgotten on exit. Press ? for the shortcut dialog, q
to quit.
First run
Section titled “First run”Without a config, presto shows the pull requests of the repository in the current directory
(whatever gh repo view resolves). To watch several repos, write a config — start from
Getting Started.
Files presto writes
Section titled “Files presto writes”| Path | What |
|---|---|
~/.config/presto/config.toml |
Your config. presto writes a commented default once, then only reads it. |
~/.config/presto/cache.json |
The last PR list, so the next launch shows it at once and refreshes behind it. Also column visibility. |
~/.config/presto/history.json |
Starred authors, marks, recently viewed PRs, and the per-PR snapshots that change detection compares against. |
~/.config/presto/tabs.json |
Your tabs. |
PRESTO_CONFIG_DIR moves the whole directory. The cache and tabs are best-effort: deleting them
costs one refresh and your tabs. Deleting history.json loses your marks and stars.