Skip to content

Graphify's Eight Agents for a Codebase Knowledge Graph

By Flowy · Updated 2026-08-28

Graphify is a Claude Code plugin that parses a codebase, its documentation, SQL schemas, configs, and PDFs into a local knowledge graph using deterministic AST parsing instead of a vector store. It ships 8 agents that load conditionally, for building, updating, querying with natural questions, and exporting the graph to formats like a wiki or Neo4j.

What is Graphify?

Graphify turns a codebase, along with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. Flowy indexes it from its public repository, safishamsi/graphify, which sits in the development category and carried 111,812 GitHub stars as of the last crawl. Flowy does not host or bundle the plugin itself, so both the source code and the real install command live at the listing page linked at the top of this guide. The plugin ships 8 components, all of them agents, and most of them stay unloaded by default: the project describes local, deterministic AST parsing rather than a vector store, with every edge in the resulting graph carrying an explanation for why it exists.

Graphify also works across more than one coding assistant (the repository names Claude Code, Cursor, Codex, and Gemini CLI), which may be why its eight agents read like a decision table rather than a fixed pipeline. Each one's own first line names the exact situation that has to be true before it gets loaded at all.

How does Graphify build a graph out of a codebase?

Three agents cover the build itself, and each is triggered by what the source material actually contains. github-and-merge is for the multi-source case: one or more GitHub repository URLs, or several local subfolders that all need to land in one merged graph, rather than a single local directory. extraction-spec only comes into play once parsing code alone is not enough, specifically the step where the corpus contains at least one document, paper, or image chunk; a source tree of nothing but code skips that step and never reads this file. It sets the exact prompt each semantic subagent works from, with the file list, chunk number, and mode for that particular pass filled in. transcribe is the narrowest of the three: it only loads once an earlier detection step reports video among the source files, so a corpus with no video in it never touches this agent either.

How do you ask a question against a graph that already exists?

That's query, the one agent in the set built for reading rather than building. It's what the plugin's core points to for the full traversal flow once a graph already exists, whether the question is a broad one or something narrower, like the shortest path between two symbols or why a specific edge is there at all. These flows use the graphify query CLI when it's available, and fall back to an inline NetworkX traversal when it isn't, so a question still gets answered either way.

How does a graph stay current after the first build?

Three agents handle everything past day one. update is for a second pass over a graph that already exists, whether that means a full refresh or reclustering alone, and a first-time build never reads it. add-watch covers adding a source after the fact, either a one-time addition or a standing watch on a URL for future changes, neither of which is part of the default build. hooks is the automation piece: wiring a post-commit hook into a repository, or wiring graphify itself into a project's AGENTS.md so other agents already know it is there.

What can a finished graph be turned into?

exports is the last of the eight, and it covers what happens once a graph is already built: a browsable wiki, a push into Neo4j or FalkorDB, a plain SVG or GraphML file, or an MCP server built on top of the graph itself. The same agent runs a token-reduction benchmark too, but only once a corpus is large enough for that comparison to mean anything. Every one of these steps runs only for the flag that asked for it, so a plain build never pays for output nobody requested.

Common questions

What does Graphify do?
Graphify parses a codebase, along with its documentation, SQL schemas, configs, and PDFs, into a knowledge graph that Claude Code, Cursor, Codex, or Gemini CLI can query directly. It uses local, deterministic AST parsing rather than a vector store, and the project describes every edge in the graph as carrying an explanation for why it exists.
Does Graphify use a vector store or embeddings?
No. The project describes local, deterministic AST parsing instead of a vector store, and says every edge in the resulting graph comes with an explanation for why it is there. That is presented as the alternative to a typical retrieval setup built on embeddings.
How many agents does the Graphify plugin have?
Flowy indexes 8 components for Graphify, all of them agents. Each one names, in its own first line, the exact situation that has to be true before it gets loaded, so a typical run only touches a few of the eight.
Can Graphify index documentation, PDFs, or SQL schemas, not just source code?
Yes. Its `extraction-spec` agent runs once a corpus contains at least one document, paper, or image chunk, since parsing code alone cannot cover that material. A source tree with nothing but code skips that step and never reads the file.
How does Graphify keep a graph up to date as a codebase changes?
Three agents cover that: `update` for a later pass over an existing graph without a full rebuild, `add-watch` for adding a new source or watching a URL for changes, and `hooks` for wiring a post-commit hook or a project's `AGENTS.md` into the setup.