<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Agrajeet Verma</title>
    <description>The latest articles on DEV Community by Agrajeet Verma (@agrajeetverma).</description>
    <link>https://dev.to/agrajeetverma</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057306%2F0c17f02b-37b7-434d-869a-34af3b9f3ca5.png</url>
      <title>DEV Community: Agrajeet Verma</title>
      <link>https://dev.to/agrajeetverma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agrajeetverma"/>
    <language>en</language>
    <item>
      <title>Why I Built an Open-Source AST Code Scanner to Insure My AI-Generated Code</title>
      <dc:creator>Agrajeet Verma</dc:creator>
      <pubDate>Sat, 01 Aug 2026 00:03:14 +0000</pubDate>
      <link>https://dev.to/agrajeetverma/why-i-built-an-open-source-ast-code-scanner-to-insure-my-ai-generated-code-7pn</link>
      <guid>https://dev.to/agrajeetverma/why-i-built-an-open-source-ast-code-scanner-to-insure-my-ai-generated-code-7pn</guid>
      <description>&lt;p&gt;I Built RippleCheck — A Local-First Safety Layer for AI-Generated Code&lt;/p&gt;

&lt;p&gt;AI coding assistants have fundamentally changed how we write software. Refactoring that once took an hour can now be completed in seconds.&lt;/p&gt;

&lt;p&gt;But there’s a catch.&lt;/p&gt;

&lt;p&gt;An AI assistant may successfully modify the file you asked it to change while unintentionally breaking functionality somewhere else in the project. The code compiles, the diff looks reasonable, and the issue often isn’t discovered until much later.&lt;/p&gt;

&lt;p&gt;After encountering these “silent regressions” repeatedly, I decided to build RippleCheck—a free, local-first safety layer designed to help developers understand the impact of AI-generated code changes before they become production problems.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;The Problem: Code Changes Without Impact Visibility&lt;/p&gt;

&lt;p&gt;Modern AI coding tools excel at generating and refactoring code, but they generally don’t answer one critical question:&lt;/p&gt;

&lt;p&gt;“What else will this change affect?”&lt;/p&gt;

&lt;p&gt;Traditional workflows have limitations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git diff shows what changed, but not the downstream impact across the project.&lt;/li&gt;
&lt;li&gt;LLMs provide educated guesses, but they don’t perform deterministic dependency analysis.&lt;/li&gt;
&lt;li&gt;Tests aren’t always enough, especially when edge cases or less frequently used code paths aren’t covered.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a class of bugs that are easy to introduce and difficult to trace.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Introducing RippleCheck&lt;/p&gt;

&lt;p&gt;RippleCheck approaches the problem differently.&lt;/p&gt;

&lt;p&gt;Rather than relying on prompts or heuristics, it performs Abstract Syntax Tree (AST) analysis using ts-morph to build a precise dependency graph of your project.&lt;/p&gt;

&lt;p&gt;It tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imports and exports&lt;/li&gt;
&lt;li&gt;Function and method references&lt;/li&gt;
&lt;li&gt;Component relationships&lt;/li&gt;
&lt;li&gt;Cross-file dependencies&lt;/li&gt;
&lt;li&gt;Symbol usage throughout the codebase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When an AI assistant modifies a symbol, RippleCheck immediately identifies every location that may be affected.&lt;/p&gt;

&lt;p&gt;$ npx ripplecheck-mcp&lt;br&gt;
✓ MCP Server started&lt;br&gt;
✓ Connected to Claude Code / Cursor&lt;br&gt;
⚠ Impact detected: src/auth/login.ts&lt;br&gt;
validateSession() was removed.&lt;br&gt;
Affected files:&lt;br&gt;
• src/middleware/auth.ts&lt;br&gt;
• src/api/user.ts&lt;br&gt;
• src/hooks/useSession.ts&lt;/p&gt;

&lt;p&gt;Instead of discovering these issues after deployment, developers receive immediate visibility into the potential blast radius.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;AI Repair Prompts Instead of Automatic Code Changes&lt;/p&gt;

&lt;p&gt;One design decision was intentional from the beginning:&lt;/p&gt;

&lt;p&gt;RippleCheck never edits your code automatically.&lt;/p&gt;

&lt;p&gt;Several people suggested adding one-click auto-fixes, but I deliberately avoided that approach.&lt;/p&gt;

&lt;p&gt;Automatically modifying code based on dependency analysis introduces another layer of automation—and another opportunity for unintended behavior.&lt;/p&gt;

&lt;p&gt;Instead, RippleCheck generates an AI Repair Prompt containing the exact context required to fix the issue. You remain in control while your preferred AI assistant receives significantly better information to produce an accurate solution.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Two Ways to Use RippleCheck&lt;/p&gt;

&lt;p&gt;RippleCheck is designed to integrate into existing development workflows.&lt;/p&gt;

&lt;p&gt;MCP Server&lt;/p&gt;

&lt;p&gt;Run RippleCheck alongside AI coding assistants such as Claude Code, Cursor, or any MCP-compatible client.&lt;/p&gt;

&lt;p&gt;npx ripplecheck-mcp&lt;/p&gt;

&lt;p&gt;Desktop Application&lt;/p&gt;

&lt;p&gt;For developers who prefer a graphical interface, the desktop application continuously indexes your local project and visualizes dependency relationships in real time.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Privacy by Design&lt;/p&gt;

&lt;p&gt;Developer tools should respect developer privacy.&lt;/p&gt;

&lt;p&gt;RippleCheck follows a simple philosophy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;100% local analysis&lt;/li&gt;
&lt;li&gt;Zero telemetry&lt;/li&gt;
&lt;li&gt;No source code uploads&lt;/li&gt;
&lt;li&gt;No background tracking&lt;/li&gt;
&lt;li&gt;Bring your own API key (only if you choose to generate AI summaries)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your code never leaves your machine unless you explicitly decide otherwise.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Open Source and Free&lt;/p&gt;

&lt;p&gt;RippleCheck is released under the MIT License and is completely free to use.&lt;/p&gt;

&lt;p&gt;The goal isn’t to replace AI coding assistants.&lt;/p&gt;

&lt;p&gt;The goal is to make them safer.&lt;/p&gt;

&lt;p&gt;As AI becomes an increasingly important part of software development, understanding the consequences of generated code will become just as important as generating the code itself.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;I’d Love Your Feedback&lt;/p&gt;

&lt;p&gt;I’m actively improving RippleCheck and would genuinely appreciate feedback from developers working with AI-assisted workflows.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://ripplecheck.io" rel="noopener noreferrer"&gt;https://ripplecheck.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/RippleCheck" rel="noopener noreferrer"&gt;https://github.com/RippleCheck&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you currently verify AI-generated changes before merging them?&lt;/p&gt;

&lt;p&gt;Do you rely on tests, manual review, or another workflow?&lt;/p&gt;

&lt;p&gt;I’d love to hear how your team approaches this problem.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwpkwzdb9lvks5z9w0t80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwpkwzdb9lvks5z9w0t80.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>vibecoding</category>
      <category>ats</category>
    </item>
  </channel>
</rss>
