<?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: Amritanshu Amar</title>
    <description>The latest articles on DEV Community by Amritanshu Amar (@amritanshu_amar).</description>
    <link>https://dev.to/amritanshu_amar</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%2F3988185%2Faa31d60e-69dd-40c3-849d-64a32d3377f8.png</url>
      <title>DEV Community: Amritanshu Amar</title>
      <link>https://dev.to/amritanshu_amar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amritanshu_amar"/>
    <language>en</language>
    <item>
      <title>I Built an AST-Based Technical Debt Analyzer Because Existing Tools Only Tell Me *What*, Not *Why*</title>
      <dc:creator>Amritanshu Amar</dc:creator>
      <pubDate>Mon, 29 Jun 2026 07:38:50 +0000</pubDate>
      <link>https://dev.to/amritanshu_amar/-i-built-an-ast-based-technical-debt-analyzer-because-existing-tools-only-tell-me-what-not-6n0</link>
      <guid>https://dev.to/amritanshu_amar/-i-built-an-ast-based-technical-debt-analyzer-because-existing-tools-only-tell-me-what-not-6n0</guid>
      <description>&lt;p&gt;Most code quality tools are really good at finding individual problems.&lt;/p&gt;

&lt;p&gt;They'll tell you about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dead code&lt;/li&gt;
&lt;li&gt;Unused dependencies&lt;/li&gt;
&lt;li&gt;Complex functions&lt;/li&gt;
&lt;li&gt;Large files&lt;/li&gt;
&lt;li&gt;Style violations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are all useful, and I use many of these tools myself.&lt;/p&gt;

&lt;p&gt;But after working on larger codebases, I realized something was missing.&lt;/p&gt;

&lt;p&gt;They tell me &lt;strong&gt;what&lt;/strong&gt; is wrong.&lt;/p&gt;

&lt;p&gt;Very few tools explain &lt;strong&gt;why&lt;/strong&gt; a codebase is slowly becoming harder to maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Imagine opening a project and seeing this:&lt;/p&gt;

&lt;p&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%2F7iju49ue36k6ube7q957.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%2F7iju49ue36k6ube7q957.png" alt=" " width="514" height="884"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The analyzer tells you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;180 dead code locations&lt;/li&gt;
&lt;li&gt;47 oversized functions&lt;/li&gt;
&lt;li&gt;12 dependency hotspots&lt;/li&gt;
&lt;li&gt;4 circular dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's useful.&lt;/p&gt;

&lt;p&gt;But as a developer, my next question is always:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Why are these problems appearing?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Looking Beyond Individual Warnings
&lt;/h2&gt;

&lt;p&gt;Technical debt isn't just about a long function.&lt;/p&gt;

&lt;p&gt;Sometimes the real issue is structural.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One module becomes the dependency hub for the entire application.&lt;/li&gt;
&lt;li&gt;Features that should be independent slowly become tightly coupled.&lt;/li&gt;
&lt;li&gt;A single file grows because every new feature lands there.&lt;/li&gt;
&lt;li&gt;Circular dependencies appear between modules that were originally separate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those patterns are difficult to notice by reading files individually.&lt;/p&gt;

&lt;p&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%2Fd2whvk3jsahqsbmqh4qs.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%2Fd2whvk3jsahqsbmqh4qs.png" alt=" " width="505" height="860"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Chose AST Analysis
&lt;/h2&gt;

&lt;p&gt;Instead of searching source code with regular expressions, I parse the project into an Abstract Syntax Tree (AST).&lt;/p&gt;

&lt;p&gt;That allows the analyzer to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Modules&lt;/li&gt;
&lt;li&gt;Imports&lt;/li&gt;
&lt;li&gt;Calls&lt;/li&gt;
&lt;li&gt;Type definitions&lt;/li&gt;
&lt;li&gt;Relationships between files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than treating files as plain text.&lt;/p&gt;

&lt;p&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%2Fgy39sraufh7egb6dc2lg.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%2Fgy39sraufh7egb6dc2lg.png" alt=" " width="510" height="679"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Analyzer Looks For
&lt;/h2&gt;

&lt;p&gt;The current implementation detects patterns such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dead code&lt;/li&gt;
&lt;li&gt;Oversized functions&lt;/li&gt;
&lt;li&gt;Dependency hotspots&lt;/li&gt;
&lt;li&gt;Circular dependencies&lt;/li&gt;
&lt;li&gt;Complexity hotspots&lt;/li&gt;
&lt;li&gt;Structural relationships across the project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of reporting isolated warnings, it tries to build a picture of the overall architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Existing Tools Are Still Great
&lt;/h2&gt;

&lt;p&gt;This isn't meant to replace tools like Clippy, cargo-udeps, or SonarQube.&lt;/p&gt;

