A genuinely-free Git review companion that sits beside your AI coding editor: the commit graph, diffs, and every in-flight worktree, refreshing live as your agent changes the repo under you.
AI coding editors generate more diffs and commits than any tool in history, and they review them in a cramped side panel. Sit with that for a second: the tool creating the most diffs has the worst diff UX. Grove fills the gap from the outside, a desktop app that sits beside Claude, Cursor, Windsurf, a terminal agent, or all of them at once, and answers one question well: what just changed, across which files and commits, and is it good?
The Git GUI market is crowded, and almost none of it is actually free. GitKraken and Tower are paid, Fork and Sublime Merge nag, GitHub Desktop is thin, GitButler is source-available with a no-compete clause. The genuinely-free, genuinely-beautiful slice is sitting there empty. Grove is GPL-3.0: free as in actually free, and forks stay open. (GPL rather than AGPL because the network clause does nothing for a desktop app; copyleft alone stops proprietary forks.)
This isn't a mockup. I review my own repos in it daily, including one with 400+ commits and dozens of branches. The commit graph is a custom SVG lane renderer, no off-the-shelf library, because the look is the whole differentiator: color-coded lanes, ref pills, hollow nodes for unpushed commits, and real diffs on merge commits (diffed against the first parent, so a merge never shows up empty). Around it: a diff and blame viewer, a worktree dashboard with clean-or-dirty and ahead/behind for every tree, and Spotlight, one Ctrl+K across files, commit messages, branches, and file contents, instant because the heavy every-path-that-ever-existed walk is precomputed once and cached per query.
And it's alive. A file watcher redraws the graph, status, and worktrees as your agent mutates the repo under you, with a pulsing live indicator. Every SHA, path, and branch gets a one-click copy.
This is the second architecture. The first was a Tauri 2 shell with a Rust core and a Svelte 5 frontend. It worked, but the git engine was welded to the desktop shell, so nothing in it could be reused or tested on its own. The rebuild splits them into two packages with a hard boundary. @grove/engine is the git engine: it spawns the user's own git binary and turns its output into typed repo state. It is headless by construction, no UI and no Electron dependency, with its own typecheck and test suite, which means the same engine could sit behind a CLI or a server tomorrow without touching a line of it. @grove/app is the Electron shell: window lifecycle, a hardened IPC bridge, and a React renderer that never touches git directly. One write boundary, one process that owns the repo.
Alpha. The rebuild is on main and I review my own repos in it daily, but the last tagged release is still v0.1.3-alpha from the original build, so cutting a fresh release is the next job. Windows-only for now, and the installers are unsigned until code-signing lands. After that: syntax highlighting in diffs, a stash view, and wiring the bring-your-own-agent pillar fully.