Pixel vs code-graph-rag

A knowledge graph of a codebase in Memgraph, queried and edited in plain English through an LLM that writes the Cypher.

Updated

Short answer

code-graph-rag builds a knowledge graph in Memgraph with a vector store beside it, and an LLM turns a plain-English question into Cypher; its fixed graph tools need no LLM. It can also edit code and overlay runtime traces. Pixel needs no database, no Docker and no LLM key: one binary, one local index, your Git history.

Side by side

Not benchmarked. No figure: how Pixel and code-graph-rag work, side by side. Nothing on this page is a measurement.

MeasurePixelcode-graph-rag
Callers and calleesYesYes
Plain-English questionsSearch, pixel search-meaningAnswered through an LLM that writes Cypher
Edits codeRenames onlyYes
Services to runNoneMemgraph and Qdrant, in Docker
Git historyYes, with guarded Git writesNone documented

Where code-graph-rag wins

Plain-English questions turned into Cypher, code edits through the agent, runtime traces and data-flow checks.

How they differ

code-graph-rag parses code with tree-sitter (and compiler front ends for some languages) into Memgraph, with a vector store beside it, both started in Docker. A plain-English question goes to an LLM that writes the Cypher; its fixed tools (callers, callees, definitions) query the graph directly. It can also edit code and merge runtime traces into the graph. Pixel is one binary: its graph and search index live in .pixel/, and pixel who-calls, pixel impact or pixel search-meaning answer without a model.

Choosing

Use code-graph-rag when you want to ask the graph questions in plain English through an LLM, or have the tool edit code and follow runtime traces. Use Pixel when the agent should get callers, blast radius, task scope and Git history with no service to run and no key to configure.