Code-Graph-RAG用Tree-sitter解析多语言代码库,在Memgraph中构建知识图谱,支持用自然语言查询、编辑和优化代码,新增Ruby支持和AST模式匹配替换功能。
Code-Graph-RAG 使用 Tree-sitter 解析多语言代码库,在 Memgraph 中构建其结构知识图谱,并允许你用纯英文对代码进行查询、编辑和优化。它可以在单一统一图谱schema下跨越包含多种语言的 monorepo 工作。

Ruby 支持:Ruby 通过新的可插拔 ast-grep 层加入图谱,只需一个 YAML pattern 文件即可添加语言,发射 Module、Function 和 Class 节点以及 import 边,无需手写 parser。
结构化搜索与替换:使用 ast-grep 按 AST pattern 查找和重写代码,并将其暴露为 agent 工具,让你可以跨整个代码库匹配和转换结构,而不必依赖文本或正则。
数据流追踪:新的 FLOWS_TO 污点边追踪值在赋值、函数调用和 I/O sink 中的流转,覆盖 C#、Java、C 和 Go。
完整历史见 NEWS.md。
将 Code-Graph-RAG 指向一个仓库,它会读取每个源文件,提取函数、类、方法、模块及其之间的关系,并将结果存储为互联图谱。一旦图谱存在,你就可以:
用自然语言询问代码库问题,获得基于真实结构的答案。
通过名称或意图检索任何函数、类或方法的实际源码。
通过 agent 进行编辑,使用基于 AST 的精确修补,并在任何变更前预览 diff。
针对语言最佳实践或你自己的编码规范优化代码。
通过从入口点遍历调用边和引用边找到死代码。
使用 ast-grep 按 AST pattern 进行结构化搜索和重写。
系统有两个组件:
多语言解析器。基于 Tree-sitter 的解析器读取代码库,将函数、类、方法、模块及其关系摄入到 Memgraph 中,使用单一语言无关的 schema。
RAG 系统(codebase_rag/)。一个交互式 CLI,将自然语言转换为 Cypher 查询,检索匹配的代码,并驱动 AI 驱动的编辑和优化。
Source Code -> Tree-sitter Parser -> AST Analysis -> Memgraph Knowledge Graph
|
User Query -> AI Model (Cypher Gen) -> Cypher Query -> Graph Results -> Response
完整架构见 Architecture Overview 和 Graph Schema。
Python、TypeScript、TSX、JavaScript、Rust、Go、Java、C、C++、C#、PHP、Lua 和 Dart 已获完整支持。Scala 正在开发中,Ruby 通过可插拔 ast-grep 层提供结构化支持(模块、函数、类和 imports)。各语言能力见 Language Support matrix。
cgr 已发布到 PyPI。使用 treesitter-full(所有语言)和 semantic(向量搜索)extras 系统级安装:
# with uv (recommended)
uv tool install "code-graph-rag[treesitter-full,semantic]"
# or with pipx
pipx install "code-graph-rag[treesitter-full,semantic]"
你还需要 Docker(用于 Memgraph)、cmake 和 ripgrep。完整前置条件、源码安装和环境设置见 Installation guide。
# Start the packaged Memgraph + Qdrant stack (no compose file needed)
cgr daemon up
# Parse a repository into the graph, then query it
cgr start --repo-path /path/to/repo --update-graph
cgr start --repo-path /path/to/repo
为每个要索引的仓库重复第一条命令;图谱是共享的,同步一个项目不会影响其他项目。若要从空图谱重新开始,添加 --clean——它会删除共享图谱中的每个项目,而不仅仅是这一个,当其他项目将被销毁时会先请求确认。
Quick Start guide 带你用五分钟走完解析、查询和导出的流程。
Code-Graph-RAG 作为 MCP server 运行,Claude Code 和其他 MCP 客户端可以直接查询和编辑你的代码库。见 MCP Server guide 了解设置。
Code-Graph-RAG 是开源且免费使用的。针对需要更多的组织,我们提供完全托管的云托管解决方案和本地部署:
云托管部署:为图数据库和 AI agent 连接提供托管云基础设施。零基础设施负担,我们处理扩展、更新和可用性,让你的团队专注于构建。
本地及气隙部署:在你自己的环境内完全部署 Code-Graph-RAG,包括气隙网络。为受监管行业和安全敏感组织提供完整数据主权。
我们还提供定制开发、集成咨询、技术支持合同和团队培训。
在 code-graph-rag.com 查看计划与定价。
贡献指南见 CONTRIBUTING.md。好的首个 PR 来自 TODO issues。
如有问题或疑问,先查阅 Troubleshooting guide,再开 issue。