GitHub の spec-kit を試してみた!

GitHub が公開している AI を活用した仕様書作成ツール「spec-kit」が気になったので、使い方を試してみました。

この記事では、specify-cli ツールのインストールから、VS Code の Copilot Chat を使って実際に仕様を書き出すまでの流れをメモしておきます。

1. 環境構築

まずは specify-cli を動かすための環境を準備します。

uvツールのインストール

spec-kit の README によると uv (Rye や pip のような Python パッケージインストローラー) を使うことが推奨されているようです。

uv は以下のコマンドでインストールできます。

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Mac / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

specify-cli のインストール

次に、uv を使って specify-cli 本体をインストールします。 公式リポジトリ (github/spec-kit) から直接インストールする形になります。

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

パスを通す

インストールが終わったら、specify コマンドがどこからでも実行できるようにパスを通します。

私の環境 (Windows / PowerShell) では、以下のコマンドでパスを追加しました。(パスは環境によって異なる場合があります)

# PowerShellの場合の例
$env:PATH = "C:\Users\redcr\.local\bin;$env:PATH"

ターミナルを再起動するか、上記コマンド実行後、specify --version などが実行できれば準備完了です。

【注意】 Windows での文字化け

Windows 環境で specify コマンドを実行すると、ターミナル上で出力が文字化けすることがあるようです。 これは、ターミナルの文字コード設定(例: Shift_JIS)と、ツールが想定する文字コード(例: UTF-8)が一致しないために発生する可能性があります。

2. 仕様書プロジェクトの作成

次に、仕様書を作成したいプロジェクト(または新しいフォルダ)で、specify の初期化コマンドを実行します。

specify init test

test の部分はプロジェクト名に合わせて変更してください。 これを実行すると、.specify フォルダなどが作成され、仕様書を管理する準備が整います。

3. VS Code (Copilot Chat) で仕様作成から実装まで

specify-cli のセットアップが完了したら、VS Code を開き、Copilot Chat を使って仕様を作成していきます。 インストール時に表示されたヘルプなどによると、以下のような流れで進めていくようです。

1. 方針 (Constitution) の書き出し

まずはプロジェクトの方針を固めるため、Copilot Chat で /speckit.constitution を実行します。

/speckit.constitution

これを実行すると、AI がプロジェクトの目的や原則に関するたたき台(下書き)を生成してくれます。

/speckit.implement
/speckit.specify ユーザーログイン機能について。メールアドレスとパスワードを使用し、パスワード忘れにも対応する。

さらに、/speckit.constitution の後に続けて、プロジェクトに関する自分の方針やポリシー(例: 「このプロジェクトは初心者を対象としたWebアプリです」など)を入力することで、それらを反映させた内容を生成させることもできるようです。

/speckit.constitution<br>

2. 仕様 (Specification) の書き出し

方針が固まったら(または並行して)、具体的な仕様を書き出していきます。 Copilot Chat で /speckit.specify を実行します。

このときにも、作成したい内容などをスラッシュコマンドの後ろに追加することで、その仕様整理を行ってくれます。

/speckit.specify

これによって、特定の機能やコンポーネントに関する詳細な仕様を AI と対話しながら作成していくことができます。

/speckit.constitution と同じように、/speckit.specify の後に続けて、どのような機能の仕様書を作成したいのかを詳細に入力する(例: 「ユーザーログイン機能について。メールアドレスとパスワードを使用し、パスワード忘れにも対応する」など)ことで、より精密な仕様書を生成することができます。

3. 計画 (Plan) の作成

仕様書(/speckit.specify)が固まったら、Copilot Chat で /speckit.plan を実行し、実装のための計画を立てます。

/speckit.plan

4. タスク (Tasks) への分割

計画(plan)ができたら、/speckit.tasks を実行し、計画をより具体的なタスクに分割します。

/speckit.tasks

5. 実装 (Implement)

分割されたタスクをもとに、/speckit.implement を実行して、実際のアプリケーションコードを生成(実装)します。

このように、仕様書の作成から計画、タスク分割、そして実際の実装までを Copilot Chat 上で一気通貫してサポートしてくれるのが spec-kit の強力な機能のようです。

まとめ

今回は github/spec-kitspecify-cli のインストールから、VS Code Copilot Chat での基本的な使い方までを試してみました。

環境構築が少し特殊(uv を使ったり、Git から直接インストールしたり)でしたが、一度セットアップしてしまえば Copilot Chat からシームレスに仕様書作成のサポートを受けられるのは便利そうですね。