<?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: Om Senjalia</title>
    <description>The latest articles on DEV Community by Om Senjalia (@omsenjalia).</description>
    <link>https://dev.to/omsenjalia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Om Senjalia</title>
      <link>https://dev.to/omsenjalia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/omsenjalia"/>
    <language>en</language>
    <item>
      <title>RepoBuddy: Paste a GitHub Repo, Get Your First Contribution in Minutes (Gemma 4 + Graphify)</title>
      <dc:creator>Om Senjalia</dc:creator>
      <pubDate>Sun, 18 Oct 2026 07:50:11 +0000</pubDate>
      <link>https://dev.to/omsenjalia/repobuddy-paste-a-github-repo-get-your-first-contribution-in-minutes-gemma-4-graphify-264j</link>
      <guid>https://dev.to/omsenjalia/repobuddy-paste-a-github-repo-get-your-first-contribution-in-minutes-gemma-4-graphify-264j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge: Week 2&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;RepoBuddy&lt;/strong&gt; turns an unfamiliar GitHub repo into something you can ask questions of.&lt;/p&gt;

&lt;p&gt;Paste a repo URL. RepoBuddy shallow-clones it, maps it into a knowledge graph with &lt;a href="https://github.com/Graphify-Labs/graphify" rel="noopener noreferrer"&gt;Graphify&lt;/a&gt;, and lets you ask &lt;strong&gt;Gemma 4&lt;/strong&gt; things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;"Where do I start?"&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;"Explain the architecture"&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;"Suggest a good first contribution"&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The answers name real files, because Gemma only sees the slice of the graph that matters for your question, not a guess about what the repo probably looks like. You can also explore the interactive graph yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who would pay for it?&lt;/strong&gt; Anyone whose time costs more than a subscription:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Freelancers and agencies&lt;/strong&gt; inheriting a client codebase. The first day on a new repo is usually unbillable archaeology. RepoBuddy makes it an hour.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small dev teams&lt;/strong&gt; onboarding a new hire or contractor, without a senior dev spending a week pointing at folders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-source maintainers&lt;/strong&gt; who want newcomers to land a good first PR without answering the same "where do I start?" question twenty times.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The problem is the same for all of them: reading code is slow, and generic chatbots answer about a repo they have never seen.&lt;/p&gt;

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

&lt;p&gt;🔗 &lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://repobuddy.pages.dev" rel="noopener noreferrer"&gt;repobuddy.pages.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste any public GitHub repo, wait for it to map, then hit one of the preset questions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Heads up: the API runs on a free Render instance, so the first request after it's been idle can take 30–60 seconds to wake up.&lt;/p&gt;
&lt;/blockquote&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/omsenjalia" rel="noopener noreferrer"&gt;
        omsenjalia
      &lt;/a&gt; / &lt;a href="https://github.com/omsenjalia/repobuddy" rel="noopener noreferrer"&gt;
        repobuddy
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Paste a GitHub repo, Graphify maps it, Gemma 4 tells you where to start contributing
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🧭 RepoBuddy&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Paste a GitHub repo → &lt;strong&gt;Graphify&lt;/strong&gt; maps it into a knowledge graph → &lt;strong&gt;Gemma 4&lt;/strong&gt; tells you where to start, how it's built, and what to contribute first.&lt;/p&gt;
&lt;p&gt;Built at Hacktoberfest Hack Day Vadodara × NavraCommunity (17 Oct 2026).&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Built with&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 4&lt;/strong&gt; (open-weight) via the Gemini API, with &lt;strong&gt;Ollama Cloud&lt;/strong&gt; (&lt;code&gt;gemma4:31b&lt;/code&gt;) as fallback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/Graphify-Labs/graphify" rel="noopener noreferrer"&gt;Graphify&lt;/a&gt;&lt;/strong&gt; (OSS) for repository mapping and graph queries&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; static site and &lt;strong&gt;Pages Functions&lt;/strong&gt; on Cloudflare Pages, and a &lt;strong&gt;FastAPI&lt;/strong&gt; server on Render&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;RepoBuddy has two backends; the website picks one at build time with &lt;code&gt;NEXT_PUBLIC_BACKEND&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Server (default).&lt;/strong&gt; The FastAPI app in &lt;code&gt;server/&lt;/code&gt; shallow-clones any public repo, runs &lt;code&gt;graphify extract&lt;/code&gt; locally (tree-sitter, no API cost), answers from &lt;code&gt;graphify query&lt;/code&gt; subgraphs with Gemma 4, and serves the interactive graph. It needs &lt;code&gt;git&lt;/code&gt; and real processes, so it runs on Render (or any VPS), while the website is static on…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/omsenjalia/repobuddy" 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;RepoBuddy has three parts:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
  U[Browser&amp;lt;br/&amp;gt;Next.js on Cloudflare Pages] --&amp;gt;|repo URL| M[/map]
  M --&amp;gt; C[git clone --depth 1]
  C --&amp;gt; G[graphify extract&amp;lt;br/&amp;gt;tree-sitter, local]
  U --&amp;gt;|question| A[/ask]
  A --&amp;gt; Q[graphify query&amp;lt;br/&amp;gt;relevant subgraph]
  Q --&amp;gt; L[Gemma 4&amp;lt;br/&amp;gt;gemma4:31b on Ollama Cloud]
  L --&amp;gt; U
  subgraph FastAPI on Render
    M
    C
    G
    A
    Q
  end&lt;/code&gt;&lt;/pre&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Mapping (Graphify, open source).&lt;/strong&gt; The FastAPI server shallow-clones the repo and runs &lt;code&gt;graphify extract&lt;/code&gt;. That's tree-sitter parsing, done locally, with no API cost. You get a graph of files, functions, imports and calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval (Graphify again).&lt;/strong&gt; For each question, &lt;code&gt;graphify query&lt;/code&gt; pulls out only the relevant subgraph. That keeps the prompt small and grounded, so Gemma talks about files that actually exist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answering (Gemma 4, open weights).&lt;/strong&gt; The subgraph and the question go to Gemma 4 (&lt;code&gt;gemma4:31b&lt;/code&gt; on Ollama Cloud by default). The Gemini API is supported too, as an opt-in, with Ollama as the fallback, so one provider having a bad day doesn't take the app down.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The website is a static Next.js export on Cloudflare Pages. The API needs &lt;code&gt;git&lt;/code&gt; and real processes, so it runs as a Docker service on Render from a one-file &lt;code&gt;render.yaml&lt;/code&gt; blueprint.&lt;/p&gt;

