izakaya — a zero-dependency terminal app (TUI) that serves every repo in your code directory as a small plate

🏮

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.

$ curl -fsSL izakaya.guru/install.sh | sh github ↗
~/code — izakaya

pull up a stool

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.

three frames — from tonight's service

The izakaya menu: repos listed as plates on the left, one examined on the right with git ribbon, commits, sparkline, languages, and stack chips
the menu — every repo a plate; one examined in full
The diff peek: a changed CSS file's diff rendered in the pane, additions green, deletions red
peek the pour — a changed file's diff, read-only
The closing-time sweep: a list of repos carrying uncommitted, stashed, or unpushed work that exists only on this machine
closing time — what leaves only with this laptop

$ sit down

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.

01

Pour the installer

One curl drops the single izakaya file on your PATH. Or clone the repo and npm link it yourself.

02

Open the bar

Run izakaya. It asks for your code dir on the first visit, then lays out the menu.

03

Add 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.