Skip to content

RAGRAF documentation

A graph-and-vector knowledge base of code for LLM agents. RAGRAF indexes a repository into three SQLite stores inside the indexed project — a symbol and call graph, an FTS5 lexicon with vectors, and a revision and drift ledger — and answers an agent's questions through a fixed set of 38 operations (40 tools over MCP). Every answer carries a path:line reference and its provenance, so a fact can be checked instead of believed.

This site renders the documentation that ships in the repository. Nothing here is written twice: if a page below diverges from the code, that is a defect — the project's defect register treats a doc↔code divergence the same way it treats a wrong answer.

Where else the project lives

Where What is there
ragraf.ru the public website: capabilities, measured benchmarks, an emulator of the admin panel
GitHub repository source, README (English and Russian), releases, issues, roadmap
Wiki 15 task-oriented pages: getting started, CLI, MCP, CPG, troubleshooting, FAQ
Discussions questions, ideas, and measurements on your own corpus

Start here

I want to… Read
Understand what the product is and how it was measured What this is and why in the README
Install it README → Installation
Understand the architecture and the store schemas Principles and components
Check the requirements and the acceptance criteria Specification · Acceptance and measurements
Attach the index to an agent over MCP Attaching to an agent
Turn on the code-property-graph layer (Joern, JDK) Code property graph
Work with the index as an agent: operations, recovery Skill overview · operations · repair
Read the long-form account of the design RAGRAF article
See what is known to be broken, with evidence Defect register
Read the Russian originals Русская документация

The contract this documentation is held to

  • A fact without a reference is a guess. Claims carry a file:line, a command with its output, or a measurement artifact under bench/results/.
  • Numbers are checked against the code, not against earlier prose: the facade declares 38 op_* operations and the MCP server 40 ragraf_* tools in the published revision.
  • Degradation is named, never silent. When the Joern layer is absent the answer says capability=degraded and explains which operation is unavailable — the documentation says the same thing in the CPG page.

Found a page that disagrees with the code? That is one of the most welcome reports in this project — see CONTRIBUTING and open an issue with the Doc divergence template.