cd /news/developer-tools/ingit-git-gui-that-runs-in-the-brows… · home topics developer-tools article
[ARTICLE · art-53474] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Ingit – Git GUI that runs in the browsers

Ingit, a Git GUI that runs in the browser, has been released as a vibecoded alternative to ungit. The tool features a commit graph, optimistic mutations, time machine, GitHub integration, and agent session detection, and is available via npm for Linux and macOS.

read4 min views1 publishedJul 9, 2026
Ingit – Git GUI that runs in the browsers
Image: source

A fast, animated git GUI that runs in your browser — a vibecoded alternative to ungit.

Yes, vibecoded: this codebase is written entirely by AI coding agents, steered by a human with strong opinions about how a git client should feel. If that offends you, ungit is lovely and hand-crafted. If you're curious what an agent-built tool looks like when it's used daily by its author, read on.

Commit graph— smooth, virtualized history graph with lanes, edges, and ref labels. Loads thousand-commit windows and paginates on scroll.Optimistic mutations— checkout, merge, rebase, cherry-pick, revert, uncommit, branch move/reset animateimmediatelywith a predicted graph layout, then reconcile against the real result. Failures roll back.Time Machine— a reflog view that shows where HEAD has been and lets you recover "lost" commits and deleted branches with one click.** Working tree**— stage/unstage files (or everything), see staged vs unstaged at a glance.** Push / fetch / force-push**— non-fast-forward pushes surface a typed error with a one-click--force-with-lease

escape hatch.GitHub integration— PRs linked to commits, live CI status dots that poll until check-runs settle (setGITHUB_TOKEN

for private repos / rate limits).Agent sessions— detects running** Claude Codeand Codex**sessions on your machine (terminal, VS Code, cursor…), shows which repo each one works in, its live conversation title, and whether it's busy doing inference right now. Click to focus the exact terminal window or IDE workspace where the agent lives. On GNOME Wayland this uses theWindow Callsshell extension — ingit offers a one-click install via GNOME's native consent dialog.Repo browser— folder tree with git-repo detection, recent repos, and path autocomplete.

Requires Node.js 18+ and git

. Install the CLI from npm:

npm install --global @ingit/cli

The npm package installs a small launcher and a prebuilt, self-contained ingit binary for Linux or macOS (x64/arm64). Bun is embedded in the binary and does not need to be installed separately.

ingit                 # open the repo in the current directory
ingit ~/code/my-repo  # open a specific repo
ingit --port 9000 --no-open

From source (needs bun):

git clone https://github.com/capaj/ingit
cd ingit-vibe
bun install
bun dev               # server on http://127.0.0.1:8488 + vite dev client

Linux and macOS are supported. Agent detection reads /proc

on Linux and uses the system ps

and lsof

tools on macOS. The git UI itself is platform-agnostic.

Click any preview to watch the full recording.

01-switch-branches.mp4 #

02-merge-preview.mp4 #

03-rebase-branch.mp4 #

04-cherry-pick.mp4 #

05-time-machine-recover.mp4 #

06-create-branch.mp4 #

07-move-branch.mp4 #

Bun workspaces monorepo:

apps/
  client/       React + Vite + Zustand UI — graph canvas, optimistic layout prediction
  server/       node:http + WebSocket server, serves the built client and the RPC API
  cli/          standalone executable via `bun build --compile`, bundles client + server
packages/
  git-core/     spawns real git (rev-list/cat-file batch processes), parsers, repo sessions
  graph-core/   lane allocation + edge building for the commit graph
  rpc-contract/ zod-typed oRPC contract shared by client and server — single source of truth

Client and server talk over a WebSocket using oRPC with zod schemas — add an endpoint to packages/rpc-contract

, implement it in apps/server/src/rpc-router.ts

, call it type-safe from the client.

No database. No daemon. Plain git under the hood — everything ingit shows you is derivable from your repo, and everything it does is a git command you could have typed.

PRs welcome. Ground rules:

bun, not npm— package management and scripts all run through bun.bun run typecheck

must pass (project references,tsc --build

).- Tests live next to code ( *.test.ts

,bun test

). - The workflow here is agent-first: it's perfectly acceptable (encouraged, even) to develop your contribution with Claude Code, Codex, or whatever you drive — you'll fit right in, and ingit will happily show your agent in its own sidebar while it works on itself. Review what you ship; you own the diff.

Good first areas:

  • macOS window focusing (AppleScript can target Terminal/iTerm tabs by tty — cleaner than what Wayland allows).
  • KDE Wayland focusing backend ( kdotool

). - More agents (Gemini CLI, Amp, opencode…) — detection lives in apps/server/src/agent-sessions.ts

and is ~20 lines per agent. - Diff view polish, partial-file staging.

Use ungit! It's great. ingit exists because I wanted: a faster graph on huge repos, a reflog UI, CI status inline, and a control tower for the half-dozen AI agents working across local checkouts. None of that fit ungit's architecture cleanly, and rewriting from scratch with agents doing the typing took just a few sessions, not months.

Models used: mostly codex with GPT-5.5, some with opus 4.8

  • Linux ( /proc

agent detection and GNOME/X11 window focusing) - macOS ( ps

/lsof

agent detection; window focusing is not yet implemented)

MIT

── more in #developer-tools 4 stories · sorted by recency
── more on @ingit 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ingit-git-gui-that-r…] indexed:0 read:4min 2026-07-09 ·