Logo
Published on

Github spec-kit 初體驗

GitHub 推出了相關的 SDD (Spec-Driven Development) 套件 ?,相關的 Repo spec-kit ,內容看起來跟 AWS 的 Kiro 主打的 SDD 有點像,之前我也寫了相關的文章「Kiro 初體驗」,有興趣的也可以看一下

相關的 spec-kit 說明,也可以參考官方的部落格「Spec-driven development with AI: Get started with a new open source toolkit

spec-kit 比較特別的是,可以用在目前主流的 CLI agent 上面:Claude CodeGitHub CopilotGemini CLI,個人感覺就是跟 Kiro 對打的 (聯手其它人把它幹掉 ((誤),不過對我來說的好處是,Claude Code 也可以使用,算是有點賺到了,哈

安裝

使用方式也蠻簡單的,主要的指令是

uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>

這樣子的話,它就會建立一個 <PROJECT_NAME> 的資料夾,把相關的所有檔案都幫你先建立好

如果要在現在的資料夾,或是原有的專案的話,可以改成

uvx --from git+https://github.com/github/spec-kit.git specify init --here

相關指令 (command)

它主要有三個自訂的 command 可以用

/specify 指令

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

/plan 指令

使用 /plan 根據前面產生的 PRD 文件 提供高層次技術方向,可以說明您的技術棧與架構的選擇,讓 AI 產生詳細的技術實作規劃,和預設的架構和限制

/tasks 指令

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

其實一開始在測試的時候,沒有按照這個規則,不過建立出來的內容也是蠻完整的

實測

安裝 spec-kit 套件

一開始的安裝指令

uvx --from git+https://github.com/github/spec-kit.git specify init flutter-todo

如果不指定使用的 AI Agent 的話,一開始就會有選項讓你選擇

選完 AI Agent 後,就會把相關的指令放在專案的資料夾裡面,下面也會有相關的提示跟你說,下一步要怎麼作,相關的指令指引

進到 Claude Code 的畫面,打 / 的話,可以看到有相關的指令可以使用

/specify 指令

下面就請它產一個 flutter 的 todo app

如果要 AI 的回答和文件都要是中文的話,可以一開始就跟它說

過程中它會用它內容的 sh 腳本幫你建立相關的文件,也會先幫你建立相關的 branch,並且切換過去

/plan 指令

基本上這裡就沒有給什麼特別的說明,就讓它自己產生所有的文件。如果你的技術有相關的需求,可以視情況說明

最後面提到的 憲法 ? 好像就是一開始安裝完套件說的 CONSTITUTION.md 吧 ? 不是很確定,不過它沒有幫我產生這個檔案

在這個階段也會把 Claud Code 的 CLAUDE.md 產生出來

/tasks 指令

plan 一樣,沒有給什麼特別的說明,就讓它自己產生所有的文件

比較特別的是,它是 TDD 導向的方式來產生 task,所以在前面的 Phase 裡面就會先產生測試

而且它會把可以 平行執行 的相關任務,使用特別的方式標記,讓你可以方便的進行

因為重點不在於實作,所以我就沒有把實作的內容寫出來,不過 Repo 我有實作了一個部份

Repo

這是我的測試 Repo spec-kit-sdd-todo-app, 有興趣的可以看一下產生出來的相關文件,和套件的相關 command

所有的文件產生完,差不多是花了 Claude Code 約 1鎂多,應該不到 2鎂

結論

產出來的文件都還蠻完整的,個人覺得跟 Kiro 產生的文件相比,感覺上比較完整一點 ?

比較可惜的是,在實作上,就沒有相關的指令可以使用,我倒是覺得有點可惜

如果再完整一點,有可能跟之前日本的那個套件 Classmethod Tsumiki 一樣,從頭打到尾,可以參考我之前寫的文章「Classmethod Tsumiki:AI 測試驅動開發框架

整體而言,GitHub 的 spec-kit 在規格文件產生方面表現不錯,特別是支援多種 AI CLI 的整合,讓開發者有更多選擇,作為 SDD 開發流程的起始工具,已經相當實用,不知道官方會不會把 BDD 的相關概念也加進去 XDD


支持創作

如果這篇文章對您有幫助,歡迎透過 贊助連結 支持我持續創作優質內容。您的支持是我前進的動力!


圖片來源:AI 產生