GitNexus 在项目中的使用指南
目标:在真实项目里从 0 到 1 用 GitNexus 完成索引、查询、改动评估与安全交付。
介绍
GitNexus是代码智能分析工具,将代码库自动构建成交互式知识图谱,清晰呈现函数依赖、调用链与执行流程。通过MCP协议无缝接入Cursor、Claude Code等AI编程助手,让AI真正理解代码底层架构,彻底消除“盲目改代码”引发的连锁错误。所有索引均在本地完成,保障代码隐私安全
使用前准备
安装与版本确认
# 全局安装(推荐)
npm install -g gitnexus
gitnexus --version
如果 gitnexus 无法执行:
- 用
npx gitnexus --version验证 - 检查
npm config get prefix返回路径是否加入 PATH
先确认 npm 全局安装目录
在命令行执行:
npm config get prefix
它会返回类似:
C:\Users\zhangsan\AppData\Roaming\npm
把 npm 全局 bin 加入 PATH
把上面 npm config get prefix 返回路径加入系统环境变量 Path。
例如:
C:\Users\zhangsan\AppData\Roaming\npm
完成后重开终端,再执行:
gitnexus --version
1.4.10
首次环境配置(一次性)
# 自动配置 MCP(支持 Cursor/Claude/Codex 等)
gitnexus setup
GitNexus Setup
==============
Configured:
+ Cursor
+ Cursor skills (7 skills → ~/.cursor/skills/)
Skipped:
- Claude Code (not installed)
- OpenCode (not installed)
- Codex (not installed)
Summary:
MCP configured for: Cursor
Skills installed to: Cursor skills (7 skills → ~/.cursor/skills/)
Next steps:
1. cd into any git repo
2. Run: gitnexus analyze
3. Open the repo in your editor — MCP is ready!
在项目中建立索引
进入项目根目录
cd /path/to/your-repo
进行首次索引
gitnexus analyze
████████████████████████████████████████ 100% | Done
Repository indexed successfully (149.9s)
245 nodes | 455 edges | 11 clusters | 9 flows
LadybugDB 6.8s | FTS 141.2s | Embeddings off (use --embeddings to enable)
D:\project\blog.shpym.cn\saas\saas-shortener
Context: AGENTS.md (created), CLAUDE.md (created), .claude/skills/gitnexus/ (6 skills)
检查索引状态
gitnexus status
Repository: D:\project\blog.shpym.cn\saas\saas-shortener
Indexed: 2026/3/29 20:31:20
Indexed commit: ee15bcb
Current commit: ee15bcb
Status: ✅ up-to-date
强制重建索引(可选)
当仓库大改或索引异常时:
gitnexus analyze --force
在编辑器中使用(以 Cursor 为例)
以上配置完成之后,重启一下Cursor
验证 MCP 是否可用
- 在 Cursor 中提问一个代码问题。
- 观察是否自动调用 GitNexus 工具(
query/context/impact/detect_changes)。
判定“已成功使用工具”的标准:
1. 对话中出现 GitNexus 工具调用。
2. 返回结果包含结构化关系信息(如调用链、影响范围、流程分组、风险分级)。
3. 结论能落到具体符号/文件/流程,而不是泛化描述。
可直接复制的验证提示词:
请用 GitNexus query 查找与登录认证相关的入口函数,并按流程分组返回。
请用 GitNexus context 分析 validateUser 的上游调用者和下游依赖。
我准备修改 validateUser,请用 GitNexus impact 分析 upstream 影响范围并给出高风险点。
请用 GitNexus detect_changes(scope=all) 分析当前改动影响并生成测试清单。
万能提示词模板:
请优先使用 GitNexus MCP 工具完成分析,按 query -> context -> impact 顺序执行,并给出:
1) 关键符号
2) 影响范围
3) 风险等级
4) 回归测试建议
如果没有触发工具,可按下面顺序排查:
1. 先确认当前仓库已执行 `gitnexus analyze` 且 `gitnexus status` 正常。
2. 确认编辑器 MCP 已接入(必要时重新执行 `gitnexus setup` 并重启编辑器)。
3. 在提问里显式写“请使用 GitNexus query/context/impact 工具”。
4. 多仓库场景补充 repo 名,避免工具因仓库歧义不执行。
建议先用这一条“最低门槛验证提问”:
请使用 GitNexus query 工具,查询 auth/login 相关入口函数,并返回文件路径和函数名。
多仓库时加 repo 参数
当你索引了多个仓库,调用工具时建议加 repo:
query({ query: "auth", repo: "your-repo-name" })
提示词模板库(全部可复制)
A. 入门验证类(确认工具真的被调用)
请使用 GitNexus query 工具,查询 auth/login 相关入口函数,并返回:函数名、文件路径、所属流程。
请使用 GitNexus context 工具,分析 validateUser 的上游调用者和下游依赖,并按“直接依赖/间接依赖”分组输出。
B. 改动前分析类(最常用)
我准备修改 validateUser,请使用 GitNexus impact 工具做 upstream 分析,输出:
1) 受影响符号
2) 影响深度
3) 高风险调用点
4) 建议优先回归的流程
请按 query -> context -> impact 顺序分析“登录失败重试逻辑”,并给出最小改动方案与风险说明。
C. 提交前检查类
请使用 GitNexus detect_changes(scope=all) 分析我当前改动,输出:
1) 改动符号清单
2) 受影响流程
3) 风险等级(low/medium/high)
4) 对应测试清单
请基于本次改动生成 PR 风险摘要:变更范围、潜在回归点、建议测试项、可回滚策略。
D. 安全重构/改名类
请使用 GitNexus rename 对 validateUser -> verifyUser 进行 dry-run,输出:
1) 受影响文件
2) graph edits 与 text edits 区分
3) 需要人工复核的项目
我想拆分 UserService,请先用 impact 分析 blast radius,再给出分阶段重构计划(每阶段含验收标准)。
E. 多仓库协作类
请使用 GitNexus query 在 repo=api-service 中查找 auth 入口,并在 repo=admin-web 中查找调用该 API 的页面入口,最后给出端到端链路。
请在 repo=your-repo-name 中执行 context + impact,避免跨仓误判。输出时明确标注 repo 名称。
F. 排障定位类
我遇到“登录偶发 500”,请使用 GitNexus query -> context -> impact 分析可能故障链路,并按“最可能/次可能”给出排查顺序。
请围绕 createShortUrl 相关链路做上下游分析,输出可能导致超时的 3 个热点点位与验证步骤。
G. 架构学习类
请使用 GitNexus 工具给我解释本仓库认证链路:入口函数、关键服务、数据库交互点、缓存交互点。
请基于当前仓库生成“从请求进入到响应返回”的主流程说明,包含关键函数与文件路径。
H. 通用万能模板(建议收藏)
请优先使用 GitNexus MCP 工具完成分析,按 query -> context -> impact -> detect_changes 顺序执行,并输出:
1) 关键符号(含文件路径)
2) 影响范围(按深度)
3) 风险等级与原因
4) 最小改动建议
5) 回归测试清单
常用工作流(实战步骤)
定位入口(query)
目标:找到功能入口或核心符号。
query({ query: "login" })
关系全景(context)
目标:查看上下游依赖。
context({ name: "validateUser" })
影响面分析(impact)
目标:评估改动风险。
impact({ target: "validateUser", direction: "upstream" })
提交前影响评估(detect_changes)
目标:识别受影响流程,生成测试清单。
detect_changes({ scope: "all" })
安全改名(rename)
目标:跨文件安全重命名。
rename({ symbol_name: "validateUser", new_name: "verifyUser", dry_run: true })
推荐学习路线(项目内落地顺序)
- 完成
setup与analyze - 学会 query -> context -> impact 三步
- 学会 detect_changes 做预提交风险控制
- 在一次真实改动中使用 GitNexus 完成闭环
常见问题排查
命令不可用
- 用
npx gitnexus --version验证 - 检查 PATH 是否包含 npm 全局 bin
结果不完整
gitnexus status是否 stale- 需要时执行
gitnexus analyze --force
多仓串仓
- 工具调用时显式指定 repo 参数
最小可复现学习清单
- 完成一次
analyze - 完成一次
query - 完成一次
context - 完成一次
impact - 完成一次
detect_changes - 完成一次
rename dry_run