Every repo in your code directory, served as a small plate — git status, last pour, languages, house rules — at a bar that lives in your terminal.
Your editor opens one project at a time. izakaya opens the whole bar. Point it at your code directory and every repo lines up along the counter — newest pours first — so a single glance tells you which ones have uncommitted work, which have drifted untouched for months, and which are clean and ready to ship.
Sit down at any plate and the panel fills in: a Starship-shaped git ribbon, the
last few commits, a 12-week activity sparkline, the languages and size on disk,
the stack it's built on, and whether the kitchen has posted its house rules
(CLAUDE.md). It never touches the repos it serves — browsing is
read-only. Press ↵ and the iz() wrapper sets your shell
down right inside the one you picked.
Then it starts answering the real questions. What changed while I was
gone? The bar remembers your last visit and tells you. What needs
me? Press ! at closing time for everything that exists only
on this machine — down to the stash you forgot. Take me there.
iz ramen seats your shell in the repo before the bar even opens —
and u fires your own session script at any plate.
Nothing to pull from a registry — izakaya is a single file with zero dependencies. One curl pours it onto your PATH and the bar is open in under a minute, on macOS or Linux.
One curl drops the single izakaya file on your PATH. Or clone the repo and npm link it yourself.
Run izakaya. It asks for your code dir on the first visit, then lays out the menu.
iz()A tiny shell wrapper so ↵ — or iz ramen — drops you into the repo you picked. The installer can add it for you.
# the front door — drops the single `izakaya` file on your PATH (macOS · Linux) $ curl -fsSL https://raw.githubusercontent.com/vajramatt/izakaya/main/scripts/install.sh | sh # prefer to clone? it's one file, zero deps — link it yourself $ git clone https://github.com/vajramatt/izakaya.git $ cd izakaya && npm link # open the bar — your code dir (it asks on first visit), or any path, or a name $ izakaya $ izakaya ~/work $ iz ramen # seats you in the one repo that matches # the iz() wrapper — press ↵ on a plate and your shell cd's into the repo # ~/.zshrc or ~/.bashrc (a fish variant lives in the README) iz() { izakaya "$@" local seat="$HOME/.cache/izakaya/seat" [[ -f "$seat" ]] && cd -- "$(<"$seat")" && command rm -f -- "$seat" }
Requirements: Node ≥ 22, a nerd font, and a truecolor terminal (Ghostty,
kitty, iTerm2…). Browsing the menu works anywhere Node runs. The launch keys split by
platform: open (o), browser (b) and copy-path (y) have
full parity on macOS and Linux; the terminal / editor / Claude keys (t e c)
drive Ghostty on macOS and kitty / wezterm / alacritty / foot — or your
$IZAKAYA_TERMINAL override — on Linux, and open tmux windows when you're
inside tmux. Windows is on the roadmap. Full docs, keys, and the demo recipe live in the
README.