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エージェント開発入門

blog-page_footer_336




blog-page_footer_336




-Tools
-

執筆者:

免責事項

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


comment

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

CAPTCHA


関連記事

【Slack】OutgoingWebhookを利用して投稿を転送

1 はじめに2 OutgoingWebhook2.1 OutgoingWebhookの追加2.2 OutgoingWebhookの設定3 IncomingWebhook3.1 IncomingWebh ...

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

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

WSL2 / HiDPI環境でGoLand + 日本語入力を快適に使うまでの道のり

1 はじめに2 X Serverの設定2.1 VcXsrvの初期設定2.2 VcXsrvのHiDPI設定2.3 DISPLAY環境変数の設定2.4 Ubuntu側のスケーリング設定2.5 動作確認3 ...

Gitの便利なコマンド

1 はじめに2 cherry-pick2.1 使い方3 stash3.1 使い方3.2 退避した作業の一覧を見る3.3 退避した作業を戻す3.4 退避した作業を消す3.5 退避した作業を元に戻すと同時 ...

暗号資産(仮想通貨)を個人で購入・売却した際の手数料の取り扱い

1 はじめに2 暗号資産の手数料の取り扱い2.1 購入時の手数料2.2 売却時の手数料2.3 手数料の消費税について3 手数料が含まれた暗号資産の仕訳3.1 暗号資産を現金で購入した場合3.2 暗号資 ...

フォロー

blog-page_side_responsive

2026年5月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

アプリ情報

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