Should you try it?
Use a controlled trial if questions about callers, references, or dependencies routinely require you to piece together results from several files. Code-Graph-RAG's documented workflow builds those relationships into a graph, then uses Cypher queries to retrieve code for natural-language answers. Treat the returned files and symbols as evidence to inspect before accepting an answer or edit.
The current README documents embedded SQLite as the default graph backend, with Memgraph and Neo4j available as opt-in backends. That changes the setup decision: lacking Docker no longer rules out the documented default route. It does not change what our older sandbox run demonstrated.
What our sandbox established
Our run took place on October 13, 2026, at commit a982bcf, with full SHA a982bcffbe1a109a99d6c9bc56cfd527d939ded6. The recorded container used 3 CPUs, 8 GB RAM, and the Python 3.12 Bookworm uv image. Installation completed in 48 seconds and the build command completed in 30 seconds, both with exit code 0.
The test command exited 1. The attached stored parser summaries report 19 passed, 0 failed, 24 skipped, 200 errors, and total 219. These are recorded parser fields, not reconciled totals of unique tests. The skipped cases were not failures, and the zero failed field does not make a run with errors successful.
The raw footer says 19 passed, 24 skipped, and 200 errors in 107.52 seconds; the harness records 123 seconds for the test step. We retain both reporting boundaries rather than replacing one with the other. Named cases in the visible tail include Java flow, Java I/O, JavaScript/TypeScript environment, and JavaScript/TypeScript flow integration tests. They report failure to fetch the Docker server API version, ending with FileNotFoundError. That tail supports a Docker-connectivity explanation for those shown cases, not a diagnosis of every error in the stored summary.
Our harness records step status, exit code, wall-clock duration, parsed test counts, and log tails separately. The supplied testing methodology explains those distinctions and their limits. Its later description is provenance context, not evidence that this older run used today's procedure or that we executed anything again.
We did not validate a completed repository index, natural-language answer, MCP session, generated edit, runtime trace, or current SQLite deployment. The successful build command does not establish any of those outcomes. Pip-audit's recorded zero advisories also does not establish security or scan coverage.
Match setup instructions to the version
The README at the tested commit required Python 3.12+, Docker for Memgraph, cmake, and ripgrep. Its quick start began with the packaged Memgraph and Qdrant stack. That is the relevant documentation for interpreting our October run.
The current README instead documents an embedded SQLite graph file, Python 3.12+, and ripgrep. Memgraph and Neo4j are optional graph backends. It also documents a separate Memgraph setup using the memgraph extra and backend configuration. Do not mix that optional route with the default installation requirements.
Issue #386 contains useful historical discussion of embedded storage, but its open status does not override the current README's documented default. Likewise, release v0.0.720 is a historical release, not the identity of our tested commit or proof of the current installation path. Pin the version you intend to evaluate and use its matching documentation.
Check language depth and edit scope
The README describes Tree-sitter as the parsing backbone, with compiler frontends and runtime traces adding information where available. A compiler frontend covers what its toolchain can build; a trace covers code that actually ran. Neither establishes complete relationships throughout an arbitrary repository.
The current language list includes Julia among the fully supported languages, keeps Scala in development, and gives a separate structural tier for languages such as Ruby, Kotlin, Swift, and Bash. Choose representative questions from your own languages and check the answers against known call paths. Our sandbox did not measure graph precision or compare languages.
Editing is part of the documented product. The README describes AST-based patching with a diff preview and exposes querying and editing through MCP. Review proposed changes before applying them and give the process only the filesystem access it needs.
The shared graph also deserves care: the README warns that the cleanup flag deletes every project in that graph, rather than only the repository being updated. Check the selected graph and preserve any data you need before resetting it.
Alternatives depend on the job
Aider supports terminal pair programming and automatically commits changes to Git. Choose it when your main task is making and reviewing code changes through a Git workflow. That is a different decision from evaluating relationship queries; its supplied README does not establish it as a replacement for Code-Graph-RAG's graph backend. It can also serve a separate editing role alongside repository investigation, although we did not test an integration between them.
Continue's repository is read-only and no longer actively maintained. Its README describes a coding agent available through a CLI, VS Code extension, and JetBrains plugin, with a final 2.0.0 release. Consider it only if you specifically want to evaluate that existing codebase and accept its maintenance status. It is an alternative agent interface, not evidence of equivalent graph analysis.
How to read the scores
These are editorial ratings, not benchmark results. The scale runs from 1 for substantial barriers or little supporting evidence to 5 for the strongest documented support within a dimension. For setup, 2 means installation completed but the tested workflow faced service-related barriers. For documentation, 5 means the supplied README gives prerequisites, backend choices, language distinctions, and routes to task-specific guides; it does not certify every linked guide. For community, 4 reflects visible release and contributor activity in the supplied historical release extract, not measured adoption or response times. For maturity, 3 reflects a substantial documented feature set with language limitations and incomplete validation in our sandbox. The setup score concerns the tested commit, so it should not be read as a measurement of today's embedded default.

