Simone Arpe grew tired of waiting for his favorite terminal tool to feel snappy. So he built his own. The result, Ziggity, dropped on GitHub just days ago and already stirs debate among developers who live in the command line.
A fast keyboard-driven interface for Git operations. That’s the promise. Arpe, an Android developer at Brave with a background at PSPDFKit, wrote the entire application in Zig instead of reaching for Go or Rust. The single static binary runs on macOS, Linux, and experimentally on Windows. No heavy libraries. Just plain calls to the git command itself.
The GitHub repository lays out the vision clearly. “Ziggity brings the core lazygit workflow — stage, commit, branch, rebase, and inspect history without leaving the terminal — to a small, dependency-light Zig binary,” it states. Arpe made no attempt at a direct port. He borrowed the feel but rebuilt with Zig’s explicit memory management and a library called libvaxis for the interface.
Why bother? Lazygit, the popular Go-based tool from Jesse Duffield, already does most of this. Many users on Hacker News asked exactly that. Yet Arpe’s project gained quick traction. The thread on Hacker News filled with comments within hours of submission. Some praised the innovation. Others called it unnecessary.
Performance sits at the heart of the pitch. Ziggity compiles to one tiny executable. It avoids libgit2 entirely. “Plain git subprocesses,” the docs note. Background tasks like fetching updates run on separate threads so the interface never freezes. A spinner appears during slow operations. Navigation continues uninterrupted. And yes, the status screen includes a rotating ASCII donut for fun. Arpe highlighted that detail in his post on X.
Features match or exceed expectations for this category of tool. Users navigate panels for files, branches, commits, and stashes. Live diff previews update instantly. Hunk and line-level staging works through a dedicated view with optional side-by-side comparison. Interactive rebasing supports the full set of actions — drop, squash, fixup, edit, reword — plus a plan editor and cherry-picking. History viewing pulls the real git log graph with colors intact.
Multi-selection across lists speeds up batch operations. A divergence view shows ahead and behind commits clearly with color-coded hashes. Red for unpushed work. Yellow once on the remote. GPG signature verification appears on demand without slowing down the display. Fuzzy filtering helps locate files fast. Directory trees collapse intelligently.
Arpe added thoughtful details. The commit editor enforces the 50/72 rule with live counters and soft guides. It can pull in output from a repo’s prepare-commit-msg hook. Stash operations include naming options and patch export. Destructive commands route through confirmation menus. Keybindings can be remapped. Colors theme easily. Custom commands fit right in.
Installation stays straightforward. Homebrew users run one command: brew install simoarpe/ziggity/ziggity. That taps a dedicated formula and avoids Gatekeeper issues on macOS. Others grab static binaries from releases. The musl Linux builds run anywhere without dependencies. Building from source requires only Zig 0.16 and git on the path. The project ships checksums for verification.
But not everyone buys the premise. On Hacker News, user colesantiago labeled it “AI-generated TUI slop” and argued lazygit remains superior because it is battle-tested. Others questioned the need when tig or plain git suffices. Some poked at the code style, noting violations of DRY principles in the Zig implementation. One commenter wondered aloud about a future Rust rewrite that balloons to hundreds of thousands of lines.
JacobAsmuth offered a different take. “This is huge. I’ve always wanted a git TUI that feels this responsive. Thanks Simone!” The mention of Zig’s memory safety resonated. Several participants appreciated the avoidance of what they called “Rust slop.” Mixed reactions, sure. Yet the project sparked genuine conversation about tradeoffs in terminal tools.
Arpe responded to some feedback in the thread. He described Ziggity as inspired by daily use of lazygit but built from scratch. Key differences include the divergence view, independent panel drill-downs, and specific enhancements to staging and rebasing. He positioned it as a spare-time effort rather than a full competitor.
Recent buzz extends beyond the initial launch. Arpe posted on X about the spinning donut and the emerging tags panel weeks earlier. The tool continues to evolve. Roadmap items in the repo mention further refinements and bug fixes. No massive feature list yet. Focus stays on polish and stability.
Technical choices define the project. Zig 0.16 delivers compile-time safety and fast builds. Libvaxis handles terminal rendering efficiently. Subprocess calls to git provide battle-hardened behavior without reimplementing complex logic. This approach trades some speed for correctness and simplicity. Incremental log loading prevents memory bloat on large repositories. Auto-refresh detects external changes without constant polling.
Comparisons to similar projects surface quickly. A Rust alternative called Difiko appeared in the discussion. Older tools like tig offer lighter interfaces but lack the full mouse-free workflow. Commercial options and IDE integrations handle many of the same tasks yet tie users to graphical environments. Ziggity targets those who prefer to stay inside tmux or a bare terminal.
Limitations exist. Windows support carries an experimental tag. Some advanced git features wait for future updates. The help overlay, while useful, scrolls to the current panel but could offer more context. Configuration lives in a simple file for now. Power users may want deeper customization options over time.
Still, the binary size and startup time impress. Developers who switch repositories frequently or work on remote servers notice the difference. No Python runtime. No Go garbage collector pauses. Just native code that launches and responds immediately. That matters when context switching eats into focus.
Arpe’s background in Android and game development shows. Attention to animation, smooth transitions, and small quality-of-life touches elevates the experience beyond pure utility. The conventional commits highlighting uses stable colors per author. Reflog access sits one tab away for quick recovery. Worktree and submodule handling allows in-place switching with breadcrumbs.
Adoption will tell the real story. Early stars accumulated fast after the X announcement and Hacker News appearance. Whether it pulls users away from lazygit depends on long-term maintenance and community contributions. The license is permissive. The code invites inspection.
Tools like this rarely dominate overnight. They solve personal pain first. Arpe scratched his own itch. In doing so he produced something that others find intriguing. A lightweight alternative built with a language gaining mindshare for systems work. Zig promises safety without the complexity some associate with modern alternatives.
Watch the repository. Test the binary. The spinning donut might seem frivolous. Yet it signals an attention to detail that runs through the rest of the application. In a world full of heavyweight development environments, a nimble terminal citizen earns its place. Ziggity aims to become exactly that.


WebProNews is an iEntry Publication