astro:exec — 執行完整計畫(第二階段,批次處理)
編排並執行 astro:plan 計畫中所有任務(會話中的任務清單),按順序逐一進行。遵守 astro:setup 的合約(記錄在 CLAUDE.md 中)以及強制性架構。
執行方式
- 哪個計畫: 會話中
astro:plan的那個。如果不存在,請先執行astro:plan。如果使用者只想執行部分內容,請確認範圍。 - 排列任務順序,遵守
Depende de(拓撲排序):永遠不要在依賴項完成之前開始一個任務。 - 對於每個待辦任務,按順序執行:標記為進行中 → 理解上下文 → 僅實現指定範圍 → 測試 → 驗收標準與完成定義驗證 → 標記為完成。
- 完成每個任務後,調用
astro:commit來記錄該任務的變更(每個任務一個提交)。astro:exec不會自行建立或執行提交;這是astro:commit的工作。不要執行git push。提交僅包含程式碼;計畫不會變成檔案。 - 在每個任務後顯示進度(例如:
2/5 完成 — 接下來是 03)並保持會話清單更新。全部完成時,告知計畫已結束。
何時停止(不要自動繼續)
- 出現需要使用者決定的事項(不在計畫中)→ 提問(AskUserQuestion)並等待。
- 測試失敗且無法在任務範圍內解決 → 停止並顯示實際錯誤證據。
- 任務要求進行破壞性、機密性或更改依賴項的操作 → 合約屏障:停止並確認。
- 一個任務揭示了超出計畫範圍的工作 → 將其作為新任務記錄到清單中並繼續;如果造成阻塞,則停止並協調。
結束時
- 總結完成的工作(任務完成情況、證據:測試輸出)。
- 如果因為停止而還有未完成的任務,請說明缺少什麼以及原因。
- 建議使用
astro:pr/astro:answer來收尾。
一次一個任務,依序執行——絕不並行,以保持原子且可審查的提交。