GitNexus:讓 Codex 修改程式前先理解 Call Chain 與 Impact Analysis

前言

AI已經很會寫程式,但在大型專案中,真正的問題通常不是「不會寫」, 而是「不了解整個專案的上下文」。

例如:修改一個 API,Codex 需要知道 Endpoint 在哪裡、呼叫了哪些 Service、 Repository 是否共用、DTO 是否被前端使用,以及修改後可能影響哪些功能。

GitNexus 的目的,就是將 Repository 建立成 Code Knowledge Graph, 讓 Codex 在修改程式前,先查詢 Call Chain、相依關係與 Impact Analysis。

GitNexus 解決的問題

GitNexus 的價值不是多一個搜尋工具,而是讓 Codex 先理解程式關係。

適用情境

  • 大型 .NET 專案
  • API Contract 調整
  • Service 或 Repository 重構
  • Bug 影響範圍分析
  • 舊系統理解與維護
  • 跨模組修改

安裝

npm install -g gitnexus@latest
-- 設定Codex MCP
codex mcp add gitnexus -- npx -y gitnexus@latest mcp

進入專案建立索引

gitnexus analyze

第一次分析後,GitNexus 會建立 Code Knowledge Graph, 修改專案 AGENTS.md及建立skills,讓 Codex 依照專案規則工作。

本機檢視已分析過的 repo

npx gitnexus@latest serve

http://localhost:4747/


Prompt 範例

根據AGENTS.md的內容,它也會自行透過MCP 找index來找到所需的檔案。也可以依提示請它工作:
請先用 GitNexus 找出此 API 從 Endpoint 到 Database 的完整流程, 再整理修改步驟,不要直接修改程式。
請使用 GitNexus impact 分析這個 method 修改後會影響哪些呼叫端,
不要直接改程式。
修改前請先使用 GitNexus 查詢此功能的 call chain、被誰呼叫、
會影響哪些檔案,整理影響範圍後再提出修改方案。

AGENTS.md 建議

除了GitNexus產生的規則。

建議在 AGENTS.md 中加上一些最重要的工作規則即:

## GitNexus 使用規則

1. 修改 Controller、Service、Repository、DTO、Entity 前,先查 GitNexus Context / Impact。
2. 不得只依賴單一檔案或純文字搜尋判斷。
3. 修改前列出受影響檔案、Call Chain 與資料流。
4. 若索引過舊,先執行 gitnexus analyze。
5. 修改後執行必要的 build / test。

.gitignore 建議

通常不建議將 GitNexus 索引資料提交進 Repository。

.gitnexus/

結論

GitNexus 真正改變的不是搜尋方式,而是 AI 修改程式的工作流程。

它讓 Codex 在修改前先理解 Call Chain、相依關係與影響範圍, 特別適合大型 .NET 專案、舊系統維護、API Contract 調整與重構情境。

如果已經開始使用 Codex 協助開發,建議將「修改前先查 GitNexus Context / Impact」 寫入 AGENTS.md,讓 AI 的修改流程更穩定,也更接近真實工程團隊的開發習慣。

相關參考

https://vocus.cc/article/69d49b6afd89780001425a4f

https://github.com/abhigyanpatwari/GitNexus

這個網誌中的熱門文章

IIS 設定只允許特定IP進入

.Net Core Identity 無法登入

[TFS] 分支與合併