指令用途
在開發者面對一個全新的或擁有數十萬行代碼的龐大專案時,首要的挑戰就是理解專案的骨架與目錄拓撲。直接閱讀檔案樹(File Tree)往往會被海量的原始碼檔案和編譯產物(如 bin/、obj/、node_modules/)淹沒,造成極大的認知負載。
get_architecture 是 Codebase Memory MCP 伺服器中最核心的高階架構探索工具。它能在幾毫秒內掃描整個工作區,排除所有被忽略的系統目錄(如 .git/, .gemini/),並自動提煉出一份反映專案「模組架構」與「核心子系統」的高階目錄關係結構樹,幫助 AI 助手與開發者一瞬間掌握專案全貌。
運作流程
- 工作區掃描:工具會自專案根目錄出發,向深層遞歸掃描目錄。
- 過濾排除:根據
codebase-memory.yaml配置文件中設定的exclude規則,自動跳過無關檔案。 - 架構提煉:
- 識別關鍵專案檔案(例如
.sln,.csproj,package.json,go.mod)。 - 提取各模組之間的物理相依路徑。
- 識別關鍵專案檔案(例如
- 輸出生成:回傳一份高階的架構說明(包括目錄樹、模組說明與專案根目錄核心依賴)。
實戰對話範例
範例:在新加入的 WinForms 專案中了解架構
- You:
/opsx:explore "我剛接手這個 WinForms 控制專案,完全不熟。請幫我探索它的高階架構。" - AI:
好的,為了幫助您快速掌握專案結構,我將呼叫 codebase-memory 的
get_architecture工具,拉取本機專案的高階骨架。CM 呼叫:
get_architecture()
CM 回傳:{ "projectRoot": "D:/Repo/TechSpecs", "projectType": "C# WinForms Solution (.NET Framework 4.8)", "modules": [ { "name": "ControlSystem.sln", "path": "/" }, { "name": "ControlSystem.Core", "path": "/src/Core", "desc": "包含運動控制核心演算法與 PLC 通訊通訊協定實作" }, { "name": "ControlSystem.UI", "path": "/src/UI", "desc": "WinForms 主畫面、手動調試面板與設定表單" }, { "name": "ControlSystem.Tests", "path": "/tests", "desc": "核心邏輯與通訊協定的單元測試" } ], "keyDependencies": [ { "source": "ControlSystem.UI", "target": "ControlSystem.Core" } ] }分析:
這是一個典型的前後端分離架構 WinForms 專案:- UI 展現層:
ControlSystem.UI是主程式入口,引用了核心邏輯層。 - 核心控制層:
ControlSystem.Core負責運動控制與 PLC 底層通訊。 - 測試層:
ControlSystem.Tests用於驗證。
接下來,您希望我們優先探索核心控制層
/src/Core下的具體類別,還是 UI 介面? - UI 展現層: