$ cat ~/projects/wagit.md
wagit.md

wagit

Rust gix ratatui

A magit-style TUI for git, and one of meowr's guest applications. Not a file browser with git commands bolted on — one status buffer that folds from sections to files to hunks, with menus that appear where the cursor already is.

One buffer, folded. Untracked, unstaged, staged, and recent commits are sections of the same outline. There is no separate diff view to open, because the diff is already the row underneath.

Act where the cursor is. Staging and unstaging work at whatever granularity the cursor sits at — a section, a file, or a single hunk — rather than needing a different command for each.

Menus, not memorized flags. Committing, branching, fetching, pushing, rebasing, stashing, cherry-picking, and applying patches each open a transient showing the available switches before running anything, and the keymap footer is generated live, so a rebound key shows its new chord rather than the default.

Built on gix, a pure-Rust git implementation, rather than binding to libgit2 — and split across five crates (wagit-git, wagit-domain, wagit-view, wagit-render, wagit-app) with a deliberate publishing order, since a dev-dependency carrying a version has to resolve too.

./run --source