6.4 KiB
6.4 KiB
name, description
| name | description |
|---|---|
| agent-ide | 程式碼重構與分析 CLI 工具。符號重命名、檔案移動(自動更新 import)、循環依賴檢測、品質分析。支援 TS/JS/Swift。極大減少 AI 的 Token使用量 |
Agent IDE
為 AI 代理設計的 CLI 工具集,提供搜尋、重構、依賴分析功能,讓 AI 能智能地理解和操作程式碼。
🚨 優先使用原則
只要任務屬於以下範圍,必須優先使用 agent-ide 而非手動操作:
| 任務類型 | 使用命令 | 為何優先 |
|---|---|---|
| 了解專案/模組結構 | snapshot |
節省 ~91% token,無需逐檔讀取 |
| 重命名變數/函數/類別 | rename |
自動更新所有引用,零遺漏 |
| 移動/重組檔案 | move |
自動更新 import 路徑 |
| 搜尋程式碼 | search |
支援符號/結構化搜尋,比 grep 精準 |
| 檢查依賴關係 | deps |
循環檢測、影響分析、孤立檔案 |
| 程式碼品質分析 | analyze |
複雜度、死代碼、最佳實踐 |
| 提取/內聯函數 | refactor |
自動處理參數、import、export |
| 移動程式碼區塊 | shift |
保持語法正確性 |
🚀 為什麼使用 Agent IDE?
| 優勢 | 說明 |
|---|---|
| 節省 Token | 使用 snapshot 產生精簡 API 摘要,比讀取原始碼節省 ~91% token |
| 提升效率 | 批次重命名、移動檔案自動更新 import,一次完成原本需多步的操作 |
| 減少錯誤 | 自動處理依賴關係、循環檢測,避免手動修改遺漏 |
| 結構化輸出 | JSON 格式輸出,AI 可直接解析處理,無需額外文字處理 |
最佳實踐:
- 開始任務前先用
snapshot了解專案結構,避免反覆讀檔 - 重構時用
--dry-run預覽,確認無誤再執行 - 用
deps cycles檢查是否產生新的循環依賴
執行方式
Plugin 安裝後首次需 build:
# PLUGIN_ROOT = 此 skill 所在 repo 的根目錄(往上三層)
cd ${PLUGIN_ROOT} && pnpm install && pnpm build
之後可直接執行:
node ${PLUGIN_ROOT}/bin/agent-ide.js <command>
命令索引
| 命令 | 說明 | 類型 | 詳細文件 |
|---|---|---|---|
| rename | 符號重命名 | 變更類 | rename.md |
| move | 檔案移動 + import 更新 | 變更類 | move.md |
| search | 文字/正則/模糊/符號搜尋 | 查詢類 | search.md |
| deps | 依賴分析、循環檢測 | 查詢類 | deps.md |
| analyze | 程式碼品質分析 | 查詢類 | analyze.md |
| shift | 程式碼行移動 | 變更類 | shift.md |
| refactor | 提取/內聯函數 | 變更類 | refactor.md |
| snapshot | 模組/專案快照 | 查詢類 | snapshot.md |
命令速查表
| 任務 | 命令 |
|---|---|
| 重命名符號 | agent-ide rename --path . --from X --to Y --dry-run |
| 移動檔案 | agent-ide move src/old.ts src/new.ts --path . --dry-run |
| 文字搜尋 | agent-ide search "pattern" --path . |
| 正規搜尋 | agent-ide search "func.*" --path . -t regex |
| 模糊搜尋 | agent-ide search "usr" --path . -t fuzzy |
| 符號搜尋 | agent-ide search symbol --query "User*" --path . |
| 結構化搜尋 | agent-ide search structural -t class --pattern "Service" |
| 複雜度分析 | agent-ide analyze complexity --path . |
| 死代碼檢測 | agent-ide analyze dead-code --path . |
| 最佳實踐 | agent-ide analyze best-practices --path . |
| 模式分析 | agent-ide analyze patterns --path . |
| 綜合品質 | agent-ide analyze quality --path . |
| 依賴分析 | agent-ide deps --path . --format json |
| 完整依賴圖 | agent-ide deps --path . --all |
| 依賴子命令 | agent-ide deps graph|cycles|impact|orphans --path . |
| 行移動 | agent-ide shift file.ts --from 1 --to 5 --position 10 |
| 提取函數 | agent-ide refactor extract-function --file f.ts --start-line 1 --end-line 5 |
| 提取閉包 | agent-ide refactor extract-closure --file f.swift --start-line 1 --end-line 5 |
| 跨檔案提取 | agent-ide refactor extract-function --file f.ts -s 1 -e 5 -t target.ts |
| 內聯函數 | agent-ide refactor inline-function --file f.ts --function-name fn |
| 模組快照 | agent-ide snapshot --path src/core/indexing --format json |
| 專案快照 | agent-ide snapshot --path . --format json |
輸出格式
所有命令支援 --format 參數:
| 格式 | 說明 | 適用命令 |
|---|---|---|
json |
機器可讀 JSON(AI 建議使用) | 所有命令 |
summary |
人類可讀摘要 | 所有命令 |
diff |
程式碼差異 | 變更類命令 |
常用參數
--dry-run- 預覽變更,不執行--all- 顯示所有結果(不只問題)
工作流程範例
重構流程
# 1. 分析品質
agent-ide analyze --path . --format json
# 2. 預覽重命名影響
agent-ide rename --path . --from oldName --to newName --dry-run
# 3. 執行重命名
agent-ide rename --path . --from oldName --to newName
# 4. 檢查循環依賴
agent-ide deps cycles --path .
模組重組
# 1. 分析依賴
agent-ide deps --path . --format json
# 2. 預覽檔案移動
agent-ide move src/old.ts src/new-location.ts --path . --dry-run
# 3. 執行移動
agent-ide move src/old.ts src/new-location.ts --path .
# 4. 檢查新循環依賴
agent-ide deps cycles --path .
支援語言
- TypeScript
- JavaScript
- Swift
效能
- 增量索引(~1000 檔案/秒)
- 多層快取(查詢 <50ms)
- 記憶體優化(~100MB / 10k 檔案)