Keifu – A TUI for navigating commit graphs with color and clarity

Keifu drops a colorful code family tree—fans cheer, skeptics say “we already have this”

TLDR: Keifu is a new Rust terminal app that shows a colorful code history and lets you do simple branch actions. Commenters split: LazyGit fans shrug, a .NET fan suggests Andy TUI, and a skeptic calls the pitch overhyped—highlighting a crowded field of similar tools and preferences.

Keifu arrives promising a splashy, color‑coded way to view your project’s “family tree” of changes inside the terminal—plus quick moves like switching branches, making new ones, and fetching updates. But the community instantly turned this release into a turf war. One camp waved the flag for existing favorites: “I’m a big LazyGit fan,” said a power user, plugging LazyGit and the Neovim plugin. Another commenter took it cross‑platform, pitching a .NET alternative: “nice additional example in .NET with Andy TUI,” basically turning a Rust showcase into a framework food fight.

Then came the spicy skepticism. A critic called the promo “loaded,” pointing out there are already plenty of tools that do this, dropping a link to a big list of similar apps: git‑graph‑drawing. Cue memes: folks joked Keifu is “Ancestry.com for code,” and that pressing j/k is like scrolling through your repo’s family drama. Fans loved the colorful branches and tidy details like file change counts, while nitpickers clutched pearls over limits (only 500 commits shown, changed files capped at 50). The vibe? Keifu looks slick for terminal minimalists, but the crowd is split between “fresh paint” and “we’ve seen this movie.”

Key Points

  • Keifu is a Rust-based TUI that visualizes Git commit graphs with per-branch colors and commit details.
  • It supports Git operations such as checkout, creating and deleting local branches, and fetching from origin.
  • Installation is available via crates.io using cargo install or by building from source with cargo.
  • Usage relies on keybindings for navigation and operations, including j/k, Tab/Shift+Tab, Enter, b, d, f, R, ?, and q/Esc.
  • Limitations include loading up to 500 commits, diffing merges against the first parent, capping changed files at 50, and skipping binary files.

Hottest takes

"nice additional example in .NET with Andy TUI" — M4R5H4LL
"I’m a big LazyGit fan" — RVRX
"being a bit loaded with the marketing text" — mr_vile
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.