GitHub Spec Kit: コードより先に仕様書を書く SDD フレームワーク

GitHub Spec Kit は、コードより先に仕様書(Markdown)を AI と合意してから実装する SDD(仕様駆動開発) フレームワーク。

Microsoft/GitHub が提供するオープンソースの specify CLI を使う。


なぜ仕様書が先なのか

「実装してから仕様を確認する」サイクルは:

  1. AI が実装する
  2. 「それじゃなかった」と分かる
  3. やり直す

Spec Kit はこれを逆にする:

  1. 仕様書を AI と合意する
  2. 人間が確認・承認する
  3. AI が実装する(やり直しが減る)

ワークフロー

フェーズ 0: 初期化(初回のみ)

specify init --here --integration claude --force

生成されるもの:

フェーズ 1: Constitution の作成(初回のみ)

/speckit-constitution

プロジェクトの「憲法」を作成する。アーキテクチャ原則・コーディング規約・禁止事項を定義。

フェーズ 2: 要件定義

/speckit-specify

ユーザーストーリー形式で要件を定義し、specs/<n>-<feature>/specify.md を生成。

フェーズ 3: 技術設計

/speckit-plan

specify.md を元に技術設計(plan.md)を生成。対象ファイル・API・データ構造・依存関係が定義される。

フェーズ 4: タスク分解

/speckit-tasks

plan.md を元に実装チェックリスト(tasks.md)を生成。

ここで人間がタスクリストをレビューして承認する。 これが AI の暴走を防ぐ最後の承認ゲート。

フェーズ 5: 実装

/speckit-implement

tasks.md のタスクを順に実装。タスク完了のたびにチェックボックスが自動更新される。


補助コマンド

コマンド タイミング 用途
/speckit-clarify specify の前 仕様が曖昧な場合に事前質問
/speckit-checklist plan の後 要件の完全性を検証
/speckit-analyze implement の前 仕様・設計・タスクの整合性確認
/speckit-converge 既存プロジェクト 既存実装と specs の乖離を追記

生成されるファイル構造

project/
├── .specify/                   # Spec Kit 設定(自動生成)
│   └── memory/
│       └── constitution.md     # プロジェクト憲法
└── specs/
    ├── 001-feature-name/
    │   ├── specify.md          # 要件定義
    │   ├── plan.md             # 技術設計
    │   └── tasks.md            # 実装チェックリスト
    └── 002-next-feature/
        └── ...

インストール

specify CLI は uv(Python パッケージマネージャー)でインストールする。

# uv をインストール(未インストールの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh

# specify-cli をインストール
uv tool install specify-cli --from "git+https://github.com/github/spec-kit.git@v0.11.9"

# 確認
specify --version

関連

公開: 2001/6/28  ·  公開