🗂 gitty

Clone Your GitHub Repos from the Terminal

No browsing github.com for clone URLs. No juggling SSH keys between accounts.

⚡ Install gitty

brew install --cask wiremeusd/tap/gitty

Works on macOS and Linux. No Homebrew? Grab a binary from Releases.


🔍 What Does gitty Do?

Run gitty, fuzzy-search the list of your repositories, hit Enter, and it's cloned into the current directory.

The list includes your own repos, repos you collaborate on, and organization repos. It's cached on disk, so it appears instantly and refreshes in the background.

$ gitty

  gitty · wiremeusd

  ❯ wiremeusd/api-gateway      ★ 12 · Go
    wiremeusd/payment-api      ★ 3  · TypeScript
    wiremeusd/dotfiles         ★ 1  · Shell

  ↑↓ select · / search · Enter clone · Esc quit

✔ Cloned into ./api-gateway

Getting started takes two commands. Signing in opens GitHub's device flow — no manual token handling.

# 1. Sign in
$ gitty auth login

# 2. Browse & clone
$ cd ~/projects
$ gitty

👥 Multiple Accounts

Bind a directory to an account once — the binding covers all subdirectories.

The deepest binding wins, so ~/work/clients can point to a third account. No .ssh/config host aliases, no per-repo identity fiddling.

$ gitty auth login    # add your work account too

$ cd ~/work
$ gitty use work-account

$ cd ~/personal
$ gitty use wiremeusd

From now on, running gitty anywhere under ~/work lists the work account's repositories, and anywhere under ~/personal — your personal ones.

gitty clones over HTTPS and registers itself as the git credential helper in each cloned repository's local config. When you later run git pull or git push there, git asks gitty, and gitty supplies the token of the account the repo was cloned with. Your global git configuration is never touched.


📖 Commands

CommandDescription
gittyInteractive repository list: / to search, Enter to clone, Esc to quit
gitty auth loginAdd an account via GitHub OAuth Device Flow
gitty auth listList added accounts
gitty auth logout <account>Remove an account (token and folder bindings)
gitty use <account>Bind the current directory (and subdirectories) to an account

🔒 Security