DEV Community

PersonofNote
PersonofNote

Posted on

I'm Building Diffuse: A Second Pair of Eyes for AI-Generated Mega PRs

Hey folks! I’m building a dev tool called Diffuse, and I want to start sharing the journey. Do the whole "build in public" thing.

At its core, Diffuse is a Git tool designed to help developers quickly understand the downstream impact of a pull request in Typescript repos, especially the big, tangled ones that touch dozens or even hundreds of files.

Why? Because AI is already writing code. A lot of code.

AI PRs are Already Here, and They're Kinda Spaghetti
If you've worked in a modern codebase recently, you've probably already seen a single GitHub Copilot or ChatGPT-generated PR that renames a function across 100 files... or worse, refactors logic in subtle ways that make it look correct, but breaks functionality elsewhere.

These PRs can look clean. They might pass tests, follow lint rules, and sometimes get auto-approved or "LGTM"-ed out the door by a dev who's short on time. But they often carry hidden risk, especially when reviewers don't have time (or energy) to trace through dozens of affected files.

Claude 4 just refactored my entire codebase in one call.

25 tool invocations. 3,000+ new lines. 12 brand new files.

It modularized everything. Broke up monoliths. Cleaned up spaghetti.

None of it worked.
But boy was it beautiful. pic.twitter.com/wvmzh7IeAP

— vas (@vasumanmoza) May 25, 2025

This is only going to get more common as AI tooling becomes cheaper and more integrated into dev workflows.

Enter Diffuse

Diffuse gives you a quick summary of risky changes for your commits. It runs on the command line, or you can add a github workflow to have it comment on PRs. In the future, it could even block high-risk PRs from merging without a second approval, or require a senior reviewer — a safeguard against the dreaded “Friday afternoon LGTM.” (I've both caused and had my day ruined by that. Happens to the best of us.)

It detects:

  • Type safety: Changes to return types, props, or exports. It might work for this case, but it's fairly likely to break something somewhere else out of the current scope if not carefully vetted.

  • Graph-based impact: Widespread or critical usage across the codebase. If 47 files import a symbol, best tread very carefully when merging changes.

  • Large change: Symbol has been meaningfully changed (over 20% of lines changed). Maybe take a quick look if there's a huge change.

  • Missing test updates: Symbol has been meaningfully changed, but tests haven't been updated. Not a breaking change in and of itself, but signals tech debt and should be flagged.

You can override and customize the weights and what you want to see in the output to make it more useful for your team. Want more output? Run --verbose. Just want the risk score without any suggestions adding visual clutter? Run --no-suggestions.

Works locally with your repo and git history (no special setup needed)

Sample PR comment and CLI output:

PR comment screenshot

CLI terminal output screenshot

Why I’m Building This
I’ve worked in large, regulated codebases with strict review protocols, and fast-paced projects where AI-generated code flies in unchecked. In both cases, the need is the same:

Developers need better tools to quickly evaluate the impact of code changes, not just the code itself. Especially as output gets higher, faster.

What’s Next
If there's enough interest, I'll build out a Github app for cross-repo analysis. I think that'll be the most useful feature for this tool, but it requires more infrastructure, dev time, and org buy-in.

Other planned features:

  • Language support beyond Typescript
  • Hot file detection: Flags files that have been touched frequently in recent PRs — often a signal of instability or bugs
  • Performance optimizations for repeated runs

Right now I'm looking for feedback from devs reviewing lots of code, especially in fast-moving teams.

Is Diffuse helpful? Or just another contributor to information overload?

If you're someone who reviews big PRs often, or you've been burned by an AI refactor gone wrong, I'd love your feedback!

Drop a comment below,
Join the GitHub discussion,
Or send a carrier pigeon. (Whatever works for you.)

Try it out!

Thanks for reading — more soon!

— Jessie

Top comments (0)