Tauri v2 · ~33 MB native binary, not Electron

The git client that shows you the river.

A DAG you can grab. Destructive commands that show their blast radius first. A command palette for every remote. And AI that splits one messy tree into clean commits — fully offline.

Open the command palette anywhere with Ctrl+Shift+R

RiverFlow · live
main
DL
9f3a1c
feat: stream remote progress events
feature
SR
be71d0
feat: drag-to-rebase gesture
SR
4a0c8e
refactor: lane sweep into pure fn
DL
1d77b2
fix: release merged lanes back to pool
DL
7e2f90
feat: RiverFlow canvas + minimap
DL
0b1199
chore: scaffold Tauri shell
Grab the feature tip be71d0 and drop it on the trunk to rebase
~33 MB
install size, by platform
0 KB
JS on static pages
100%
offline AI inference
5 ops
always-on undo stack
RiverFlow graph

A DAG with physics, not a static picture.

RiverFlow lays out history with a real active-lanes sweep: each lane waits for a parent commit, merges spawn new lanes, and converging streams release their lanes back to the pool. The result is a graph that reads like a river — and one you can manipulate directly.

  • Collapse any merge. Fold a merge's side branch into a single strand — and expand it again — to quiet down busy history without touching a commit.
  • River merges. Branch convergences animate as flowing streams, not crossed lines.
  • Highlight without losing the shape. Spotlight one author or a single day and the rest of the DAG dims — the full graph stays intact, just out of focus.
  • Right-click any node. Checkout · Merge · Rebase onto… · Cherry-pick · Revert · Create branch from here.
be71d0
feat: collapse merge side-branches
Checkout this commit
Merge into current branch
Rebase current branch onto…
Cherry-pick
Revert
Create branch from here…
Copy hash
Copy message
Copy author
Reset main to HEAD~3
Destructive operation — review the impact below before proceeding.
1 commit exists on a remote — collaborators may have based work on it. Rewriting it will require them to force-update.
Branches affected 2
  • main
  • feature/rebase
Commits that will be lost 3
  • be71d0 feat: collapse merge side-branches
  • 4a0c8e refactor: lane sweep into pure fn
  • 1d77b2 fix: release merged lanes back to pool
Files affected 11
Click to expand the file list.
Safer alternative
Create a revert commit instead of rewriting history — keeps the commits recoverable.
SafeRewind

Make destroying history nearly impossible by accident.

Before any reset --hard, force-push, or rebase onto a diverged branch, SafeRewind computes the blast radius — affected branches, commits, files, and the collaborators who already built on them. When it can, it offers a softer path.

  • Impact report first. Every destructive op is gated by a preview, not a yes/no dialog.
  • Visual reflog browser. Restore any prior state with a one-click preview of what changes.
  • 5-deep undo stack. Sourced from the HEAD reflog — roll back the last operations from the toolbar.
RemoteHub

Every remote, one keystroke away.

Hit Ctrl+Shift+R and fuzzy-search remotes and tracking branches. Fetch, pull, push, or compare inline — without leaving the keyboard. This one is real: type below.

Esc
origingit@git.example.com:you/mayicommit.git
origin/mainmain
origin/release-2.4
upstreamgit@git.example.com:mayicommit/mayicommit.git
upstream/main
deploygit@deploy.example.com:mayicommit/mayicommit.git
navigate · Enter default actionCtrl+Shift+R
AI commit groups

One messy tree in. Several clean commits out.

A local llama.cpp model reads your staged diff and proposes multiple Conventional Commits. Each card stages exactly its own files and prefills the composer — you still press Commit. Nothing leaves your machine.

Runs on Phi-3-mini / Llama-3.2-3B · ~2–3 GB VRAM · privacy-first, no telemetry.

AI commit groups
» Apply all ↻ Regenerate
3 suggested commits. Applying one stages exactly its files and fills the message — you still press Commit.
1 feat(graph): collapse merge side-branches
Fold a merge's secondary parents into one strand, expandable on click.
  • src/components/graph/GraphCanvas.tsx
  • src/lib/gitGraph.ts
  • src/hooks/useGitGraph.ts
2 fix(remote): retry auth on SSH key mismatch
  • src/components/remotes/RemotePalette.tsx
  • src/lib/sshKeyOverride.ts
3 docs: document the RiverFlow lane algorithm
  • PLAN.md
  • src/lib/gitGraph.ts
Make it yours

Themes you can feel. Add-ons you can trust.

Every surface is generated from one accent color, so a single theme recolors the whole app — light or dark. Pick one below and watch this page change with it.

Your pick is remembered on this device — switch back to Default any time.

Add-ons

Extend it — in a sandbox, not a free-for-all.

Each add-on runs inside an isolated iframe and reaches the app only through a permissioned window.mayi API. It can't touch your filesystem, git credentials, SSH keys, or AI keys unless you grant it.

Timer Global

A countdown timer that notifies you when time's up.

notifications
To-Do Global

A to-do list that persists across every repository.

storage only
Changelog Generator Repo

Mark commits and let the local AI draft a clean changelog you can write to CHANGELOG.md.

repo:readgit:logai:askfs:write
UML Diagrams Repo

Scans the open repo for classes and draws a UML class diagram.

repo:readai:askfs:write
Never Push Repo

Keep local edits to tracked files that are never staged, committed, or pushed.

repo:readgit:skip-worktree

Write your own with a manifest.json and a single ES module — then install it from a folder.

Shipped recently

Every release, what changed and why — so you always know what you're updating to.

All releases →
v0.7.1 feature

AI commit groups, fully offline

Point the local LLM at a messy working tree and it proposes several clean Conventional Commits — apply them one click at a time.

v0.7.0 feature

Drag-to-rebase lands in RiverFlow

Grab any commit and drop it onto another to start an interactive rebase — no flags, no detached HEAD surprises.

v0.6.4 feature

SafeRewind impact analysis for every destructive op

reset --hard, force-push, and diverged rebases now open an impact report first: affected branches, commits, files, and collaborator warnings.

Feedback

Hit a bug, or wish it did something more?

Bug reports and feature suggestions go through the project page. It's the fastest way to get something looked at.

More approachable than raw git. More capable than GitHub Desktop.

Free for personal, non-commercial use. Native binaries for every platform. Latest release v0.7.1.

Using it at work, or need something the license doesn't cover? Get in touch.