Live data from Hacker News

Ziggity – A terminal UI for Git, written in Zig

github.com

1–10 of 76 posts

Re: Ziggity – A terminal UI for Git, written in Zig

#2
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.

Re: Ziggity – A terminal UI for Git, written in Zig

#3

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…

I can't really tell why this comment got flagged, so I've vouched it.

Maybe I've missed some context

Re: Ziggity – A terminal UI for Git, written in Zig

#7

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?

If this is idiomatic zig, functions must be expensive because it fails horribly in the DRY departement. Also, papering over exceptions everywhere by... catching and not handling exceptions. What could possibly go wrong?

Re: Ziggity – A terminal UI for Git, written in Zig

#8
post #3

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…

I can't really tell why this comment got flagged, so I've vouched it. Maybe I've missed some context

It's probably because of HN's anti-LLM filter. I don't know if submitters use LLMs to touch up their descriptions or if these descriptions often use LLM-like phrasing.

Re: Ziggity – A terminal UI for Git, written in Zig

#9

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?

In general, for most projects like this the README is the product. You usually have better results using it and the code as a starter prompt for your own software if you feel the need. I wouldn’t use this kind of thing directly from upstream.
Post reply on HN