Your coding agent greps. graphify hands it a map.

2 months ago

Your coding agent greps around your repo like it has never seen it before. graphify hands it a map instead. Point it at a folder and it reads your whole project into a graph you can query. It plugs into Claude Code, Cursor and Codex, and the newest build landed today.

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00Your coding agent greps. graphify hands it a map.
  2. 0:14Point it at a folder, get three files back
  3. 0:30Ask for the path instead of grepping for it
  4. 0:42It installs like a skill. It isn't one.
  5. 0:59Every edge tells you how much to trust it
  6. 1:14A parser builds it, not a model.
  7. 1:35The nudge became a block
  8. 1:55Two commands, then a slash command
  9. 2:09Query the map instead of grepping the repo.
Show transcript

Your coding agent greps. graphify hands it a map.

GitHub Trending · Ep 12 · Jul 18, 2026
Your project as a graph you can query.
Python MIT v0.9.19
Claude Code · Cursor · Codex · newest build landed today

Your coding agent greps around your repo like it has never seen it before. graphify hands it a map instead. Point it at a folder and it reads your whole project into a graph you can query. It plugs into Claude Code, Cursor and Codex, and the newest build landed today.

Point it at a folder, get three files back

A whole codebase drawn as a force-directed graph, nodes colored by community, with a communities panel listing the largest clusters
graph.html
click nodes, filter, search
GRAPH_REPORT.md
key concepts, surprising connections
graph.json
query it anytime without re-reading your files
Graphify-Labs/graphify — README

That tangle is one codebase. Every class, function and import is a node, clustered into the parts that actually belong together. And you get three files back. An interactive graph you click around in. A written report of what it found. And the whole graph as data you can query later.

Ask for the path instead of grepping for it

graphify path FastAPI ModelField printing a three-hop shortest path, with the same path lit up across the graph beside it
3 hops. Zero files opened.
docs/demo-path.svg

So you stop grepping for how two things connect and just ask for the path. FastAPI to ModelField. It walks you there, hop by hop, straight through the graph. Three hops. Zero files opened. That is the whole idea.

It installs like a skill. It isn't one.

136 markdown files
112 of them per-assistant skill templates
80 Python modules
under graphify/ — the extraction engine
150 test files
test_*.py across the tree
extractors/engine.py
231 KB in one file
1,886 nodes · 3,876 edges
141 communities
committed worked/rsl-siege-manager output · repo tree, Jul 18 2026

And this part is clever. It installs as a skill file for your assistant, so it reads like one more markdown drop. But those skill files sit right next to a real engine. Eighty Python modules and a hundred and fifty test files. The repo even commits the graph it built for a real codebase. Almost nineteen hundred nodes, clickable.

Every edge tells you how much to trust it

$ graphify explain "APIRouter"
Node: APIRouter
  Source:    routing.py L2210
  Community: 2
  Degree:    47

Connections (47):
  --> RequestValidationError [uses] [INFERRED]
  --> Dependant [uses] [INFERRED]
  --> .get() [method] [EXTRACTED]
  <-- __init__.py [imports] [EXTRACTED]
  ...
EXTRACTED · 1.0
found directly in the source
INFERRED
a reasonable inference, with a confidence score
0.95near-certain
0.85strong evidence
0.75reasonable
0.65weak (naming similarity only)
0.55speculative
AMBIGUOUS
flagged in the report for manual review
README · docs/how-it-works.md — Confidence tagging

And every connection tells you how much to trust it. Ask it to explain a node and each edge comes back tagged. Extracted means it found it in your source. Inferred means it was worked out by a model. And the inferred ones carry a score, from near certain down to speculative.

A parser builds it, not a model.

Pass 1 — Code structure (free, no API calls)
tree-sitter · classes, functions, imports, calls
Pass 2 — Video and audio (local, no API calls)
faster-whisper
Pass 3 — Docs, papers, images (Claude subagents, costs tokens)
the only pass that calls a model
"If a corpus contains only code files, Pass 3 is skipped entirely."
No embeddings needed. The graph structure is the similarity signal.
communities via Leiden (Traag et al. 2019)
docs/how-it-works.md

Here is why the code half of that graph is free. A parser builds it, not a model. Tree-sitter walks your source on your machine, pulling out classes, functions, imports and calls. The model pass only ever touches docs, papers and images. So a project that is only code skips that pass entirely and never needs an API key. No embeddings, no vector database.

The nudge became a block

v0.9.19 · Jul 18 2026
The installed Claude Code hook has always nudged the agent to run graphify query before reading raw files, but a nudge is advisory additionalContext the model routinely walks past mid-task.
graphify install --project --strict
Blocks the first raw source read of a session and redirects it to the graph, then reverts to the nudge.
opt-in Claude Code only fires once per session
Release v0.9.19

And here is what shipped today. Its polite nudge to check the graph first was something agents walked straight past mid task. So strict mode now blocks the agent's first raw file read of a session and redirects it to the graph, then steps back. It fires once per session, it is opt in, and it is Claude Code only, so it can never leave your agent stuck.

Two commands, then a slash command

uv tool install graphifyy     # or: pipx install graphifyy
graphify install              # register with your AI assistant
then, in your AI assistant:
/graphify .
graphifyy The PyPI package is graphifyy (double-y). Other graphify packages on PyPI are not affiliated. The CLI command is still graphify.
README — Official package
Python MIT v0.9.19
README — Install

Getting it is two commands. Install the CLI with uv, then run graphify install to register it with your assistant. Then in your assistant, type slash graphify dot. One thing to get right: the package is graphify with two y's on the end. It is on screen.

Query the map instead of grepping the repo.

graphify
github.com/Graphify-Labs/graphify
New repo tomorrow.

So if your agent burns its first minute rediscovering your repo every session, this is the map it could be reading instead. The link is on screen. New repo tomorrow.