&lt;p&gt;Those tools solve different problems extremely well.&lt;/p&gt;

&lt;p&gt;My goal is different.&lt;/p&gt;

&lt;p&gt;I want to answer questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why does this module keep growing?&lt;/li&gt;
&lt;li&gt;Why does every feature touch the same files?&lt;/li&gt;
&lt;li&gt;Which parts of the architecture are becoming bottlenecks?&lt;/li&gt;
&lt;li&gt;Where is technical debt accumulating before it becomes obvious?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building It
&lt;/h2&gt;

&lt;p&gt;The analyzer is written in Rust and is currently part of &lt;strong&gt;PunamIDE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The most interesting challenge hasn't been parsing Rust syntax.&lt;/p&gt;

&lt;p&gt;It's been deciding which structural metrics actually represent technical debt rather than simply producing more warnings.&lt;/p&gt;

&lt;p&gt;Finding the right balance between useful insight and information overload is much harder than building another linter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;I'm continuing to experiment with additional architectural metrics and improving how results are visualized.&lt;/p&gt;

&lt;p&gt;I'd also love to hear from other developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you think about technical debt, what patterns do you wish your tools detected automatically?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Built an AI IDE That Creates Automatic Safety Snapshots Before Every Change</title>
      <dc:creator>Amritanshu Amar</dc:creator>
      <pubDate>Fri, 19 Jun 2026 10:01:23 +0000</pubDate>
      <link>https://dev.to/amritanshu_amar/i-built-an-ai-ide-that-creates-automatic-safety-snapshots-before-every-change-1677</link>
      <guid>https://dev.to/amritanshu_amar/i-built-an-ai-ide-that-creates-automatic-safety-snapshots-before-every-change-1677</guid>
      <description>&lt;p&gt;Why I Started Building PunamIDE&lt;/p&gt;

&lt;p&gt;I noticed a common problem while working with AI coding assistants.&lt;/p&gt;

&lt;p&gt;AI can generate code incredibly fast, but one bad edit can break an entire project.&lt;/p&gt;

&lt;p&gt;Most developers either:&lt;/p&gt;

&lt;p&gt;Trust the AI completely&lt;br&gt;
Keep making manual backups&lt;br&gt;
Depend on Git commits for every small experiment&lt;/p&gt;

&lt;p&gt;None of these felt ideal.&lt;/p&gt;

&lt;p&gt;So I started building PunamIDE.&lt;/p&gt;

&lt;p&gt;What Is PunamIDE?&lt;/p&gt;

&lt;p&gt;PunamIDE is an AI-first development environment focused on safe autonomous coding.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Let AI move fast without risking your project.&lt;/p&gt;

&lt;p&gt;One Feature That Surprised Me&lt;/p&gt;

&lt;p&gt;Today I watched Punam SafeCode automatically create a snapshot before an AI agent modified files.&lt;/p&gt;

&lt;p&gt;I wasn't even thinking about backups.&lt;/p&gt;

&lt;p&gt;The snapshot happened silently in the background.&lt;/p&gt;

&lt;p&gt;When I noticed it, I realized:&lt;/p&gt;

&lt;p&gt;The IDE was protecting the codebase before anything could go wrong.&lt;/p&gt;

&lt;p&gt;Current Features&lt;br&gt;
AI-powered development workflow&lt;br&gt;
Automatic code snapshots&lt;br&gt;
SafeCode protection layer&lt;br&gt;
Workspace management&lt;br&gt;
Multi-agent development experiments&lt;br&gt;
Local-first development&lt;br&gt;
What I'm Building Next&lt;/p&gt;

&lt;p&gt;My roadmap includes:&lt;/p&gt;

&lt;p&gt;Autonomous coding agents&lt;br&gt;
Visual project architecture&lt;br&gt;
Project memory&lt;br&gt;
AI-assisted debugging&lt;br&gt;
AI workspace operating system concepts&lt;br&gt;
Looking for Feedback&lt;/p&gt;

&lt;p&gt;I'm still actively building PunamIDE.&lt;/p&gt;

&lt;p&gt;What features would you want in an AI-native IDE?&lt;/p&gt;

&lt;p&gt;I'd love feedback from developers who use:&lt;/p&gt;

&lt;p&gt;VS Code&lt;br&gt;
Cursor&lt;br&gt;
Windsurf&lt;br&gt;
Cline&lt;br&gt;
Claude Code&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%2Fr3fkji3bwknxj81ewydi.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%2Fr3fkji3bwknxj81ewydi.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>vscode</category>
    </item>
    <item>
      <title>I built a safety-first AI IDE in Tauri/Rust – local, free, $0 (7 months solo)</title>
      <dc:creator>Amritanshu Amar</dc:creator>
      <pubDate>Wed, 17 Jun 2026 03:48:25 +0000</pubDate>
      <link>https://dev.to/amritanshu_amar/i-built-a-cursor-alternative-in-taurirust-safety-first-local-free-7-months-solo-32i2</link>
      <guid>https://dev.to/amritanshu_amar/i-built-a-cursor-alternative-in-taurirust-safety-first-local-free-7-months-solo-32i2</guid>
      <description>&lt;p&gt;Yesterday, Cursor was acquired by SpaceX for $60 billion.&lt;/p&gt;

