README.md

August 30, 2026 · View on GitHub

  ____ _   _   ____  _______     _______    _    _
 / ___| | | | |  _ \| ____\ \   / / ____|  / \  | |
| |  _| |_| | | |_) |  _|  \ \ / /|  _|   / _ \ | |
| |_| |  _  | |  _ <| |___  \ V / | |___ / ___ \| |___
 \____|_| |_| |_| \_\_____|  \_/  |_____/_/   \_\_____|

// CWD → git remote → default browser. ONE COMMAND. ZERO MOUSE.


All Contributors Tag Shell Loader

[SIGNAL // OPEN THE PROJECT IN THE BROWSER WITHOUT LEAVING THE TERMINAL]

// jacking your shell into the GitHub / GitLab tab without cmd-tab, cmd-t, cmd-l, paste //


> SYSTEM OVERVIEW

reveal is a tiny shell util: cd into any git project, type reveal, your default browser opens the project page. Reads git remote -v and pipes every matching URL to open (macOS) / xdg-open (Linux). Filter by remote name (reveal origin, reveal gitlab) or hit them all at once.

Built on top of md-command-line/gh_reveal; MenkeTechnologies' fork ships as a zinit/omz plugin for zpwr-tier setups.

Install with Homebrew (macintosh computers):

brew tap md-command-line/taps &&
brew install reveal;

To see additional taps checkout:

Implementation

reveal

want to reveal all of your projects in a given directory?
for d in ./*/ ; do (cd "$d" && echo "$d" && reveal); done

or as with my environment maybe all of your projects are in a folder that is subdivided by category folders.
for d in ./*/ ; do (cd "$d" && echo "$d" && for p in ./*/ ; do (cd "$p" && echo "$p" && reveal); done); done

reveal gif

Additional Examples

Reveal takes a single command line argument.
This argument is the remote you would like to open for the current directory git project.
If no remote is specified it will reveal all remotes on the project in the browser.
For most users this is just the one remote either gitlab or github (origin).

  1. reveal origin
  2. reveal gitlab
  3. reveal <your remote name here>

Not sure what remote means? (context .git)
cd into your git project and type git remote -v

How does it work?

through the use of command:

git remote -v

gather's all remotes for project
and proceeds to filter the output into url's
piping each as a unique url opens all the stuff.

Install for Zinit

~/.zshrc

source "$HOME/.zinit/bin/zinit.zsh"
zinit ice lucid nocompile
zinit load md-command-line/gh_reveal

Install as oh-my-zsh plugin

git clone https://github.com/md-command-line/gh_reveal.git ~/.oh-my-zsh/custom/plugins/gh_reveal

add gh_reveal to plugins array in ~/.zshrc like so plugins=(gh_reveal git zsh-more-completions)

Alternative install/uninstall experience:

Clone and cd into the project:

git clone https://github.com/md-command-line/gh_reveal.git && cd gh_reveal;

install

./install.sh;

uninstall

./uninstall.sh

Contributors ✨

Thanks goes to these wonderful people (emoji key):

MichaelDimmitt
MichaelDimmitt

🚇 📖 💻
Jacob Menke
Jacob Menke

🚇 💻

This project follows the all-contributors specification. Contributions of any kind welcome!