---
# System prepended metadata

title: codegraph
tags: [AI Coding]

---

# codegraph

官方連結：https://github.com/colbymchenry/codegraph

## 說明

這主要的功能是提供 `agent` 一個預索引的程式碼知識圖譜，對使用 `claude code`、`codex` 這類工具來說，就是查找的速度更快，更精準，同時需要耗費的 `token` 數量也就會相對減少，宣傳來看效果好像不錯，實務就看個人體感。

類似的產品還有：https://github.com/abhigyanpatwari/GitNexus

## 安裝

```shell
npx @colbymchenry/codegraph
```

安裝過程中就會自動去檢測你所安裝的相關開發工具：
![image](https://hackmd.io/_uploads/BkYU91VgMx.png)

選定你要的配置之後就可以直接安裝，

安裝之後需要重啟你的開發工具，然後執行：
```
codegraph init -i
```

沒意外的話，執行之後會看到一個資料夾 `.codegraph`：
![image](https://hackmd.io/_uploads/HkXm-eEezx.png)

因為我的安裝是全域安裝，所以過程中就會直接把相關提示詞寫入 `~/.claude/CLAUDE.md`。

## 實際使用

我在我的專案執行之後下去測試，確實 `claude code` 的思考過程中有出現 `codegraph` 的查找：
![image](https://hackmd.io/_uploads/HJr-B-Vlfg.png)

而且跟平常還要 `grep`、`find` 相比，效率似乎真的快了不少，一下子就可以成功定位，看起來是一個值得安裝的工具。

## 其它指令

CodeGraph CLI 命令用途說明，以下由 `deepseek` 提供

### 安裝與設定類

| 命令 | 用途 |
|------|------|
| `codegraph` | 執行互動式安裝程式，引導你完成 CodeGraph 的安裝與設定 |
| `codegraph install` | 明確執行安裝程式，將 CodeGraph 設定到你的 AI 助手（Claude Code、Cursor 等） |
| `codegraph uninstall` | 從你的 AI 助手中移除 CodeGraph 的所有設定（與 `install` 互為反向操作） |

### 專案初始化與管理

| 命令 | 用途 |
|------|------|
| `codegraph init [path]` | 在指定路徑的專案中初始化 CodeGraph（加上 `--index` 可同時建立索引） |
| `codegraph uninit [path]` | 從專案中移除 CodeGraph 的設定（加上 `--force` 可略過確認提示） |

### 索引操作

| 命令 | 用途 |
|------|------|
| `codegraph index [path]` | 完整建立或重建專案的程式碼索引（`--force` 強制重建，`--quiet` 減少輸出） |
| `codegraph sync [path]` | 執行增量更新，只重新索引變更過的檔案 |
| `codegraph status [path]` | 顯示索引狀態與統計資料（如節點數、邊數、最後同步時間） |

### 符號查詢

| 命令 | 用途 |
|------|------|
| `codegraph query <search>` | 依名稱搜尋符號（函數、類別、變數等），支援 `--kind` 過濾類型、`--limit` 限制數量、`--json` 輸出格式 |
| `codegraph callers <symbol>` | 找出「誰呼叫了」指定的函數或方法（向上追蹤），可用 `--limit` 和 `--json` |
| `codegraph callees <symbol>` | 找出指定的函數或方法「呼叫了誰」（向下追蹤），可用 `--limit` 和 `--json` |
| `codegraph node <symbol>` | 取得特定符號的詳細資訊（如定義位置、原始碼、簽名） |
| `codegraph files [path]` | 顯示專案中被索引的檔案結構（支援 `--format`、`--filter`、`--max-depth`、`--json`） |

### 分析與影響評估

| 命令 | 用途 |
|------|------|
| `codegraph context <task>` | 為 AI 建立與特定任務相關的程式碼上下文（支援 `--format` 輸出格式、`--max-nodes` 節點上限） |
| `codegraph impact <symbol>` | 分析修改某個符號後，會影響到哪些其他程式碼（影響半徑），可用 `--depth` 指定深度、`--json` 輸出 |
| `codegraph affected [files...]` | 找出哪些測試檔案會被指定的原始碼變更所影響（常用於 CI 流程，只執行必要的測試） |

### 服務與連線

| 命令 | 用途 |
|------|------|
| `codegraph serve --mcp` | 啟動 CodeGraph 的 MCP 伺服器（以 stdio 模式運行，供 AI 助手透過 MCP 協定呼叫） |

### 補充說明

- 大部分命令若未指定 `[path]`，會以當前目錄作為專案路徑
- `--json` 輸出適合讓其他程式或腳本進一步處理
- `codegraph init` 只需要執行一次，之後 AI 助手就能自動使用 CodeGraph 的能力
- `codegraph serve --mcp` 通常在 AI 助手啟動時由它自動呼叫，一般不需要手動執行