GitHub 官方的規格驅動開發工具
跟著步驟操作,輕鬆上手 AI 協作開發
首先,在終端機中執行以下指令安裝 Spec Kit CLI 工具:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
安裝完成後,執行以下指令驗證:
specify --help
在你的專案目錄中執行初始化指令:
# 在新專案中初始化 specify init my-project --ai claude # 或在現有專案中初始化 cd your-project specify init . --ai claude
初始化後會在專案中建立 .claude/commands/ 資料夾,裡面包含:
開啟 .claude/commands/speckit.constitution,定義專案的開發原則與規範。
# 專案開發憲章 ## 技術棧 - 框架:React 18+ with TypeScript - 樣式:Tailwind CSS - 狀態管理:Zustand - 建構工具:Vite ## 編碼規範 - 使用函數式元件和 React Hooks - 元件命名採用 PascalCase - 檔案結構按功能分組(feature-based) - 使用 ESLint + Prettier 自動格式化 ## 安全原則 - 所有使用者輸入必須驗證與消毒 - 敏感資訊使用環境變數管理 - 防範 XSS 和 CSRF 攻擊 ## 品質標準 - 單元測試覆蓋率 > 80% - 可訪問性符合 WCAG 2.1 AA - 效能:LCP < 2.5s, FID < 100ms
# 資安工具開發憲章 ## 安全原則 - 最小權限原則(Principle of Least Privilege) - 縱深防禦(Defense in Depth) - 所有資料加密儲存與傳輸 - 完整的審計日誌記錄 ## 技術要求 - 輸入驗證與消毒 - 防範 OWASP Top 10 漏洞 - 安全的依賴套件管理(定期掃描 CVE) - 使用參數化查詢防止 SQL Injection ## 合規性 - 遵循個資法 / GDPR 規範 - 敏感資訊不可硬編碼 - 實作完整的錯誤處理與日誌 ## 程式碼審查 - 所有安全相關程式碼需雙人審查 - 使用靜態程式碼分析工具(SonarQube) - 定期進行滲透測試
# 自動化腳本開發憲章 ## 設計原則 - 冪等性:重複執行結果一致 - 容錯性:優雅處理異常狀況 - 可觀測性:詳細日誌與進度回報 - 模組化:功能拆分便於重用 ## 技術規範 - 語言:Python 3.11+ with type hints - 錯誤處理:完整的 try-except-finally - 參數驗證:使用 argparse - 環境變數:敏感資訊不可硬編碼 ## 執行標準 - 提供 --dry-run 模式(試運行) - 支援斷點續傳機制 - 產生執行報告與摘要 - 記錄詳細的執行日誌 ## 安全考量 - 限制檔案系統存取範圍 - 驗證所有外部輸入 - 不執行動態生成的程式碼
開啟 .claude/commands/speckit.specify,詳細描述功能需求。
# 功能需求規格 ## 專案目標 開發一個網路設備配置產生器,協助網路工程師快速產生標準化的設備配置檔。 ## 使用者故事 作為一個網路工程師,我希望能夠: - 透過網頁表單輸入設備基本資訊 - 選擇設備類型(FortiGate/Aruba/Cisco) - 自動產生符合公司規範的配置檔 - 下載配置檔或複製到剪貼簿 ## 核心功能 ### 1. 設備資訊輸入 - 主機名稱(hostname) - 管理 IP 位址 - VLAN 配置 - 介面設定 ### 2. 配置產生 - 根據範本自動產生配置 - 驗證 IP 位址格式 - 檢查 VLAN ID 範圍(1-4094) - 套用安全性最佳實踐 ### 3. 輸出功能 - 即時預覽配置檔 - 語法高亮顯示 - 一鍵複製功能 - 下載為 .txt 檔案 ## 驗收標準 - [ ] 所有輸入欄位都有格式驗證 - [ ] 產生的配置符合廠商語法規範 - [ ] 支援常見的設備型號(至少 3 種) - [ ] 配置中不包含預設密碼 - [ ] 頁面載入時間 < 2 秒 - [ ] 支援手機瀏覽器 ## 非功能需求 - 效能:1000 次配置產生 < 5 秒 - 安全:輸入驗證防止 XSS - 可用性:簡潔直覺的操作介面 - 維護性:模組化設計便於擴展新設備
設定好文件後,在 Claude Code 中執行以下指令:
/speckit.plan),
AI 會自動讀取你寫好的文件,並根據內容進行規劃與開發。
你:/speckit.plan AI:[讀取憲章和需求文件,產生詳細的技術規劃] 你:看起來不錯,請繼續 你:/speckit.tasks AI:[將技術方案拆解為可執行的任務清單] 你:請開始實作第一個任務 你:/speckit.implement AI:[開始撰寫程式碼並執行測試]
開發過程中,隨時更新文件以反映最新的需求變更:
speckit.specifyspeckit.constitution/speckit.plan 產生新的技術方案.claude/commands/ 資料夾加入 Git,
讓所有團隊成員共享相同的開發規範與需求文件。
specify init . --ai claude,
然後根據現有程式碼補寫憲章和需求文件。這有助於後續的功能開發和維護。
--ai copilot 或其他選項即可。