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


関連記事

仮想通貨のレンディングについて仕組みと収支について

1 はじめに2 レンディングとは2.1 レンディングの手順2.2 仮想通貨でレンディングをするメリット2.3 仮想通貨でレンディングをするデメリット3 レンディングの収支3.1 レンディング報酬を受け ...

VSCodeのAgentでMCPを活用しよう

1 はじめに2 VSCodeでのMCP Serverの設定2.1 グローバルとワークスペース2.2 MCP Serverの追加3 ユースケース1: Playwright MCPでテストコード生成4 ユ ...

元mac使いがUbuntuで理想の作業環境に近づけるためにやったこと

1 はじめに2 Ubuntuのインストール2.1 買ったもの2.2 インストールメディアの作成2.3 インストールメディアの起動3 キーボード・トラックパッド周りのカスタマイズ3.1 kinto.sh ...

暗号資産(仮想通貨)の取引で損益が発生するパターン

1 はじめに2 暗号資産の利益が発生するパターン2.1 暗号資産を現金で売却した場合2.2 暗号資産を暗号資産で交換(購入)した場合2.3 取引所などから暗号資産を付与された場合(エアドロップ)2.4 ...

ToDoアプリ5選

デザインの個性が現れるToDoアプリ5選!!

ToDoアプリ 1 はじめに2 Upper3 Wunderlist4 To:day5 Clear6 SWIPES7 さいごに はじめに こんにちはー!デザイナーのnottyです。 4月から新社会人とし ...

フォロー

blog-page_side_responsive

2026年5月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

アプリ情報

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