&lt;p&gt;I built it in a day at &lt;strong&gt;Hacktoberfest Hack Day Vadodara × NavraCommunity&lt;/strong&gt; (17 Oct). It started as a Streamlit prototype and became Next.js + FastAPI once I wanted it deployed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For RepoBuddy, open isn't a nice-to-have. It's what makes the business work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The expensive part costs nothing.&lt;/strong&gt; Graphify maps the repo locally with tree-sitter. No embedding API, no per-file token bill. Only the final, small, graph-scoped prompt touches a model. That's the difference between a tool you can sell for a few dollars a month and one that loses money on every large repo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private code can stay private.&lt;/strong&gt; Gemma 4 is open-weight. A team that won't send proprietary code to a third-party API can run the same model on their own machine or VPC with Ollama, and RepoBuddy works the same way. A closed API can't offer that.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No lock-in.&lt;/strong&gt; Swapping models is an environment variable (&lt;code&gt;OLLAMA_MODEL&lt;/code&gt;, &lt;code&gt;GEMMA_MODEL&lt;/code&gt;). If pricing changes or a better open model ships, I switch without rewriting anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The graph beats a bigger context window.&lt;/strong&gt; Because Graphify gives structured relationships (who calls what, what imports what), a mid-sized open model answers "what breaks if I change this?" well. I don't need the biggest closed model to brute-force a whole repo into context.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma.&lt;/strong&gt; Gemma 4 answers every question in RepoBuddy, grounded in the Graphify subgraph, and the model name is shown in the UI with each answer.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Built solo · MIT licensed · Built with &lt;a href="https://github.com/Graphify-Labs/graphify" rel="noopener noreferrer"&gt;Graphify&lt;/a&gt;, &lt;a href="https://ai.google.dev/gemma" rel="noopener noreferrer"&gt;Gemma 4&lt;/a&gt;, Next.js, FastAPI, Cloudflare Pages and Render.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>We built RepoBuddy at Hacktoberfest Hack Day: Graphify + Gemma 4 tell you where to start in any repo</title>
      <dc:creator>Om Senjalia</dc:creator>
      <pubDate>Sat, 17 Oct 2026 09:01:59 +0000</pubDate>
      <link>https://dev.to/omsenjalia/we-built-repobuddy-at-hacktoberfest-hack-day-graphify-gemma-4-tell-you-where-to-start-in-any-repo-38g6</link>
      <guid>https://dev.to/omsenjalia/we-built-repobuddy-at-hacktoberfest-hack-day-graphify-gemma-4-tell-you-where-to-start-in-any-repo-38g6</guid>
      <description>&lt;p&gt;Every Hacktoberfest the hard part isn't writing the pull request. It's opening a repo you've never seen and figuring out where anything lives. At Hacktoberfest Hack Day Vadodara × NavraCommunity, our team (Omkumar Vaghela, Soham Kanakhara and I) built &lt;strong&gt;RepoBuddy&lt;/strong&gt; to make that first hour shorter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it:&lt;/strong&gt; &lt;a href="https://repobuddy.pages.dev/" rel="noopener noreferrer"&gt;https://repobuddy.pages.dev/&lt;/a&gt; · &lt;strong&gt;Code (MIT):&lt;/strong&gt; &lt;a href="https://github.com/omsenjalia/repobuddy" rel="noopener noreferrer"&gt;https://github.com/omsenjalia/repobuddy&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Paste a GitHub repo URL and ask "Where do I start?" RepoBuddy maps the repo into a code knowledge graph with &lt;a href="https://github.com/Graphify-Labs/graphify" rel="noopener noreferrer"&gt;Graphify&lt;/a&gt;, then has &lt;strong&gt;Gemma 4&lt;/strong&gt; answer from that graph. Because the model only sees the graph, its answers name real files and symbols instead of guessing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clone.&lt;/strong&gt; The FastAPI server shallow-clones the repo (&lt;code&gt;git clone --depth 1&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map.&lt;/strong&gt; &lt;code&gt;graphify extract . --code-only&lt;/code&gt; builds &lt;code&gt;graph.json&lt;/code&gt; with tree-sitter (no API cost), and &lt;code&gt;graphify cluster-only&lt;/code&gt; adds a &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt; and an interactive &lt;code&gt;graph.html&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask.&lt;/strong&gt; For each question, &lt;code&gt;graphify query "&amp;lt;question&amp;gt;"&lt;/code&gt; returns just the relevant subgraph. That subgraph plus the report go to Gemma 4 with one rule: answer only from the graph and always name file paths.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here's the core of &lt;code&gt;/ask&lt;/code&gt;, trimmed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;subgraph&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;graphify&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cwd&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;CommandError&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="c1"&gt;# 4 means no node matched (broad questions); answer from the report alone.
