| ▲ | Ziggity – A terminal UI for Git, written in Zig(github.com) |
| 70 points by TheSorcerer 14 hours ago | 51 comments |
| |
|
| ▲ | greggroth 12 hours ago | parent | next [-] |
| 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? |
| |
| ▲ | arjie 12 hours ago | parent | next [-] | | 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. | |
| ▲ | tosti 12 hours ago | parent | prev [-] | | 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? | | |
| ▲ | blueaquilae 8 hours ago | parent [-] | | You have no idea don't you? it's like telling Ghostty failed because you don't understand how try/catch was a mistake in software conception. | | |
| ▲ | dwattttt 4 hours ago | parent [-] | | Why are there exceptions in the first place then? If that's what you want, write ON ERROR RESUME NEXT and be honest about it. |
|
|
|
|
| ▲ | JacobAsmuth 11 hours ago | parent | prev | next [-] |
| 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! |
| |
| ▲ | ind-igo 2 hours ago | parent | next [-] | | I'm amazed at the comments on this. | |
| ▲ | insane_dreamer an hour ago | parent | prev | next [-] | | lazygit works great and fast enough | |
| ▲ | blueaquilae 8 hours ago | parent | prev | next [-] | | This is just a copy of LazyGit the original and long player git in tui | |
| ▲ | hoppp 8 hours ago | parent | prev | next [-] | | I just use the regular git cli. Works fine. | |
| ▲ | the_gipsy 10 hours ago | parent | prev | next [-] | | I've been using tig, written in C, for ages now, never once crashed. And I'm all for safe languages, but a git TUI isn't really as critical as you imply - if I interpreted the sarcasm correctly. | |
| ▲ | whimsicalism 11 hours ago | parent | prev [-] | | you dropped your /s | | |
| ▲ | sigmonsays 9 hours ago | parent [-] | | prolly authored it in a tui and it crashed, since it wasn't written in rust |
|
|
|
| ▲ | dd_xplore 11 hours ago | parent | prev | next [-] |
| I wonder when is the 900,000 lines single commit coming for Rust rewrite |
| |
| ▲ | onlyrealcuzzo 11 hours ago | parent | next [-] | | I'm working on porting the Rust compiler to VB.NET, so I can run it inside Excel spreadsheets. And so it's "actually memory safe". /sarcasm in case not obvious. | | | |
| ▲ | IshKebab 11 hours ago | parent | prev | next [-] | | It's written by Claude already so it probably wouldn't make any difference I guess? | |
| ▲ | v3ss0n 11 hours ago | parent | prev | next [-] | | You beat me to it | |
| ▲ | pelasaco 11 hours ago | parent | prev [-] | | dont worry, soon or late it will show up in HN.. |
|
|
| ▲ | kvisner 11 hours ago | parent | prev | next [-] |
| 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. |
| |
|
| ▲ | robertheadley 10 hours ago | parent | prev | next [-] |
| I know what these words mean, but if I didn't this would be a whole lot of nonsense. |
|
| ▲ | arikrahman 12 hours ago | parent | prev | next [-] |
| Maybe can emphasize yourself and call it LazyZig or something with the lazy moniker. |
| |
|
| ▲ | PrimalPower 7 hours ago | parent | prev | next [-] |
| i've always found magit better than any opinionated git terminal UI. Including LazyGit. With Claude, i find myself reaching for Magit even less. |
|
| ▲ | mayhemducks 7 hours ago | parent | prev | next [-] |
| If Quagmire were in charge of naming things. |
|
| ▲ | alimbada 8 hours ago | parent | prev | next [-] |
| I like the Zig+Git+TTY portmanteau. |
|
| ▲ | NamlchakKhandro 6 hours ago | parent | prev | next [-] |
| Need to change the logo to one of a guy with a massive chin and a creepy stare. |
|
| ▲ | hoppp 8 hours ago | parent | prev | next [-] |
| I like it but the donut animation is not needed, overbuilding gives AI slop vibes I would love to use it without gimmicks. |
| |
| ▲ | jllyhill 8 hours ago | parent [-] | | Because it is, Claude is one of the two contributors. Just another slop project made farming HN points and marketing. |
|
|
| ▲ | colesantiago 11 hours ago | parent | prev | next [-] |
| 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? |
| |
|
| ▲ | sashank_1509 11 hours ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | jllyhill 8 hours ago | parent | next [-] | | You can just scroll down to the contributors section to see that it was indeed written by Claude | |
| ▲ | hoppp 8 hours ago | parent | prev | next [-] | | Understandable Yes, smells like vibe code. Haven't looked inside but can already tell | |
| ▲ | ursuscamp 11 hours ago | parent | prev | next [-] | | You're in for a great deal of pain in the coming years. | |
| ▲ | whimsicalism 11 hours ago | parent | prev | next [-] | | some of you all need to take a break from politics, it is clearly not doing you good and easy to get swept up into group mania imo. | |
| ▲ | rvz 11 hours ago | parent | prev [-] | | So you guarantee that you yourself will never use AI or agents in any capacity? Is that the principled position you want stand on in 2026 and beyond? | | |
| ▲ | sashank_1509 10 hours ago | parent [-] | | Yes I won’t use LLM autocomplete or agents for any personal projects. At work, I’ll do whatever’s needed. | | |
| ▲ | rvz 10 hours ago | parent [-] | | > Yes I won’t use LLM autocomplete or agents for any personal projects. So you would use AI including LLM autocomplete at work, but at the same time, you don't want anything to do with it? You just previously said that: >> "...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." That means you would still use AI at some capacity which breaks that guarantee. This also means that you just contradicted yourself, when I explicitly said in any capacity that you would never use AI or agents at all. |
|
|
|
|
| ▲ | icase 9 hours ago | parent | prev | next [-] |
| i appreciate that it’s not more rust slop, but i never understood the need for a git frontend. |
| |
|
| ▲ | TheSorcerer 14 hours ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | jddj 13 hours ago | parent [-] | | I can't really tell why this comment got flagged, so I've vouched it. Maybe I've missed some context | | |
| ▲ | projektfu 12 hours ago | parent [-] | | 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. | | |
| ▲ | uproarchat 11 hours ago | parent | next [-] | | If that's what happened, I wonder if the same filters exist for tools like Grammarly. Some people are English as a second language, and some people simply want to put the best foot forward and make the best first impression. | |
| ▲ | pageandrew 10 hours ago | parent | prev [-] | | > - Independent drill-downs in the Branches/Commits panels (deliberate, not a port artifact) > (deliberate, not a port artifact) Smells like AI | | |
| ▲ | jddj 10 hours ago | parent [-] | | Also lots of "genuinely" and some air quoted phrases which are another tell. I guess you folks are right and it's probably the llm filter. I looked at the GitHub and thought it had too many screenshots to not have had some human effort, but who knows these days. |
|
|
|
|
|
| ▲ | lnenad 9 hours ago | parent | prev [-] |
| 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. |