&lt;p&gt;I've been building a free, local-first AI IDE for 7 months. Alone.&lt;br&gt;
No VC money. No team. No MIT network.&lt;/p&gt;

&lt;p&gt;This is that story.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built PunamIDE
&lt;/h2&gt;

&lt;p&gt;Most AI IDEs are built around one idea: code faster.&lt;/p&gt;

&lt;p&gt;PunamIDE is built around a different idea: don't let AI break &lt;br&gt;
your codebase.&lt;/p&gt;

&lt;p&gt;After watching AI agents silently overwrite files, ignore merge &lt;br&gt;
conflicts, run dangerous shell commands, and hallucinate &lt;br&gt;
architecture decisions — I wanted an IDE where AI is powerful &lt;br&gt;
but never unsupervised.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes it different
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Native Snapshots&lt;/strong&gt; — Before any AI edit, you can snapshot your &lt;br&gt;
project. Named reasons: "Before AI Edit", "Before Refactor", &lt;br&gt;
"Before Debugger". node_modules and dist are automatically &lt;br&gt;
excluded. One click to restore.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AgentApplyGuard&lt;/strong&gt; — Every change an AI agent proposes goes &lt;br&gt;
through validation before touching your code. You see exactly &lt;br&gt;
what changes, what files, what risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture Rules Engine&lt;/strong&gt; — A visual drag-and-drop interface &lt;br&gt;
where you define layer constraints. "services CANNOT import from &lt;br&gt;
ui". The IDE enforces it. No more AI casually breaking your &lt;br&gt;
architectural boundaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Debt Intelligence&lt;/strong&gt; — AST-based analysis using &lt;br&gt;
Tree-sitter. Cyclomatic complexity scoring, god class detection, &lt;br&gt;
dependency cycle detection, refactor queue with time estimates. &lt;br&gt;
Built in. No plugins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3-way merge&lt;/strong&gt; — AI can never silently overwrite your edits. &lt;br&gt;
Conflict markers are generated. You stay in control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$0 to run&lt;/strong&gt; — Supports Gemini, Groq, OpenRouter, Ollama. &lt;br&gt;
All free tiers. No subscription. No cloud lock-in. &lt;br&gt;
Everything runs locally.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;p&gt;Built on Tauri 2 + Rust + React 19 + TypeScript. &lt;br&gt;
The binary is ~15MB. Electron apps are ~200MB.&lt;/p&gt;

&lt;p&gt;Rust handles everything heavy: filesystem, git, LSP, DAP, &lt;br&gt;
PTY, AI API calls, indexing, snapshots, security validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The name
&lt;/h2&gt;

&lt;p&gt;Punam means "full moon" in Hindi.&lt;/p&gt;

&lt;p&gt;I named it after my late mother.&lt;/p&gt;

&lt;p&gt;She taught me that real work is done with care, not shortcuts.&lt;br&gt;
That's what I tried to build — an IDE that doesn't cut corners &lt;br&gt;
on your safety.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it is today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Windows alpha (v2.0.0 released)&lt;/li&gt;
&lt;li&gt;105 Rust backend tests passing&lt;/li&gt;
&lt;li&gt;60+ UI components&lt;/li&gt;
&lt;li&gt;LSP, DAP debugger, Git, GitHub integration, Docker panel, 
CI/CD monitoring, RAG workbench, multi-agent orchestration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm looking for 5-10 developers willing to try it and give &lt;br&gt;
honest feedback. Not looking for hype — looking for real usage.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://punamide.com" rel="noopener noreferrer"&gt;https://punamide.com&lt;/a&gt;&lt;br&gt;
Download: &lt;a href="https://github.com/punamide/punamide-downloads/releases" rel="noopener noreferrer"&gt;https://github.com/punamide/punamide-downloads/releases&lt;/a&gt;&lt;br&gt;
Discord: &lt;a href="https://discord.gg/PFp9KWY3eY" rel="noopener noreferrer"&gt;https://discord.gg/PFp9KWY3eY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you try it — thank you. Every piece of feedback matters.&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.amazonaws.com%2Fuploads%2Farticles%2Fsgql2gjygwlgwhopqjlz.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.amazonaws.com%2Fuploads%2Farticles%2Fsgql2gjygwlgwhopqjlz.png" alt=" " width="799" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>tauri</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
