CodeGraph

名称、版本与用途

  • 名称:CodeGraph
  • 当前版本:1.4.1
  • npm 包:@colbymchenry/codegraph
  • 实际入口:当前 fnm Node 安装中的 npm 全局 shim
  • 用途:使用 tree-sitter 和 SQLite 为代码库建立符号、调用关系和影响范围索引,供 CLI 和 MCP 客户端查询。

基本语法(Synopsis)

codegraph <COMMAND> [ARGS]

[] 表示可选项,... 表示可重复;大写名称表示需要替换的参数。

当前安装与更新

当前通过 npm 全局安装在 fnm 管理的 Node 24.14.1 中:

npm list -g --depth=0
codegraph version

优先使用 CodeGraph 自带更新命令:

codegraph upgrade

若需要按当前安装来源重装:

npm install -g @colbymchenry/codegraph@latest

切换 fnm Node 版本后,全局 npm 包集合可能不同,应再次运行 command -v codegraph。

配置与数据

  • Codex MCP 配置:~/.codex/config.toml 中的 [mcp_servers.codegraph]
  • Codex 指令:~/.codex/AGENTS.md 中的 CodeGraph 说明块
  • 项目索引:项目根目录的 .codegraph/
  • 用户状态:~/.codegraph/

当前 home 的 ~/.codegraph/ 只有 daemon、telemetry 和更新检查状态。 codegraph status 显示 home 尚未初始化为项目索引。

基本功能与推荐用法

codegraph init .                         # 为项目建立初始索引
codegraph status .                       # 查看索引状态
codegraph sync .                         # 同步代码变化
codegraph explore "认证流程"             # 源码和调用路径
codegraph node UserRepository            # 查看符号及关系
codegraph impact UserRepository          # 变更影响
codegraph affected                       # 受变更影响的测试
codegraph files                          # 索引中的文件结构

推荐:

  • 只在确实需要索引的仓库根目录执行 codegraph init。
  • 有 .codegraph/ 时,代码理解优先使用 explore,再做文本搜索。
  • 索引明显过期时先 sync,结构性异常时才完整 index。
  • .codegraph/ 是派生索引;是否提交到 Git 应遵循项目约定。

示例中的选项、参数与子命令

本表解释本页示例实际出现的选项、参数、子命令及必要的辅助命令语法。

语法元素含义
version显示当前版本。
upgrade升级 CodeGraph。
init PATH为 PATH 初始化索引。
status PATH显示指定项目的索引状态。
sync PATH同步指定项目的索引。
explore QUERY按问题或符号探索代码和调用关系。
node SYMBOL查看指定符号节点。
impact SYMBOL分析修改符号可能影响的范围。
affected查看当前改动影响的符号。
files列出索引中的文件。
.当前目录。
npm list -g --depth=0列出全局 npm 包,并把依赖树深度限制为 0。
npm install -g PACKAGE把 PACKAGE 全局安装到当前 Node.js 环境。

官方资料