Tools

Spec KitでSpec駆動開発をやってみる

投稿日:

はじめに

Spec KitとGitHub Copilotを使って、ブラウザで動く簡単なToDoアプリをSpec駆動開発で作ってみました。

Spec駆動開発とは

Spec駆動開発(Specification-Driven Development)とは、コードを書く前に仕様(Spec)を明確に定義して、それを中心に開発を進める手法です。

 

Spec駆動開発では、以下の流れで開発を行います。

  1. 仕様(Spec)を書く
  2. 仕様をレビューし、合意する
  3. 仕様に沿って実装する
  4. 仕様を満たしているか検証する

Specとは

Spec駆動開発におけるSpecとは、単なる文章ではなく、以下のようなものを含む実行可能または検証可能な仕様です。

  • API仕様(OpenAPIなど)
  • 入出力の定義
  • ユースケース
  • 制約事項

Spec駆動開発が向いているケース

Spec駆動開発に向いているものは以下のようなケースです。

  • チーム開発(特に大規模な場合)
  • API開発
  • マイクロサービス
  • AIにコード生成させる開発

Spec Kitとは

Spec Kitは、仕様の作成、設計、タスク定義、実装をAIと一緒に段階的に進めるための開発フレームワークです。

 

Spec Kitを使った開発では、以下の手順で開発を行っていきます。

  1. 原則(constitution)
  2. 仕様(specify)
  3. 設計(plan)
  4. タスク分解(tasks)
  5. 実装(implement)

ToDoアプリを開発する

それでは、実際にSpec KitとCopilotを使って、簡単なToDoアプリを開発してみます。

Spec Kitのインストール

まず初めに、Spec Kitをインストールします。

ターミナル上で以下のコマンドを実行します。

インストールが終わったら、Pathを通しておきます。

プロジェクトを作成する

ターミナルで以下のコマンドを実行してプロジェクトを作成します。

すると以下のように表示されます。

sh を選択して続けます。

このように表示され、プロジェクトが作成されます。

作成直後のフォルダの中身は以下のようになっています。

プロジェクトが作成できたら、VS Codeで開きます。

プロジェクトのルールを定義する

Copilotに以下のプロンプトを渡して、constitution(開発ルール)を定義します。

実行後の constitusion.md は以下の通りです。

仕様を書く

Copilotに以下のプロンプトを渡して、仕様を書きます。

実行後、 specs ディレクトリが作成され、 spec.md などが生成されます。

spec.md の中身は以下のとおりです。

その後、 /speckit.clarify を行って仕様を改良します。

/speckit.clarify を行うとCopilotはいくつか質問をしてくるので、それに回答してSpecを改良します。

設計する

Specが定まったら、 /speckit.plan を行って、技術選定を行います。

/speckit.plan を行うと、 copilot-instruction.mdspecs ディレクトリ内に plan.md などが生成されます。

plan.md の内容は以下の通りです。

タスク分解する

Planが終わったら /speckit.tasks でタスク分解します。

生成した tasks.md の内容は以下の通りです。

実装する

タスク分解まで終われば、CoplitのAgentモードでステップ毎に実装していきます。

今回実装したToDoアプリはこのような画面になってます。

さいごに

Spec KitとCopilotを使って簡単なToDoを作ってみました。

おすすめ書籍

現場で活用するためのAIエージェント実践入門 (KS情報科学専門書) MCP AIエージェント開発入門

page_footer_responsive




-Tools
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

GitHub Copilot CLI に LSP サーバーを設定する

1 はじめに2 LSPとは3 LSPでできること4 言語サーバーのインストール5 設定ファイルの配置6 /lsp コマンドでの動作確認7 さいごに8 おすすめ書籍 はじめに LSP のないコーディング ...

laravel logo

Laravel Boostを試してみた

1 はじめに2 Laravel Boostとは2.1 動的な情報(MCP Tools)2.2 静的な知識(CLAUDE.md・Skills)3 導入してみる4 boost:install で何が作られ ...

Gitでやっちまったときに使えるコマンド

1 はじめに2 コミットを修正したい3 コミットを戻したい3.1 複数のコミットをrevertする4 コミット自体をそもそもなかったことにしたい5 reset –hardした差分を元に戻し ...

Gitの初期設定と便利な設定

1 はじめに2 初期設定2.1 ユーザ情報の設定3 便りな設定4 Gitの基礎知識4.1 configは3段階4.2 現在の設定を確認する4.3 設定ファイルの保存場所5 参考6 さいごに はじめに ...

【Unity】Standard Assetsでエラーが出た時の対応

1 はじめに2 Standard Assetsのエラー2.1 修正方法3 さいごに4 おすすめ書籍 はじめに こんにちは、suzukiです。本日はunityのStandard AssetsをImpor ...

フォロー

blog-page_side_responsive

2026年5月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。