Files
2025-11-30 09:04:53 +08:00

2.7 KiB
Raw Permalink Blame History

模組快照 (snapshot)

執行方式:以下 agent-idenode ${PLUGIN_ROOT}/bin/agent-ide.js PLUGIN_ROOT = 此 skill 所在 repo 根目錄,往上三層)

產生模組/專案快照供 AI 快速理解程式碼結構,大幅減少 token 使用量(~91% 節省)。

用法

# 模組快照(指定模組目錄)
agent-ide snapshot --path src/core/indexing --format json

# 專案快照(自動偵測所有模組)
agent-ide snapshot --path . --format json

# 人類可讀摘要
agent-ide snapshot --path src/core/indexing --format summary

參數

參數 說明
--path 目標路徑
--format 輸出格式:jsonsummary

自動偵測規則

條件 結果
package.json + src/ 目錄 專案快照(掃描所有模組)
index.ts 模組快照
其他 視為模組

輸出結構

欄位 說明
command 命令類型(snapshot
success 執行是否成功
summary 統計摘要(掃描數量等)
snapshotType 快照類型(moduleproject
snapshot.module 模組名稱module 類型)
snapshot.project 專案名稱project 類型)
snapshot.modules 各模組快照project 類型)
snapshot.api Class 的 public 方法及簽章
snapshot.factories createXxx 工廠函數及簽章
snapshot.types Interface 和 Type 定義
snapshot.private Class 私有欄位(供理解內部狀態)

輸出格式

json預設

{
  "command": "snapshot",
  "success": true,
  "summary": { "totalScanned": 1 },
  "snapshotType": "module",
  "snapshot": {
    "module": "indexing",
    "api": {
      "IndexEngine": {
        "findSymbol": "(name: string, options?: SearchOptions) → Promise<SymbolSearchResult[]>",
        "indexProject": "() → Promise<void>"
      }
    },
    "factories": {
      "createIndexConfig": "(workspacePath: string, options?: Partial<IndexConfig>) → IndexConfig"
    },
    "types": {
      "FileChangeType": "'add' | 'change' | 'unlink'"
    },
    "private": {
      "IndexEngine": { "fields": ["config", "fileIndex"] }
    }
  }
}

summary

📦 專案: sample-project
📁 模組數: 2

  📂 src
     API: 20 classes
     Factories: 4
     Types: 54

  📂 src/types
     API: 0 classes
     Factories: 0
     Types: 43

快照內容說明

區塊 內容
api Class 的 public 方法及其完整簽章
factories createXxx 開頭的工廠函數
types Interface 和 Type alias 定義
private Class 的私有欄位列表(供理解內部狀態)