指令詳解
/opsx:onboard 指令詳解
如何使用 /opsx:onboard 引導團隊快速上手完整規格驅動開發循環
指令用途
/opsx:onboard 是專為新手或初次導入 OpenSpec 專案的團隊所設計的教學指引指令。它的目標是透過引導式(Narrated)的工作流,帶領你手把手地在「真實程式碼庫」中完成一次完整的規格驅動開發循環。
執行此指令時,AI 不會直接幫你完成所有工作,而是會扮演「導師」的角色,為你掃描專案以尋找合適的 starter tasks(入門任務),並一步步解說各個階段的意義,讓你透過實作真正理解 OpenSpec 的工作流。
運作流程
- 環境預檢 (Preflight):檢查專案本地是否已安裝 OpenSpec CLI 工具。若未安裝,會提示先進行安裝。
- 掃描程式碼庫尋找切入點:
- 搜尋程式碼中的
TODO、FIXME等註解。 - 檢查是否有捕獲異常但未處理的
catch區塊(Swallowed Errors)。 - 找出沒有對應測試檔案的函數。
- 檢查 TypeScript 檔案中是否濫用了
any型別。
- 搜尋程式碼中的
- 推薦任務清單:向使用者展示 3-4 個極小規模(約 1-2 個檔案,20 行代碼內)、非常適合用來練習 OpenSpec 的真實任務。
- 引導完整生命週期:
- 使用者選擇任務後,AI 帶領建立變更計畫。
- 指導並解釋如何生成 Proposal、Specs 規格書、Design 設計方案 與 Tasks 任務清單。
- 帶領使用者一步步修改代碼,在
tasks.md中打勾,最終執行驗證與歸檔。
實戰對話範例
範例一:掃描專案並給予任務推薦
- You:
/opsx:onboard - AI:
歡迎來到 OpenSpec 新手村!
我會帶您在您的實體程式碼庫中,手把手完成一次規格驅動開發流程。
正在為您掃描 codebase 尋找合適的入門任務⋯
📋 入門任務推薦:
1. 修復 Swallowed Error
- 位置:
src/utils/fetchData.ts:24 - 說明:catch 區塊目前為空,應加上 console.error 或錯誤回報。
- 難度:★☆☆ (適合初學者)
2. 移除 any 濫用
- 位置:
src/components/UserAvatar.tsx:12 - 說明:將 props 的類型定義由
any改為具體 Interface。 - 難度:★☆☆
3. 自訂任務
- 請告訴我您想手動嘗試哪一個修改?
請問您想要從哪一個任務開始練習?
- 位置:
範例二:引導建立第一個 Proposal
- You:
我選 1,修復 Swallowed Error - AI:
太棒了!我們就來修復
fetchData.ts中的錯誤吞噬問題。第一步:建立變更計畫 (Change) 我已自動為您建立了名為
fix-fetch-swallowed-error的計畫。第二步:理解與生成提案 (Proposal) 在寫 code 之前,我們要先定義「為什麼改」。我已為您起草了 proposal.md。
- 我們在其中定義了:若 API 請求失敗,SHALL 輸出錯誤日誌。
請幫我打開該檔案,檢視內容是否符合您的想法?確認後請輸入「確認」,我將帶您進入下一個步驟:建立 tasks.md 實作地圖。
範例三:帶領實作與歸檔
- You:
任務實作好了,測試也跑過了。 - AI:
非常棒!您已經完成了程式碼的修改。
目前 tasks.md 中的所有實作任務都已經勾選為完成。
最後一步:歸檔與同步 (Archive & Sync) 我們現在需要執行歸檔,這會自動把剛才在計畫中寫的「錯誤處理規格」合併到系統的
openspec/specs/中,並清理掉臨時資料夾。請執行以下指令來完成您的第一個 OpenSpec 循環:
/opsx:archive恭喜您完成了 Onboarding 學習!