一、Kiro 是什么?
Kiro 是一款智能型集成開發環境(IDE),借助規格說明(specs)、向導(steer)、鉤子(hooks)幫助你高效完成工作。
二、Specs 規格說明
規范(Specs)或規格說明(specifications)是結構化的工作,用于將應用程序中復雜功能的開發過程形式化。他們提供了一種系統的方法,可以將高層次的想法轉化為詳細的實施計劃,并具備清晰的追蹤和問責機制。
借助Kiro 的規格說明,你可以:
- 將“需求”分解為帶有驗收標準的用戶故事
- 使用序列圖和架構圖創建設計文檔
- 跟蹤各個離散任務的實施進度
- 再產品和工程隊之間進行高效協作
三、快速入門
準備好創建你的第一個規格說明?以下是開始的方法:
- 從 Kiro 窗格中,點擊 規格 下的 + 按鈕。或者,從聊天窗格中選擇規格。
- 描述你的項目構想。
- 按照從需求 → 設計 → 實施 三階段工作流程進行。
四、概念
規格說明 彌合了概念性產品需求和技術實施細節之間的差距,確保兩者保持一致并減少開發迭代。Kiro 生成三個關鍵文件,這些文件構成了每個規格說明書的基礎:
- requiremnets.md - 以機構化的 EARS 符號就用戶故事和驗收標準
- design.md - 記錄技術架構、序列圖和實施注意事項
- tasks.md - 提供一份詳細的實施計劃,其中包含獨立且可追蹤的任務
五、工作流程
該工作流 遵循邏輯順序,各階段之間設有決策點,以確保每一步在進入下一步之前都已妥善完成。
- 需求階段(第一部分): 使用結構化的 ERAS 符號定義用戶故事和驗收標準
- 設計階段 (第二部分): 記錄技術架構,序列圖和實施注意事項
- 實施規劃(第三部分):將總做分解為獨立且可追蹤的任務,并明確描述和預期成果
- 執行階段(第四部分):在任務完成時跟蹤進度,并能夠根據需要更新和完善規范
六、requirement
requirements.md 文件采用用戶故事的形式編寫,其中的驗收標準采用 EARS 符號表示。這正式你希望該產品經理給你提需求的方式!
EARS(需求語法建議方法)表示法為編寫清晰、可測試的需求提供了一種結構化格式。在規范的 requirements.md 文件中,每個需求都遵循一下模式:
WHEN [condition/event]
THE SYSTEM SHALL [expected behavior]
比如:
WHEN a user submits a form with invalid data
THE SYSTEM SHALL display validation errors next to the relevant fields
這種結構化方法有幾個好處:
- 清晰性:需求明確且易于理解
- 可測試性:每個需求都可以直接轉化為測試用例
- 可追溯性:單個需求在實施過程中可被追蹤
- 完整性:該格式有主意全面思考所有條件和行為
Kiro 幫助你將模糊的功能需求轉化為這些結構清晰的要求,使開發過程更高效,并減少產品團隊和工程團隊之間的誤解。
七、Design
design.md 文件用于記錄技術架構,序列圖和實施注意事項。這是一個很好的地方,可以概述系統的整體運行方式,包括各個組價及其交互。
Kiro 的 spec 為設計文檔提供了一種結構化的方法,使人們更容易理解復雜系統并在其上展開協作。design.md 文件是一個很好的載體,可用于概述系統的運行方式,包括各個組件及其相互作用。
八、Tasks
tasks.md 文件用于提供詳細的實施計劃,其中包含離散且追蹤的任務及子任務。每個任務都有明確定義,包括清晰的描述、預期結果以及任何必要的資源或依賴項。kiro 的 spec 為 tasks 提供了一種結構化的方法,使人們更容易理解復雜系統并展開協作。
tasks.md 文件提供了任務執行接口,可實時顯示更新狀態。任務會更新為進行中或已完成,使您能夠高效跟蹤實施進度,并隨時了解最新的開發狀態。
九、最佳實踐
如何導入現有需求?
如果您的需求或設計已經存在于其他系統中,您有兩種選擇:
- 使用 MCP 集成:如果您的需求工具配備支持標準輸入輸出(STDIO) 的MCP 服務器,您可以直接連接,將需求導入到規范回話中。
- 手動導入:只需要將您現有的需求(例如 foo-prfaq.md) 復制到您倉庫中的一個新文件中,然后開啟一個 spec 對話 session, 并輸入 #foo-prfaq.md 從中生成一個 spec。 Kiro 將讀取你的需求,并生成需求和設計規范。
如何迭代 Spec?
Kiro 的規格設計旨在不斷完善,是您能夠隨著項目的推進,對其進行更新和優化。這種迭代方法可確保規格與不斷變化的需求和技術設計保持同步,為開發提供可靠的基礎。
- 更新需求:可直接修改 requirements.md 文件,或啟動一個spec 對話并指示 Kiro 天啊家新需求或設計元素。
- 更新設計:導航到規范對應的 design.md , 然后選擇優化。此操作將跟新設計文檔和相關任務列表,以反應修改后的需求。
- 更新任務:導航到 tasks.md 文件,然后選擇更新任務。這將創建與新需求對應的新任務。
如何在的多個團隊之間共享規范?
可以通過git子模塊或者包引用來在多個團隊之間共享規范。一下是在團隊管理共享規范的一些最佳實踐:
- 創建一個中央規范存儲庫- 建立一個專用的存儲庫,用于存放多個項目可以引用的共享規范
- 使用git 子模塊或者包引用 - 根據你的開發環境使用git子模塊、包引用或者符號鏈接將你的核心規范鏈接到各個項目。
- 實施夸存儲庫工作流程 - 指定用于提議、審查和更新影響多個項目的共享規范的流程。
能從 vibe 回話啟動 spec 會話嗎?
是的,可以進行一次氛圍回話,然后說 Generate spec 。 Kiro隨后會詢問你是否需要開始一個規格說明回話。如果你回答是,它將根據你的氛圍回話上下文繼續生成需求。
能一次性執行規范中的所有任務嗎 ?
是的,可以通過要求Kiro智能體”執行規范中的所有任務“來執行 tasks.md 文件中的所有任務。Kiro 將開始執行你的所有任務。注意:我們不建議這樣做。因為我們建議逐個任務執行以獲得更好的結果
如果有些任務已經實現了怎么辦?
在處理現有代碼庫時,你可能會發現規范中的某些任務已經完成,因為同時或者你自己在其他時段完成了這些任務。處理這種這情況有相中方法:
選項一:點擊tasks.md 中的”更新任務“
- 打開 tasks.md 文件
- 點擊 更新任務
- kiro 將自動標記已完成的任務。
選項二:讓 Kiro 在特定聊天回話中為掃描
- 在規格討論環節中,詢問Kiro:”檢查哪些任務已完成“
- Kiro 將分析你的代碼庫并識別已實現的功能
- Kiro將自動標記已完成的任務。
這能確保你的任務規范準確無誤。
一個倉庫能有多少個任務說明?
在單個代碼庫中,你可以根據需要創建任意數量的規格說明。我們建議為項目的不同功能創建多個規格說明,而不是試圖為整個代碼庫只創建一個。
例如,在一個電子商務應用程序中,你可以像這樣組織你的規格說明:
.kiro/specs/
├── user-authentication/ # Login, signup, password reset
├── product-catalog/ # Product listing, search, filtering
├── shopping-cart/ # Add to cart, quantity updates, checkout
├── payment-processing/ # Payment gateway integration, order confirmation
└── admin-dashboard/ # Product management, user analytics
這種方法使你能夠:
- 獨立開發功能,避免沖突
- 維護重點突出、易于管理的規范文檔
- 對特定功能進行迭代,而不影響其他方面
- 與團隊成員同時就不同功能展開協作