README.md
July 18, 2026 · View on GitHub
██████╗ ███████╗██╗ ██╗███████╗ █████╗ ██╗
██╔══██╗██╔════╝██║ ██║██╔════╝██╔══██╗██║
██████╔╝█████╗ ██║ ██║█████╗ ███████║██║
██╔══██╗██╔══╝ ╚██╗ ██╔╝██╔══╝ ██╔══██║██║
██║ ██║███████╗ ╚████╔╝ ███████╗██║ ██║███████╗
╚═╝ ╚═╝╚══════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝
[OPEN THE REPO IN A BROWSER — COMPILED]
"reveal — one word, and the repo's GitHub page is open."
[NATIVE ZSHRS PLUGIN]
gh_reveal — reveal opens the current git repository's GitHub page (and any Heroku app pages) in your browser — ported to a native zshrs plugin. A faithful reimplementation in Rust: the platform opener detection, the git remote -v parsing, the SSH/HTTPS URL normalization, and the Heroku dashboard handling are all reproduced.
zshrs · znative · upstream
Table of Contents
[0x00] OVERVIEW
reveal → open this repo's GitHub page(s)
reveal upstream → open only the remote(s) matching "upstream"
reveal ../other → open the repo(s) in the given directory
reveal → (outside any repo) open your GitHub repositories page
[0x01] INSTALL
znative load MenkeTechnologies/zshrs-reveal
Put that one line in your .zshrc. znative, zshrs's package manager, installs the plugin on the first shell start — clones it, runs cargo build --release, and zmodload -Rs the resulting libreveal — then loads it from the store, zero-network, on every start after. Then reveal opens the current repo.
Manual build
cargo build --release
zmodload -R ./target/release/libreveal.dylib # .so on Linux
reveal
[0x02] USAGE
Run reveal inside a git repository to open its GitHub page. Arguments filter the remotes by substring (reveal upstream opens only the upstream remote). Run it in a non-repo directory to open your GitHub repositories page, or pass directory arguments to reveal the repos they contain. Set $GITHUB_ACCOUNT to override the account used for the no-repo page (otherwise git config user.name).
[0x03] HOW IT WORKS
reveal picks the platform opener (open on macOS, xdg-open on Linux, the Windows shell under WSL), then decides by context: outside a repo with no arguments it opens github.com/<account>?tab=repositories; outside a repo with directory arguments it reveals each; inside a repo it reads git remote -v, keeps the fetch lines (filtered by any arguments), normalizes each SSH/HTTPS URL to host/user/repo (dropping scheme, userinfo, port, and .git), and opens https://<that> — Heroku remotes instead open their dashboard and herokuapp.com URLs. Identical to gh_reveal.
[0xFF] LICENSE
MIT. Ported from MenkeTechnologies/gh_reveal (MIT). See LICENSE.