iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0

Github Spec-kit 將開發過程分為四個明確階段:

  • Specify(定義專案原則):以自然語言描述系統目標、使用者情境與成功條件,由 AI 生成詳細規格文件 。
  • Plan(技術規劃):指定技術堆疊、架構限制與整合需求,由 AI 產生技術計畫,確保符合組織標準與現實約束 。
  • Tasks(任務拆解):將規格與計畫轉化為可獨立實作與測試的小型任務,例如「建立驗證電子信箱格式的註冊端點」。
  • Implement(實作):AI 依序執行任務,開發者則專注於審查具體變更,確保符合規格 。

實戰 Spec-kit (?min)


安裝與使用

  1. 建立 spec 資料夾(名字可以改,或者使用現有的資料夾)

  2. 輸入指令: uvx --from git+https://github.com/github/spec-kit.git specify init --here

    就會在 spec 資料夾配置好文件

  3. 選擇 Gemini CLI
    https://ithelp.ithome.com.tw/upload/images/20251013/20176017ipdPJ3cHuL.png

  4. 選擇終端機 (如果你是 Mac,就選 sh,Windows 選 ps)
    https://ithelp.ithome.com.tw/upload/images/20251013/20176017HEgMa3NLk9.png

  5. Ready
    https://ithelp.ithome.com.tw/upload/images/20251013/20176017AENgPASpDb.png

  6. 接著啟動 Gemini CLI,輸入 /spec,就會出現相關指令
    https://ithelp.ithome.com.tw/upload/images/20251013/20176017Drw8rkULJE.png

接下來就是SDD的精隨…

Establish project principles (制定專案原則)

使用 /speckit.constitution來建立專案的原則。

官方範例:

/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements

*創建專注於程式碼品質、測試標準、使用者體驗一致性和效能要求的原則

你可以選擇使用它,因為我MCP太多了所以借鑑了別人的

/speckit.constitution 建立高品質,可被 testable,不要 overdesign,一率使用繁體中文

*testable :產品必須具備可靠性、穩定性和良好的使用者體驗。

*不要 overdesign :不要過度設計,避免 AI 加了過多幻想的功能。

完成後,就會在專案資料夾自動建立 .specify/memory/consitution.md

Create the spec (創建技術規格書)

使用 /speckit.specify 提供高層次的提示,專注於「是什麼(What)」和「為什麼(Why)」,描述想要建立的專案內容,不要描述相關的技術棧(tech stack)

這邊我們準備實測一個簡易網頁登入介面。

所以我們可以這樣描述:

/speckit.specify 
建立一個網頁登入介面(包含前後端)
介面需包含使用者名稱輸入欄位、密碼輸入欄位、登入按鈕、訊息回饋
收到資料後需要進行身分比對

完成後會在專案建立 spec.md 和 requirements.md 檔。

spec-kit 的優點就出現了,如果你的 spec 有不清楚的地方,在這個階段 AI 就會主動提出需要澄清的問題。

這時就可以使用 /speckit.clarify 來針對 AI 提出的問題做進一步的說明,讓 spec 更加精準。

而且會自動幫你建立 git branch,超頂…

Create a technical implementation plan (制定技術實施計畫)

使用 /plan 根據前面產生的 spec.md 提供技術方向,可以決定要用什麼樣的技術開發,讓 AI 產生詳細的技術實作規劃,和預設的架構和限制

/speckit.plan
使用html、CSS、JavaScript 建立 web,
後端使用FastAPI,
不使用資料庫,暫時將帳密紀錄在後端檔案中就可以

完成。

Tasks(任務拆解)

使用 /speckit.tasks  讓 AI 根據前面的規格和規劃,拆解出可執行的任務清單,提供給後續 AI Agent 來實作該功能。

#只需要輸入指令

完成後會發現 spec-kit 自帶 TDD 開發,完全不需要另外設定。

  • 紅燈: 先寫測試,一定要失敗
  • 綠燈: 實作最小化程式碼使社是通過
  • 重構: 在測試通過下更新程式碼

Implement(實作)

使用 /speckit.implement 就可以叫 AI 開始工作 (哈哈 狗換人當

#不想一直確認可以啟動 yolo mode,但重要專案一律不建議

https://ithelp.ithome.com.tw/upload/images/20251013/20176017IpAdTRsRHa.png
主要參考自: https://milkmidi.medium.com/ai-%E6%99%82%E4%BB%A3-%E4%B8%80%E5%AE%9A%E8%A6%81%E5%AD%B8%E6%9C%83%E4%BD%BF%E7%94%A8-github-spec-kit-sdd-%E8%A6%8F%E6%A0%BC%E9%A9%85%E5%8B%95%E9%96%8B%E7%99%BC-f2df57cfdf3c


上一篇
SDD的補充
系列文
Android 不會只更新 UI ! 用 Vibe Coding ? 加速打造 Al-native App29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言