Julian Henry

polyglot / software engineer / author

ghee: Terminal Shortcuts Library

13 Apr 2026

View on GitHub

ghee

ghee (formerly git-goblin) is a shell shortcut manager: 617 aliases and functions across 32 modules, plus a Python/Rich fuzzy TUI. Source it into bash or zsh and the everyday CLI gets shorter.

The project is on GitHub. MIT licensed. Also installable as ghee-cli on PyPI.

Coverage includes Git, Docker, Kubernetes, AWS, GCP, Terraform, Heroku/Vercel/Fly/Railway, GitHub CLI, npm/yarn/pnpm, Python/pip/uv/poetry, Rust, Go, Redis, Postgres, MongoDB, Nginx, systemd, tmux, networking, recon, AI/LLM helpers, media tools, and more.

The Greatest Hits

gg "fix the auth bug"     # git add -A && git commit -m "..." && git push
gs                        # git status
gd                        # git diff
gb                        # git branch
gco feature               # git checkout feature
gpr                       # create GitHub PR via gh
gsquash 3                 # squash last 3 commits
gwip                      # commit everything as WIP
gunwip                    # undo the last WIP commit
presto                    # nuclear option: wipe git history (with confirmation)

Docker:

dps                       # docker ps
dcu                       # docker compose up -d
dcd                       # docker compose down
dex container bash        # docker exec -it container bash

Kubernetes:

kgp                       # kubectl get pods
kl pod-name               # kubectl logs
kex pod-name bash         # kubectl exec -it

Package managers — note pni, not pi, for pnpm (the short name pi collides with a popular harness now):

ni                        # npm install
yi                        # yarn install
pni                       # pnpm install

You do not memorize all 617. You memorize the ones you use. For the rest, there is G.

Update (September 2026)

A cleanup pass made every entry in the G registry actually resolve to a shortcut. 38 of them pointed at aliases that had drifted or never existed. A few old names changed to match the registry, mostly where they shadowed a real command:

Old New Command
dc dcom docker compose
gls glst git ls-files
gcp gcpy git cherry-pick
gpt gpht git push --tags
trace trce traceroute
gtest gotst go test ./...
gfmt gofm gofmt -w .
sha256 sh256 shasum -a 256
md5sum md5s md5 / md5sum
caffeinate caf caffeinate -d
venv (Vercel) venvpull vercel env pull .env.local

The Homebrew module’s brew* shortcuts, jqm / jqsel / sortjson, and ghssh now exist too. CI checks that every registry key is defined, so they stay in sync.

The G Command

Best-guess

G 'docker logs'

Fuzzy-match a raw command or a vague description to the closest shortcut, show the docs, copy the alias to the clipboard.

Add / remove customs

G -a olist 'ollama list'
G -rm olist
G ls

Customs live in ~/.ghee-custom, survive updates, and are searchable like builtins. Clash detection warns before you overwrite a system command or an existing ghee alias.

Interactive Rich TUI

G

Full-screen fuzzy finder with live preview (Rich). Arrows navigate, Enter selects, Tab copies, Esc quits. Needs Python 3.8+ and the rich package (the installer creates a ghee-venv for you).

Other useful entry points: G update, G info docker, G -q 'find large files' (optional Ollama), G --sync <gist_url>.

Setup

git clone https://github.com/juleshenry/ghee.git
cd ghee
./setup-ghee
source ~/.zshrc   # or ~/.bashrc

Detects bash/zsh, backs up your RC, wires bin/ + tools/ onto $PATH, sources modules/*.sh. Uninstall with ./setup-ghee --remove.

Extra Tools

Still in the box:

kash — file-backed function cache (functools.lru_cache, but on disk across process restarts).

autosave-git-recursively.py — walk a tree and auto-commit/push every git repo (cron-friendly).

repoinspector.py — aggregate open issues across a GitHub user’s public repos.

Why Not Just Oh My Zsh?

  1. Scope. OMZ git aliases are git-only. ghee spans the whole modern toolchain.
  2. G. Searchable registry + TUI + custom shortcuts, not a file you grep.
  3. Shape. Modular modules/*.sh registry, Python TUI when you want it, plain aliases when you do not. Works on bash and zsh.

617 shortcuts. One spoon of ghee.