&lt;/span&gt;        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;HTTPException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;subgraph&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;No nodes matched this question.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;You are RepoBuddy, helping a first-time open-source contributor.
Answer using ONLY the code knowledge graph below. Always name real file paths.
If the graph doesn&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;t contain the answer, say so.
&amp;lt;graph_report&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;report&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;30000&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;/graph_report&amp;gt;
&amp;lt;relevant_subgraph&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;subgraph&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;30000&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;/relevant_subgraph&amp;gt;
Question: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two details that saved us during the day:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Concurrent maps share one build.&lt;/strong&gt; Two people pasting the same repo used to race &lt;code&gt;git clone&lt;/code&gt;, so we keep one &lt;code&gt;asyncio.Task&lt;/code&gt; per repo and &lt;code&gt;asyncio.shield&lt;/code&gt; it for every caller.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model fallback.&lt;/strong&gt; Gemma 4 runs on Ollama Cloud (&lt;code&gt;gemma4:31b&lt;/code&gt;) by default. If you opt into the Gemini API instead and it fails, RepoBuddy falls back to Ollama, and when both fail the error names both causes, so a missing key is obvious.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website:&lt;/strong&gt; a static Next.js site on Cloudflare Pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API:&lt;/strong&gt; FastAPI on Render, because cloning and running &lt;code&gt;graphify&lt;/code&gt; needs &lt;code&gt;git&lt;/code&gt; and real processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beta "cloud" mode:&lt;/strong&gt; Pages Functions query Graphify Cloud's hosted MCP directly, so the whole thing runs on Cloudflare (for repos indexed in the admin's Graphify workspace).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we'd do differently
&lt;/h2&gt;

&lt;p&gt;Render's free disk is wiped on restart, so a mapped repo can disappear between questions. Right now the client just re-maps and retries. Caching &lt;code&gt;graph.json&lt;/code&gt; somewhere persistent would make that instant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Mir Mursalin Ankur's &lt;a href="https://dev.to/mir_mursalin_ankur/graphify-code-review-graph-build-a-self-updating-knowledge-graph-for-claude-code-and-other-ai-j1m"&gt;Graphify + code-review-graph&lt;/a&gt; covers using a Graphify graph to keep an AI coding agent within its context window, the same problem RepoBuddy works around.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/lanternproton/visualize-your-ai-written-code-as-an-interactive-knowledge-graph-28ic"&gt;Visualize Your AI-Written Code as an Interactive Knowledge Graph&lt;/a&gt; by lanternproton is a good look at a different tool on the same idea.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Built with help from Claude Code. Feedback and PRs welcome!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>ai</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
