Top
Best
New

Posted by TheSorcerer 21 hours ago

Ziggity – A terminal UI for Git, written in Zig(github.com)
73 points | 52 commentspage 2
sashank_1509 18 hours ago|
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 15 hours ago||
You can just scroll down to the contributors section to see that it was indeed written by Claude
hoppp 15 hours ago|||
Understandable

Yes, smells like vibe code. Haven't looked inside but can already tell

ursuscamp 18 hours ago|||
You're in for a great deal of pain in the coming years.
whimsicalism 18 hours ago|||
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 18 hours ago||
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 17 hours ago||
Yes I won’t use LLM autocomplete or agents for any personal projects. At work, I’ll do whatever’s needed.
rvz 17 hours ago||
> 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.

dtj1123 6 hours ago||
People often do things they don't want to when at work.
colesantiago 18 hours ago||
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?

TheSorcerer 2 hours ago||
So many wrong assumptions in a single message. Lazygit is a fantastic project, I've been using it for several years, but there were so many things I wanted to improve/change, that eventually I decided to create my own project. Go is not a language I wanted to explore, while I had this interest in giving Zig a try, so eventually I picked it and was blown away by how fast it can be. There's a file called ENHANCEMENTS_OVER_LAZYGIT.md (https://github.com/simoarpe/ziggity/blob/main/docs/ENHANCEME...) but I'll soon merge it into the main README. At my daily job, I handle huge git projects, and use Ziggity daily now, and I'm much more productive.

I can name a few improvements over Lazygit in random orders:

- Text selection with automatic copy, it works super smoothly and it's useful when you need to quickly copy a commit hash, a portion of code, a diff, or a branch name.

- Force-push with lease, it's something that should be always used when force pushing. If you work in a large codebase it should always be your first attempt after a rebase, and that's how Ziggity works. It will ask to fallback to normal force-push if it didn't work, but you'll remain in control.

- Git actions are async without leaving the TUI: this is in my opinion the biggest improvement over Lazygit, and it makes me much more productive, Lazygit was continuously switching to prompt and asking to press to return back to the TUI. There are also good reasons for this but as a general philosophy I wanted something different, and more optimized.

- I've implemented the 50/72 rule (https://dev.to/noelworden/improving-your-commit-message-with...) for the commits and I can finally prepare good commits, where I highlight when a title is too long and there's a shadow for the linewrap. They are both configurable so I'm not forcing this option.

- I have also implemented the correct behavior a couple of other features that are currently broken on Lazygit, the most serious one for example is that switching branch by name is completely broken and you'll end up in commit in a detached state (try yourself if you don't believe me).

So to answer your question: You should not switch to Ziggity if you are fine with Lazygit. But if you are a proficient Git user, handle largit Git projects, and you have used Lazygit for a while and noticed a few things were "suboptimal"; then you should give Ziggity a try.

ICHx 10 hours ago||
Exactly, waste of electricity
hoppp 15 hours ago||
I like it but the donut animation is not needed, overbuilding gives AI slop vibes

I would love to use it without gimmicks.

jllyhill 15 hours ago|
Because it is, Claude is one of the two contributors. Just another slop project made farming HN points and marketing.
icase 16 hours ago||
i appreciate that it’s not more rust slop, but i never understood the need for a git frontend.
jodysalt 4 hours ago||
I think it can be helpful sometimes when looking at large diffs.

I tend to use the tools in GitHub/Bitbucket. But, I can see how this could be a good alternative.

insane_dreamer 8 hours ago||
I started using lazygit a couple years ago, never looked back. It’s great
TheSorcerer 2 hours ago||
I've used Lazygit daily for almost four years. It's a fantastic project, and I suggest donating to Jesse as he did a great job.

In my daily job a heavily use Git and a few things bothered me, so I decided to create my own project. Go is not a language I wanted to explore, while I had this interest in giving Zig a try, so eventually I picked it and was blown away by how fast it can be. There's a file called ENHANCEMENTS_OVER_LAZYGIT.md (https://github.com/simoarpe/ziggity/blob/main/docs/ENHANCEME...) but I'll soon merge it into the main README. At my daily job, I handle huge git projects, and use Ziggity daily now, and I'm much more productive. I can name a few improvements over Lazygit in random orders:

- Text selection with automatic copy, it works super smoothly and it's useful when you need to quickly copy a commit hash, a portion of code, a diff, or a branch name.

- Force-push with lease, it's something that should be always used when force pushing. If you work in a large codebase it should always be your first attempt after a rebase, and that's how Ziggity works. It will ask to fallback to normal force-push if it didn't work, but you'll remain in control.

- Git actions are async without leaving the TUI: this is in my opinion the biggest improvement over Lazygit, and it makes me much more productive, Lazygit was continuously switching to prompt and asking to press to return back to the TUI. There are also good reasons for this but as a general philosophy I wanted something different, and more optimized.

- I've implemented the 50/72 rule (https://dev.to/noelworden/improving-your-commit-message-with...) for the commits and I can finally prepare good commits, where I highlight when a title is too long and there's a shadow for the linewrap. They are both configurable so I'm not forcing this option.

- I have also implemented the correct behavior a couple of other features that are currently broken on Lazygit, the most serious one for example is that switching branch by name is completely broken and you'll end up in commit in a detached state (try yourself if you don't believe me).

If you decide to give Ziggity a try, I'm happy to receive feedback

TheSorcerer 21 hours ago||
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 20 hours ago|
I can't really tell why this comment got flagged, so I've vouched it.

Maybe I've missed some context

projektfu 19 hours ago|||
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.
pageandrew 17 hours ago|||
> - Independent drill-downs in the Branches/Commits panels (deliberate, not a port artifact)

> (deliberate, not a port artifact)

Smells like AI

jddj 17 hours ago||
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.

uproarchat 18 hours ago|||
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.
TheSorcerer 2 hours ago|||
Thank you! I've used AI to fix my English as it's not my primary language and probably got flagged.
eadesola 19 hours ago||
[dead]
lnenad 16 hours ago|
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.