<?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: Ibrar Yunus</title>
    <description>The latest articles on DEV Community by Ibrar Yunus (@ibraryunus).</description>
    <link>https://dev.to/ibraryunus</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%2F4170503%2F29ad3e47-4358-4996-ad4b-4896eab02606.jpg</url>
      <title>DEV Community: Ibrar Yunus</title>
      <link>https://dev.to/ibraryunus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ibraryunus"/>
    <language>en</language>
    <item>
      <title>An agent that audits a GitHub repo and writes its CLAUDE.md</title>
      <dc:creator>Ibrar Yunus</dc:creator>
      <pubDate>Wed, 14 Oct 2026 11:57:14 +0000</pubDate>
      <link>https://dev.to/ibraryunus/an-agent-that-audits-a-github-repo-and-writes-its-claudemd-2pbp</link>
      <guid>https://dev.to/ibraryunus/an-agent-that-audits-a-github-repo-and-writes-its-claudemd-2pbp</guid>
      <description>&lt;p&gt;Your first day on an unfamiliar codebase goes on the same questions. What is this, how do I run it, what's going to bite me?&lt;/p&gt;

&lt;p&gt;An AI coding agent asks those questions every single session, and gets them wrong when nobody wrote the answers down.&lt;/p&gt;

&lt;p&gt;Groundwork does that first day in a couple of minutes. Point it at a GitHub repo and you get a plain-English technical audit and a ready-to-commit CLAUDE.md.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://groundwork-audit-iy.web.app" rel="noopener noreferrer"&gt;groundwork-audit-iy.web.app&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  An agent, not a summariser
&lt;/h2&gt;

&lt;p&gt;It doesn't dump the repo into a prompt. The model plans, then calls two tools against the GitHub API:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;list_tree&lt;/code&gt; to see the file tree, with lockfiles, binaries and build output filtered out&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;read_file&lt;/code&gt; to open the files that actually matter: manifests, entry points, CI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works within a step and file budget, and the only way out is &lt;code&gt;finish&lt;/code&gt;, which has to return both documents. No half-finished audits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two providers, one prompt
&lt;/h2&gt;

&lt;p&gt;One prompt and one tool schema drive both Anthropic and Google Gemini. You pick the provider and paste your own API key. Keys stay in your browser and only go to that provider.&lt;/p&gt;

&lt;p&gt;If you'd rather use the terminal, there's a Claude Code CLI that runs the same audit on a local checkout with no API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;React 19, Vite and TypeScript on Firebase Hosting&lt;/li&gt;
&lt;li&gt;The official Anthropic SDK in browser mode, with strict tool schemas and a cached system prompt&lt;/li&gt;
&lt;li&gt;Gemini through REST function calling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I made it
&lt;/h2&gt;

&lt;p&gt;Write down the first day on a codebase once, so no one, human or agent, has to rediscover it.&lt;/p&gt;

&lt;p&gt;Full write-up: &lt;a href="https://ibraryunus.com/work/groundwork/" rel="noopener noreferrer"&gt;ibraryunus.com/work/groundwork&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>claude</category>
      <category>github</category>
    </item>
  </channel>
</rss>
