Settings

Theme

Show HN: Codiff, a local diff review tool

github.com

31 points by cpojer 3 months ago · 25 comments · 1 min read

Reader

Nowadays I review a lot of code locally that was written by llms. I used to review my own code using git + delta. It started to feel limiting with the amount of code written by llms.

When looking at a large diff on Friday I pointed an llm at diffs.com and trees.software and told it to build an app. It only took 16 minutes, is extremely fast for large diffs, beautiful and minimal.

Today I polished it up and added all the features that I need. It has file filters, search, an llm walkthrough mode, and review comments that you can paste back into your llm.

I will be using Codiff a lot, and can finally review the large diff from Friday that led me to build this If you like it, fork it!

magnio 3 months ago

Is diff viewer the 2026 todo list?

List of vibe coded alternatives:

- revdiff: https://github.com/umputun/revdiff

- hunk: https://github.com/modem-dev/hunk

- diffnav: https://github.com/dlvhdr/diffnav

- diffx: https://github.com/wong2/diffx

- lumen: https://github.com/jnsahaj/lumen

  • cpojerOP 3 months ago

    4 of these are TUIs. I built Codiff specifically because TUI review became overwhelming to me. One of them is a web view, I prefer a native app window (it’s JS either way, ofc).

    Also, I never wasted time building todo apps. Now I can build apps that help me do my job that I wouldn’t have had the time for without AI.

    • bestouff 3 months ago

      Kids these days. Calling JS "native" makes my stomach ache, but apparently this is normal.

      • cpojerOP 3 months ago

        1. I’m older than you. 2. I said native app window, comparing it to a tool with a browser web ui.

        • bestouff 3 months ago

          1. Why are you saying that ? Looking at your LinkedIn I'd say you're in your 40s, so effectively younger, lucky you !

          2. Still, JS in the app window is not what I call native, but I won't fight over this

realrocker 3 months ago

:) We are all converging on the same problems and tooling to fix them.

Built this in the last couple days to review changes done by claude on a hetzner box(over tailscale on my phone) and leave comments before pushing to remote : https://github.com/livetemplate/prereview.

Runs everywhere and can has a claude skill: /prereview which starts a new instance for the current changes. Has a “Hand-off” button to signal claude to process the comments.

UI is responsive. I use it on my iphone with claude mobile app + /remote-control to leave comments before pushing.Still requires polish but core features work.

stephenr 3 months ago

Who knew that the killer task for LLMs would be "recreate existing things that exist without me mentioning them by name, based on a worse alternative as the example".

Kaleidoscope exists.

File Merge exists.

  • cpojerOP 3 months ago

    Codiff is faster and scales to larger commits than those.

    • stephenr 3 months ago

      You're seriously suggesting that an electron app you vibe coded in two days is more performant than native code that's been developed and improved and tweaked over literal decades?

      • cpojerOP 3 months ago

        Yes. It’s built on diffs.com and trees.software.

      • d3xt0r123 3 months ago

        there's a small directory tracking these — vibcod.dev. free to submit, each listing shows stack, models used, and a vibe-index score.

sjhalani7 3 months ago

That's awesome. Been reviewing code diffs on the IDE and it's been hard, so will check this out!

tcoff91 3 months ago

Can you include screenshots in your readme?

Also does it only work for staging and unstaged changes? I use jj so I need to be able to point it at commits since jj has no staging it just creates a new git commit snapshot every time you run any jj command.

usernametaken29 3 months ago

Surprisingly enough this has just a few features the JetBrains diff view is lacking, notably file search… good ideas

atmanactive 3 months ago

... for MacOS.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection