In progress2026Personal
Gitnetix
A release-centric Git client with AI built in: no commit graph but a tree of branches under their release, worktrees where AI agents work in parallel, and a ship step that dates the changelog, moves main and tags it. Drivable from your phone.
- Since
- 2026
- Stack
- Tauri 2
- React
- TypeScript
- Rust
- MCP
Gitnetix is a Git client built around releases, with AI built in. The engine is in Rust, the interface in React, and Tauri 2 wraps both into a desktop app for Linux, macOS and Windows. The same interface also ships as a phone app that drives the desktop remotely.
A tree, not a graph
Most Git clients draw the commit graph: coloured rails, crossing merges, hundreds of dots. It shows what Git stored, not what you are working on. Gitnetix has no commit graph. It shows branches as a tree: main at the top, releases under it, features and fixes under their release. See your work, not your commits.
- The orange path. The checked-out branch gets a glowing path drawn from
maindown to it, with a pulse running along it, and the branches it only passes by are dimmed. One glance tells you where you are and what you will merge into. - Merged work moves aside on its own, even after a squash-merged PR.
- Shipped releases sit apart with their version tag. Delete the tag and the release reopens.
- Falling behind gathers the stale branches, cleaned up in one click.
The workflow
- Releases first. A release is a
release/x.y.zbranch cut frommain(or from the latest tag for a hotfix). Features and fixes branch off it, either in place or in their own worktree. - Agents in parallel. An AI agent (Claude Code, Codex, Gemini…) can work on each branch at the same time, each in its own worktree, with its session log kept running when you switch project.
- Ship. One action dates the
Unreleasedsection ofCHANGELOG.md, fast-forwardsmainto the release branch, tagsvx.y.zand can push both. - AI where it saves time. Commit messages, branch names, PR descriptions, release notes, changelog updates, conflict resolutions and ticket triage, all driven by editable templates and per-task model routing: a light model for commit messages, a stronger one where it matters.
What it does
- Workspace: the branch tree, commit lists that show local and origin side by side, diffs, stashes, rebase with conflict resolution.
- Pull requests: GitHub and Azure DevOps sign-in through a device code, review threads, editing your own comments, closing and reopening, with “Improve” to polish a reply.
- Tickets: Jira, Trello and Asana, planned into releases, a branch started from any ticket.
- Analytics: releases shipped, lead time, merges and how many commit messages the AI wrote.
How it’s built
- Finding each branch’s parent. The tree only works if every branch lands under the right release, so the engine works it out in order: the declared parent (a release base, or the branch you attached it to), then a merge commit that names where it went, then a GitHub or Azure DevOps pull request that took it in (or a squash that carries it), and otherwise the closest target by history: fewest commits of its own, then fewest missing. A branch whose ticket key shows up in a later squash gets a “likely merged” tag, and is never deleted automatically.
- One RPC surface. Every client goes through the same table of methods: Tauri
invokeon desktop,POST /rpcover HTTP for the phone or a browser, and MCP tools for agents. Adding a method there makes it available everywhere. - A phone that manages, a desktop that works. The mobile build ships the UI without the engine and pairs with a desktop (or a headless server) through a token.
- An MCP bridge, so an agent can drive Gitnetix itself:
claude mcp add gitnetix. - Tested on real repositories: an integration test runs the full release flow, from cutting a release to shipping and tagging, on an actual Git repository.






