We built RepoBuddy at Hacktoberfest Hack Day: Graphify + Gemma 4 tell you where to start in any repo
Description and use
RepoBuddy speeds up newcomer onboarding by generating a code knowledge graph and answering “Where do I start?” with exact file paths, using Graphify and Gemma 4.
Problem
New contributors struggle to locate entry points in unfamiliar GitHub repositories.
Outcome
RepoBuddy reduces the first hour of repo exploration by providing a graph‑based answer to “Where do I start?” with accurate file paths, leveraging Graphify for graph construction and Gemma 4 for natural‑language responses.
Workflow
- Clone the repo shallowly with
git clone --depth 1via FastAPI server. - Generate a code‑only graph.json with
graphify extract . --code-onlyand cluster report withgraphify cluster-only. - For each question run
graphify query "<question>"to retrieve a relevant subgraph. - Send the subgraph and report to Gemma 4 with a prompt that restricts answers to the graph and real file paths.
- Return the model’s answer to the user.
Evidence
Paste a GitHub repo URL and ask "Where do I start?" RepoBuddy maps the repo into a code knowledge graph with Graphify, then has Gemma 4 answer from that graph.
Clone. The FastAPI server shallow-clones the repo (git clone --depth 1).
Map. graphify extract . --code-only builds graph.json with tree-sitter (no API cost), and graphify cluster-only adds a GRAPH_REPORT.md and an interactive graph.html.
Ask. For each question, graphify query "<question>" 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.
Concurrent maps share one build. Two people pasting the same repo used to race git clone, so we keep one asyncio.Task per repo and asyncio.shield it for every caller.
Model fallback. Gemma 4 runs on Ollama Cloud (gemma4:31b) 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.
- Record date: 2026-10-17T09:41:18.101Z