Skip to content

DiffHacker v1.0.0

Choose a tag to compare

@C-Coretex C-Coretex released this 12 Sep 06:25
· 5 commits to main since this release
2dcefed

DiffHacker v1.0.0

Review large Git changes as a map, not a file list.

This is the first release. The app is self-contained.

DiffHacker takes the uncommitted changes in a local repository and
has an LLM explain it as a diagram: which files belong together, where to start reading, how
each part leads to the next, and what could go wrong.

Highlights

One diagram of the whole change

Related files are grouped into clusters; unrelated changes land in separate ones. Inside a
cluster, the file to start from sits on top with its consequences below it. Solid lines are
real code dependencies; dashed lines are connections of intent — a migration and the endpoint
that relies on it, say — that no import graph would show. Every changed file appears on the
diagram; nothing is summarised away.

Every box explains itself

Click a file for what changed, why, what it affects, and its risks — risks always sit in
their own column, apart from the explanation. Click a line for how two files relate, or a
cluster's title bar for what the cluster is about. Everything was written during analysis, so
opening a card costs nothing further.

Read the code without losing your place

Double-click a box to open its diff beside the diagram, explanation still visible underneath.
Previous/Next follow the recommended reading order, "Where to go next" follows the lines, and
Mark Reviewed keeps count so a 300-file review is something you can actually finish. Open a
file in VS Code, Visual Studio, or your own editor in one click.

Two ways to group the same change

Dependency Flow keeps each chain of change whole, even where it crosses the database, the API
and the UI. Change Clusters groups by theme instead. Both come from the same analysis run, so
switching between them is instant and free — no re-analysis.

Watch it work, stay in control of the cost

Watch an analysis while it runs: the model's own progress messages, each tool call it makes,
running tokens/cost, and context usage — with the ability to stop at any time. Turn off the
parts you don't need (risks, explanations, the second grouping) and choose how much it writes.
Runs pause and ask before exceeding the budgets you set. The last 20 runs per repository are
kept, and reopening one is free.

It knows when it's out of date

Edit a file after an analysis ran and a banner lists exactly what changed since. Undo the edit
and the analysis is current again — freshness is measured by content hash, not by timestamp.

Bring your own model

OpenAI, Anthropic, Google Gemini, Grok (xAI), DeepSeek, or any OpenAI-compatible endpoint,
including a model served on your own machine. You pay the provider directly for what each run
uses; API keys are encrypted with your OS's own secret store and never leave the host process.

Use the toolbox from your own agent

The same read-only repository toolbox (search, read, diff, tree, metadata) that DiffHacker
gives its own analysis is also available to any MCP client over stdio via diffhacker-mcp.

Also in this release

  • Repository profile — an optional, reusable summary of the repo generated once so later
    analyses start from more context.
  • Built-in help & user guide — a 15-step walkthrough with screenshots, reachable from any
    screen, plus a generated docs/user-guide.md.
  • Run library — history of past analyses per repository, with a tool-call inspector for
    what happened during a run.
  • Data management — a Clean Data option in Settings to remove locally stored analyses and
    cached data.
  • Responsive diagram & diff review — a resizable diff viewer and filtering the diagram by
    project/module.

What it will never do

  • Never modifies your repository — no commits, staging, checkouts, or edits. The only
    exception is an optional documentation export, which previews every file and writes only on
    confirmation.
  • Sends portions of your source code only to the LLM provider you configure, and only what the
    model actually asks to read — never a bulk dump of the diff. Files that usually hold secrets
    (.env, private keys, .npmrc, etc.) are listed but never opened.
  • No telemetry beyond opt-in crash reports; nothing about your repository content is ever
    collected.

Requirements

  • git on your PATH
  • An API key for a supported LLM provider
  • A local repository with uncommitted changes to review