<?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>PunamIDE — I Built a Full AI-Powered Desktop Code Editor From Scratch</title>
      <dc:creator>Amritanshu Amar</dc:creator>
      <pubDate>Fri, 10 Jul 2026 13:35:14 +0000</pubDate>
      <link>https://dev.to/amritanshu_amar/punamide-i-built-a-full-ai-powered-desktop-code-editor-from-scratch-2ch2</link>
      <guid>https://dev.to/amritanshu_amar/punamide-i-built-a-full-ai-powered-desktop-code-editor-from-scratch-2ch2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PunamIDE&lt;/strong&gt; is a fully native AI-powered desktop code editor built with Tauri 2, React 19, and Monaco Editor — the same editor engine that powers VS Code.&lt;/p&gt;

&lt;p&gt;This isn't a chat wrapper or a plugin. It's a complete IDE with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-provider AI&lt;/strong&gt; — 7 providers (Gemini, Anthropic, OpenAI, Groq, OpenRouter, Ollama, Mistral) with real-time cost tracking in USD and INR&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agentic tool-calling&lt;/strong&gt; — AI can autonomously read files, write code, apply patches, run commands, and iterate until the task is done&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent orchestration&lt;/strong&gt; — spawn specialized agents (implementation, test, security, architecture, refactor) running in parallel with strict permission boundaries&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical debt analyzer&lt;/strong&gt; — AST-powered analysis using Tree-sitter for JS, TS, Python, and Rust — dependency graphs, dead code detection, circular dep finder, coupling analyzer, debt scoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture engine&lt;/strong&gt; — define your own rules, validate every AI-proposed patch against them before it touches disk&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real PTY terminal&lt;/strong&gt; — actual shell via Rust's &lt;code&gt;portable-pty&lt;/code&gt;, not a fake simulation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full GitHub integration&lt;/strong&gt; — repos, issues, PRs, Actions, gists — all from inside the editor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local embeddings&lt;/strong&gt; — 100% offline semantic search via &lt;code&gt;@xenova/transformers&lt;/code&gt;, no API key needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inline autocomplete&lt;/strong&gt; — FIM / chat-fallback ghost text completion with per-model auto-detection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DAP debugger&lt;/strong&gt; — Debug Adapter Protocol via Rust backend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My goal was to build the IDE I always wanted — one where AI is deeply integrated at every layer, not bolted on as an afterthought, and where everything runs locally on your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/nBzn_IGueo4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;🌐 Website: &lt;a href="https://punamide.com" rel="noopener noreferrer"&gt;punamide.com&lt;/a&gt;&lt;br&gt;
📦 Download v2.1.2: &lt;a href="https://github.com/punamide/punamide-downloads/releases/tag/v2.1.2" rel="noopener noreferrer"&gt;github.com/punamide/punamide-downloads/releases/tag/v2.1.2&lt;/a&gt;&lt;br&gt;
💬 Discord: &lt;a href="https://discord.gg/PFp9KWY3eY" rel="noopener noreferrer"&gt;discord.gg/PFp9KWY3eY&lt;/a&gt;&lt;br&gt;
🐦 X: &lt;a href="https://x.com/PunamIDE" rel="noopener noreferrer"&gt;@PunamIDE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Interface&lt;/strong&gt;&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%2F8lmz1a5pk36e1pz1feat.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%2F8lmz1a5pk36e1pz1feat.png" alt="PunamIDE Main Interface" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Agent in Action&lt;/strong&gt;&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%2F9aow3ikmvlz84kneg6qh.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%2F9aow3ikmvlz84kneg6qh.png" alt="AI Agent" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Debt Dashboard&lt;/strong&gt;&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%2F7hgvwymnuf7ty8tela2c.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%2F7hgvwymnuf7ty8tela2c.png" alt="Technical Debt" width="800" height="1376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture Dependency Graph&lt;/strong&gt;&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%2F74dpqqpzryklv2wy6kih.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%2F74dpqqpzryklv2wy6kih.png" alt="Architecture Graph" width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Integration&lt;/strong&gt;&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%2Fvkv04ga101n8sx8j31ly.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%2Fvkv04ga101n8sx8j31ly.png" alt="GitHub Panel" width="800" height="1663"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debugger&lt;/strong&gt;&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%2F4lflvccs82ekx84jiult.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%2F4lflvccs82ekx84jiult.png" alt="Debugger" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snapshot Manager&lt;/strong&gt;&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%2Fss3w1u4w8ht98o8x3wj6.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%2Fss3w1u4w8ht98o8x3wj6.png" alt="Snapshots" width="800" height="1757"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BYOK — Bring Your Own Key&lt;/strong&gt;&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%2Fglzpvo0g49919k12vwue.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%2Fglzpvo0g49919k12vwue.png" alt="Providers" width="800" height="818"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mandaloriantrader" rel="noopener noreferrer"&gt;
        mandaloriantrader
      &lt;/a&gt; / &lt;a href="https://github.com/mandaloriantrader/PunamIDE" rel="noopener noreferrer"&gt;
        PunamIDE
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered native desktop code editor — Tauri 2, React 19, Monaco Editor. Multi-provider AI, agentic tool-calling, technical debt analysis, and full IDE features.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/logo.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Flogo.png" alt="PunamIDE Logo" width="120"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;PunamIDE v2.1.2&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;A native AI-powered code editor built with Tauri 2, React 19, and Monaco Editor.&lt;/strong&gt;&lt;br&gt;
Multi-provider AI, agentic tool-calling, technical debt analysis, and a full IDE experience — all running locally on your machine.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE/CHANGELOG.md" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d00da9660646962ca182b7f5360df63de91855e1acc34cd809b03519337c6e17/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d322e312e322d626c75653f7374796c653d666c61742d737175617265" alt="Version"&gt;&lt;/a&gt;
&lt;a href="https://github.com/mandaloriantrader/PunamIDE/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/422db9fd40f5831c765cf6530b6750c081b696bd18d904cf89554df98c676277/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e3f7374796c653d666c61742d737175617265" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://tauri.app" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f8380cd58d63dee3ff5a3f5d529e47549f58ca142b43c4fa6637cb6409c2c3b3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54617572692d322e31312d707572706c653f7374796c653d666c61742d737175617265266c6f676f3d7461757269" alt="Tauri"&gt;&lt;/a&gt;
&lt;a href="https://react.dev" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a962d1ad0186d4566ced4e7487194d351555cf037df609d5ac135808ef86268c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31392d3631444146423f7374796c653d666c61742d737175617265266c6f676f3d7265616374" alt="React"&gt;&lt;/a&gt;
&lt;a href="https://www.rust-lang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0b521fb59748d01a4b9860f47dcc9989ad9b26e10cb0f97b92276f1c477d2989/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f527573742d312e37372b2d6f72616e67653f7374796c653d666c61742d737175617265266c6f676f3d72757374" alt="Rust"&gt;&lt;/a&gt;
&lt;a href="https://www.typescriptlang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dda6f6c24bb2960c84c94ab3e81d125882f7c006011236ba88ff83911a560a79/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d362e302d3331373843363f7374796c653d666c61742d737175617265266c6f676f3d74797065736372697074" alt="TypeScript"&gt;&lt;/a&gt;
&lt;a href="https://microsoft.github.io/monaco-editor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/555382130b7c7589812f6bda917e4a10d06d0d8c2a1f4e370f22daf3d267549c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6f6e61636f5f456469746f722d302e35352d3030373844343f7374796c653d666c61742d737175617265" alt="Monaco"&gt;&lt;/a&gt;
&lt;a href="https://punamide.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/57bf65a17e4f1804fa58f182b7c2567d3332b26b5a14a1c6cd2a1093b4425478/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d57696e646f77732d3030373844343f7374796c653d666c61742d737175617265266c6f676f3d77696e646f7773" alt="Platform"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="https://github.com/punamide/punamide-downloads/releases/tag/v2.1.2" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a3a30c8c0d0964cbb09e7826906124ff854db577cedac16819bc91540b17e37f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f776e6c6f61642d76322e312e322d627269676874677265656e3f7374796c653d666c61742d737175617265266c6f676f3d77696e646f7773" alt="Download"&gt;&lt;/a&gt;
&lt;a href="https://punamide.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6ef9e0085f8bf67c00a27be7e787364708baee8a1606fb27e443c7cc7d736692/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f576562736974652d70756e616d6964652e636f6d2d626c75653f7374796c653d666c61742d737175617265266c6f676f3d676f6f676c656368726f6d65" alt="Website"&gt;&lt;/a&gt;
&lt;a href="https://discord.gg/PFp9KWY3eY" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d10c93e9d37fab11e917b026ed2587cf426bc120475a7bc93bad251a0bf7fcc2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d4a6f696e5f436f6d6d756e6974792d3538363546323f7374796c653d666c61742d737175617265266c6f676f3d646973636f7264" alt="Discord"&gt;&lt;/a&gt;
&lt;a href="https://x.com/PunamIDE" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c608fdf1133327346af59d5ec98c209ef6f23398703b76606ebc0066bd3c6d16/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d4050756e616d4944452d3030303030303f7374796c653d666c61742d737175617265266c6f676f3d78" alt="X"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#ai-providers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/834c27eb751e56df5337c1467781f4e6c6e7d6afd013e3c83a8be72b12ef2856/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41495f50726f7669646572732d372d627269676874677265656e3f7374796c653d666c61742d737175617265" alt="AI Providers"&gt;&lt;/a&gt;
&lt;a href="https://github.com/mandaloriantrader/PunamIDE#agent-tools" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/44334bb45e8138b158c67ee4bf4d612f7804ea368322e5b69b2341863476f59f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4167656e745f546f6f6c732d392d626c756576696f6c65743f7374796c653d666c61742d737175617265" alt="Agent Tools"&gt;&lt;/a&gt;
&lt;a href="https://github.com/mandaloriantrader/PunamIDE#project-structure" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/089be8f03fcd9044638ff39f5b49591befd7d009d1a8f101082d72f44a93fb08/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f55495f436f6d706f6e656e74732d37302532422d6666363962343f7374796c653d666c61742d737175617265" alt="Components"&gt;&lt;/a&gt;
&lt;a href="https://github.com/mandaloriantrader/PunamIDE#testing" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/71fc67ed48d75d4392b1b155448a252b01390f56e064f7c97845f9a5db2af11f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54657374732d5669746573745f2532425f666173742d2d636865636b2d79656c6c6f773f7374796c653d666c61742d737175617265" alt="Tests"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PunamIDE&lt;/strong&gt; is not just a chat wrapper around an AI — it's a full desktop IDE with a native Rust backend, real terminal, Git integration, GitHub management, DAP debugger, local embeddings, architecture analysis, and a multi-agent system that can autonomously read, write, and refactor your codebase.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table of Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#screenshots" rel="noopener noreferrer"&gt;Screenshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#quick-start" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#tech-stack" rel="noopener noreferrer"&gt;Tech Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#ai-providers" rel="noopener noreferrer"&gt;AI Providers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mandaloriantrader/PunamIDE#features" rel="noopener noreferrer"&gt;Features&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#ai-chat--agentic-system" rel="noopener noreferrer"&gt;AI Chat &amp;amp; Agentic System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#code-editor" rel="noopener noreferrer"&gt;Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#autocomplete" rel="noopener noreferrer"&gt;Autocomplete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#terminal" rel="noopener noreferrer"&gt;Terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#git--github" rel="noopener noreferrer"&gt;Git &amp;amp; GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#debugger" rel="noopener noreferrer"&gt;Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#technical-debt-analyzer" rel="noopener noreferrer"&gt;Technical Debt Analyzer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#architecture-analysis" rel="noopener noreferrer"&gt;Architecture Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#security-scanner" rel="noopener noreferrer"&gt;Security Scanner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#embeddings--rag" rel="noopener noreferrer"&gt;Embeddings &amp;amp; RAG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#cicd-integration" rel="noopener noreferrer"&gt;CI/CD Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#docker" rel="noopener noreferrer"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#mcp-support" rel="noopener noreferrer"&gt;MCP Support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#project-structure" rel="noopener noreferrer"&gt;Project Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#keyboard-shortcuts" rel="noopener noreferrer"&gt;Keyboard Shortcuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#configuration" rel="noopener noreferrer"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#testing" rel="noopener noreferrer"&gt;Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#build" rel="noopener noreferrer"&gt;Build&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#contributing" rel="noopener noreferrer"&gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mandaloriantrader/PunamIDE#license" rel="noopener noreferrer"&gt;License&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Screenshots&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Main Interface&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/new-images-to-replace-where-see-fits/punamIDE-homepage-with--editor.gif"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fnew-images-to-replace-where-see-fits%2FpunamIDE-homepage-with--editor.gif" alt="PunamIDE Main Interface"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;BYOK — Bring Your Own Key (Multi-Provider)&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/BYOK_providers.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2FBYOK_providers.png" alt="AI Providers"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Technical Debt Analysis&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/tech-debt-1.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Ftech-debt-1.png" alt="Technical Debt Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/tech-debt-2.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Ftech-debt-2.png" alt="Technical Debt — File Details"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/tech-debt-3.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Ftech-debt-3.png" alt="Technical Debt — Metrics"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Architecture &amp;amp; Dependency Graph&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/architectural_dependency_graph.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Farchitectural_dependency_graph.png" alt="Architectural Dependency Graph"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/architectural_grapk.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Farchitectural_grapk.png" alt="Architecture Graph View"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;GitHub Integration&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/mandaloriantrader/PunamIDE/media/screenshots/photos-of-features/github-integration.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmandaloriantrader%2FPunamIDE%2FHEAD%2Fmedia%2Fscreenshots%2Fphotos-of-features%2Fgithub-integration.png" alt="GitHub Panel"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Git Source&lt;/h3&gt;…&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mandaloriantrader/PunamIDE" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The stack:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Desktop shell&lt;/td&gt;
&lt;td&gt;Tauri 2 (Rust + WebView)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 19, TypeScript 6, Vite 8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editor&lt;/td&gt;
&lt;td&gt;Monaco Editor 0.55&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;State&lt;/td&gt;
&lt;td&gt;Zustand 5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Tailwind CSS v4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Rust — Tokio, git2, rusqlite, portable-pty&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI (local)&lt;/td&gt;
&lt;td&gt;@xenova/transformers (WebAssembly)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AST parsing&lt;/td&gt;
&lt;td&gt;web-tree-sitter (JS, TS, Python, Rust)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graph UI&lt;/td&gt;
&lt;td&gt;@xyflow/react&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing&lt;/td&gt;
&lt;td&gt;Vitest + fast-check (property-based)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The interesting technical decisions:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Multi-provider tool-calling without a framework&lt;/strong&gt;&lt;br&gt;
Each AI provider handles tool-calling differently. Anthropic has native tool-use, Gemini has function calling, but most OpenAI-compatible providers need a JSON fallback. I built separate tool loop implementations (&lt;code&gt;anthropicLoop&lt;/code&gt;, &lt;code&gt;geminiLoop&lt;/code&gt;, &lt;code&gt;openaiLoop&lt;/code&gt;, &lt;code&gt;jsonFallbackLoop&lt;/code&gt;) that share a common interface — the agent code never knows which provider it's talking to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Agent safety layers&lt;/strong&gt;&lt;br&gt;
Before any AI-proposed file write lands on disk it goes through: architecture rule validation → security scan → user approval gate. The &lt;code&gt;AgentApplyGuard&lt;/code&gt; is the final checkpoint. Even a fully autonomous agent can't violate your architectural rules or introduce known vulnerability patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Local embeddings with zero API cost&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;@xenova/transformers&lt;/code&gt; runs entirely in the browser via WebAssembly. The embedding generator runs in a Web Worker so it never blocks the UI. Combined with a Rust-side embedding pipeline for batch processing, semantic search over the codebase costs nothing and works fully offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Technical debt analysis via Tree-sitter&lt;/strong&gt;&lt;br&gt;
Instead of sending code to an API, everything runs locally. Tree-sitter parses JS/TS/Python/Rust into ASTs. The debt analyzer Web Worker extracts metrics, builds dependency graphs, detects cycles, measures coupling — all off the main thread. Results appear in seconds even on large codebases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Context management&lt;/strong&gt;&lt;br&gt;
One of the hardest problems in coding AI is fitting the right context into a limited token window. I built a &lt;code&gt;ContextAssembler&lt;/code&gt; that pulls from open files, git diff, LSP diagnostics, and symbol index, then a &lt;code&gt;ContextCompressor&lt;/code&gt; that smart-truncates while preserving the most relevant sections. The context sidebar shows exactly what's going into each AI request.&lt;/p&gt;

&lt;p&gt;This project is the thing I'm most passionate about. Every feature exists because I hit a real limitation in existing tools and decided to build past it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Best Use of Google AI&lt;/strong&gt; — PunamIDE has deep native integration with Google Gemini (2.5 Pro, 2.5 Flash, 2.5 Flash-Lite, 2.0 Flash) including streaming, vision input, native function calling for agentic tool loops, and per-model cost tracking in USD and INR. Gemini is the recommended default provider for new users due to its generous free tier and strong coding performance.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <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>
