2 min read

Ziggity brings lazygit-style Git workflows to Zig

Ziggity is a keyboard-first terminal UI for Git built in Zig, with staging, rebasing, diffing, and history tools in a small binary.

Image: Hacker News

Ziggity is a new terminal UI for Git that targets the familiar lazygit-style workflow in a small, dependency-light Zig binary. It covers the core tasks developers expect without leaving the terminal: staging, committing, branching, rebasing, stash management, and history inspection.

The project is not a line-by-line port of lazygit. Instead, it keeps that interaction model while using idiomatic Zig, explicit memory ownership, plain Git subprocesses rather than libgit2, and libvaxis for the interface. One visual flourish stands out: the Status panel includes an about splash with a rotating ASCII donut.

Installation is straightforward as long as the git command is available on your PATH. Ziggity can be installed with Homebrew on macOS / Linux via brew install simoarpe/ziggity/ziggity, downloaded as a prebuilt binary for macOS, Linux, and Windows, or compiled from source with Zig 0.16.0. The current example release version in the project docs is v0.1.0.

A few platform notes matter. On macOS, manually downloaded binaries are not notarized, so Gatekeeper may block first launch unless the quarantine flag is removed. On Windows, builds are available but described as experimental for now because they are cross-compiled and not yet smoke-tested on Windows.

Feature-wise, Ziggity goes well beyond basic status and commit views. Highlights include:

Recommended reading

Epilude ships Model 4 for private Mac dictation

  • Status, Files, Branches, Commits, and Stash panels with live diff previews
  • Hunk and line-level staging
  • Full interactive rebase with drop, squash, fixup, edit, reword, and move actions
  • A real git log --graph DAG view with filtering and first-parent jumps
  • GPG signature verification
  • Multi-selection across files, commits, branches, and stashes
  • Background git fetch to keep pull status current
  • Fully remappable keys, theme support, and custom commands

Once installed, the app runs inside any Git repository. ? opens the in-app keybindings overlay, and q quits.

Tomas Berg

Computing Editor

Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.

via Hacker News

// Keep reading