實際專案中,程式碼往往不在一個倉庫裡。前端、後端、文件、共享庫分散在不同倉庫,而一個功能變更可能要同時修改好幾個倉庫。對 Kiro 來說,單倉庫模式夠用,但它無法天然理解跨倉庫的關係——你得在每一次對話裡手動告訴它「這個改動還要同步到另外兩個倉庫」,這顯然是低效的。
HagiCode 的 Monospecs 機制就是為多倉庫場景而設計的結構化方案。它透過 .hagicode/monospecs.yaml 配置檔案宣告專案群中所有子倉庫的位址、名稱和關係,讓 Kiro 在啟動提案時就能自動獲得完整的跨倉庫地圖:
Monospecs 本質上是在幫 Kiro 消除跨倉庫協作的認知盲區。Kiro 的推理能力再強,也需要一份準確的「地圖」來定位變化範圍——而 Monospecs 就是這張被體系化管理的專案地圖。
- 自動感知倉庫關係:建立開發提案時,Kiro 可以直接從 Monospecs 配置中讀取子倉庫列表,知道「這次變更的前端程式碼在 repos/frontend、API 定義在 repos/backend、文件在 repos/docs」——你不再需要每次手動列出涉及哪些倉庫。
- 跨倉庫變更追蹤:當一個提案同時涉及多個子倉庫時,OpenSpec 提案目錄保留在主倉庫中,子倉庫僅僅承載程式碼修改。這樣 specs 與程式碼分離,子倉庫保持純淨,但整個變更的決策鏈條和討論記錄都集中在一個地方。歸檔時 commit_when_archive 還可以自動提交 specs 到主倉庫,省去手動管理版本控制的麻煩。
- AI 提交精準識庫:在做 AI 提交時,HagiCode 會根據 Monospecs 配置分析你的變更內容,自動建議應該提交到哪個目標倉庫。你不用在終端裡挨個切目錄,HagiCode 幫你接管了「這段程式碼屬於哪個倉庫」的判斷。
- 每庫可配 AGENTS.md:每個子倉庫可以有自己專屬的 AGENTS.md,告訴 Kiro 這個倉庫的技術棧、程式碼規範和開發約定。Kiro 在操作不同倉庫時自動讀取對應的指導,行為始終符合你團隊的標準。