logoalt Hacker News

Ziggity – A terminal UI for Git, written in Zig

69 pointsby TheSorcereryesterday at 3:46 PM51 commentsview on HN

Comments

greggrothyesterday at 5:09 PM

Neat project, but the README would benefit from a human author. I can tell what you prompted by the way the README is worded. It should tell me more about what this project solves. I don't care that it uses idiomatic zig. Why should I use this instead of lazygit?

show 2 replies
JacobAsmuthyesterday at 6:56 PM

This is huge. I've always wanted to use Git in the terminal but never been happy with the underlying language that other TUIs were written in. Now that I know that I'm using developer-managed memory I can be much more comfortable and confident changing between branches, pushing, and pulling, and even merging code. Thanks Simone!

show 6 replies
dd_xploreyesterday at 6:15 PM

I wonder when is the 900,000 lines single commit coming for Rust rewrite

show 4 replies
kvisneryesterday at 6:48 PM

Very cool, but if I'm prompting / looping an AI agent as my main development process, what is the use case here? I feel the biggest help would be to make Reviewing PRs from the terminal easier, I care less about commit logs and status.

show 3 replies
robertheadleyyesterday at 7:43 PM

I know what these words mean, but if I didn't this would be a whole lot of nonsense.

arikrahmanyesterday at 5:27 PM

Maybe can emphasize yourself and call it LazyZig or something with the lazy moniker.

show 1 reply
PrimalPoweryesterday at 10:38 PM

i've always found magit better than any opinionated git terminal UI. Including LazyGit.

With Claude, i find myself reaching for Magit even less.

mayhemducksyesterday at 10:07 PM

If Quagmire were in charge of naming things.

alimbadayesterday at 9:15 PM

I like the Zig+Git+TTY portmanteau.

NamlchakKhandroyesterday at 11:24 PM

Need to change the logo to one of a guy with a massive chin and a creepy stare.

hopppyesterday at 9:24 PM

I like it but the donut animation is not needed, overbuilding gives AI slop vibes

I would love to use it without gimmicks.

show 1 reply
colesantiagoyesterday at 6:42 PM

Honest feedback:

This is AI generated TUI slop made with claude.

I've been seeing a sad trend of these things being built with AI with no care and will be just abandoned in less than a month.

Why should I use this when I can use lazygit which is more popular and has been around and battle tested for years?

show 1 reply
sashank_1509yesterday at 6:24 PM

I’m such a CLANKER hater now, I want to know if this was written by agents or not. If written by agents, I don’t want anything to do with it. I only want human written software, even LLM autocomplete seems a bridge too far.

show 5 replies
icaseyesterday at 8:10 PM

i appreciate that it’s not more rust slop, but i never understood the need for a git frontend.

show 1 reply
TheSorcereryesterday at 3:46 PM

Hi HN, I've been building Ziggity, a keyboard-driven terminal UI for Git. It's inspired by lazygit (which I used daily), but written from scratch in Zig rather than being a port.

Why another one? Two reasons, honestly. There were a few areas of lazygit I wanted to improve on for my own workflow, and I wanted a real project to build in Zig, which is genuinely powerful and fast, and a joy once it clicks. It compiles to a single small static binary with explicit memory ownership and no libgit2, it just shells out to the `git` you already have. The UI is built on libvaxis. And I let myself add a bit of sugar along the way, because a tool you stare at all day might as well be pleasant.

A few things that are a bit different from lazygit: - A divergence view + status-coloured commit hashes so ahead/behind commits stand out at a glance - Independent drill-downs in the Branches/Commits panels (deliberate, not a port artifact) - Line level staging, interactive rebase, custom patch building, bisect, arbitrary-ref diffing

It's honest about its stage: v0.3.0, macOS/Linux/Windows builds, MIT. The Windows build compiles and libvaxis supports it, but I haven't smoke-tested it on real hardware yet. There's an about screen with a spinning ASCII donut, because why not.

Install: `brew install simoarpe/ziggity/ziggity`, or grab a static binary from the releases page.

Repo: https://github.com/simoarpe/ziggity

I'd genuinely appreciate feedback, especially on the UX and on the Zig code if you're into that. It's a spare time project, so bug reports and "this feels wrong" notes are welcome.

show 1 reply
eadesolayesterday at 5:47 PM

[dead]

lnenadyesterday at 8:27 PM

I actually made the same thing in Rust https://github.com/lnenad/difiko

Just FYI a large portion is vibecoded for those that don't like that.