# Agent Ide

> Use Agent IDE CLI for TypeScript/JavaScript and registered parser-extension code intelligence, dependency analysis, symbol disambiguation, and safe refactoring. Trigger when Codex needs to inspect TS/JS projects, analyze cycles or impact, search symbols, find references with --at, trace call hierarchy with --at, rename safely, move files/directories/members, update imports, change function signatures and call sites, add parameters with distinct call-site values via --call-site-value, detect dead code or remove dead code with --apply, check CLI usage/help, manage index cache with --no-cache/--cache-dir, or verify parser language extension behavior. Matches agent-ide, cycles, impact, search, find-references, call-hierarchy, rename, move, change-signature, deadcode.

- Skill: `vivalalova/agent-ide` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds add vivalalova/agent-ide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vivalalova/agent-ide/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: vivalalova (https://skillmd.com/u/vivalalova)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/vivalalova/agent-ide

---


# Agent IDE

TS/JS 與已註冊 Parser extension 的程式碼智能重構工具。

## 功能列表

| 功能 | 用途 |
|------|------|
| [cycles](references/cycles.md) | 循環依賴檢測 |
| [impact](references/impact.md) | 變更影響分析 |
| [search](references/search.md) | 符號搜尋 |
| [find-references](references/find-references.md) | 符號引用查找 |
| [call-hierarchy](references/call-hierarchy.md) | 呼叫層次追蹤 |
| [rename](references/rename.md) | 重命名符號 + 自動更新引用 |
| [move](references/move.md) | 移動檔案/目錄/成員 + 自動更新 import |
| [change-signature](references/change-signature.md) | 新增/移除/重排/重命名/改型別 + 更新呼叫點，可指定新增參數的呼叫點值 |
| [deadcode](references/deadcode.md) | 檢測未使用程式碼；`--apply` 才清理 |

## 全域選項

- `--no-cache`：停用索引快取
- `--cache-dir <path>`：覆寫索引快取目錄
- `--verbose`：顯示詳細處理資訊

## Parser Extension 契約

- CLI、IndexEngine、worker 共用 `initializeDefaultParsers()`；新增語言時不要在各入口重複 hardcode 副檔名。
- indexing/search/impact/cycles 以 `ParserRegistry.getSupportedExtensions()` 納入額外 Parser extension。
- worker 可透過 `parserModulePaths` 載入額外 Parser module。
- `change-signature`、`call-hierarchy`、`move-member` 對非 TS/JS Parser 預設 fast-fail；Parser 必須用 `getCapabilities()` 明確宣告支援才可進入語言專屬流程。

## 最佳實踐

### 重構標準流程

```text
1. deadcode     → 檢測未使用程式碼（需 `--apply` 才清理）
2. search       → 找入口與主要符號（偵察）
3. cycles       → 檢測循環依賴（診斷）
4. move         → 重組檔案/成員（重構）
5. rename       → 修正命名風格（收尾）
```

### 場景選用指南

| 場景 | 功能 | 說明 |
|------|-------|------|
| 接手新專案 | `deadcode` → `search` | 先預覽未使用程式碼，再找入口 |
| 重構前診斷 | `cycles` → `impact` | 找問題點，評估影響範圍 |
| 找符號入口 | `search <symbol>` | 模糊搜尋符號位置 |
| 檔案重組 | `move src/a.ts src/b/` | 自動更新所有 import |
| 抽取函式 | `move src/a.ts:25 src/b.ts` | 移動成員到新位置 |
| 統一命名 | `rename --from userId --to uid` | 全專案一致性 |
| 修改 API | `change-signature` | 參數順序/名稱/呼叫點值變更 |
| 追蹤呼叫 | `call-hierarchy` → `find-references` | 理解函式使用情況 |

### 安全操作原則

1. **預覽後明確 apply**：變更類功能務必預覽；`deadcode` 預設只預覽，清理需加 `--apply`，且 `--dry-run` 會覆蓋 `--apply`
2. **清理優先於重構**：`deadcode` 減少不必要的移動/重命名
3. **小步快跑**：一次只做一種類型的變更，便於回滾
4. **重構後驗證**：`cycles` 確保沒引入循環依賴

