GitHubスペックキットとは

完了

GitHub Spec Kit は、スペック駆動型の開発を容易にするためにGitHubによって開発されたオープンソースツールキットです。 これは、GitHub Copilotなどの AI コーディング アシスタントと統合し、構造化されたコマンド、テンプレート、永続的な成果物を使用して SDD ワークフローを調整するように設計されています。

GitHub Spec Kit は、コピロットの副操縦士と考えてください。AI を構造化されたプロセスに導き、開発の各フェーズで一貫した高品質の出力を確保します。

GitHub Spec Kit は、AI 支援型開発における基本的な課題である、コーディング アシスタントとの複数の対話間でのコンテキストと一貫性の維持に取り組んでいます。 構造がなければ、AI を使用した各チャット セッションは分離して動作し、以前の決定やプロジェクト全体の要件に対する認識が欠けています。 GitHub Spec Kit は、次の方法でこの課題を解決します。

  • 永続的な成果物の作成: 仕様、計画、タスクは Markdown ファイルとしてリポジトリに格納され、要件と決定の永続的な記録が作成されます。

  • ワークフローの標準化: 定義されたプロセスは、仕様、計画、タスクの内訳、実装に関する高レベルの要件からガイドします。

  • 再利用可能なコマンドの提供: 組み込みのスラッシュ コマンドは、ベスト プラクティスのプロンプト パターンをカプセル化するため、開発フェーズごとに最適なプロンプトを作成する必要はありません。

重要なポイント: GitHub Spec Kit は AI モデル自体ではなく、選択した AI エージェントwith動作するフレームワークと CLI です。 AI を使用して仕様、計画、タスクを生成することで、すべてを手動で記述する必要はなく、高度なアイデアを作業コードに変換するのに役立ちます。

GitHubスペックキットの基本原則

GitHub Spec Kit の設計は、SDD の原則を直接実装します。

  • 実行可能な仕様: GitHub Spec Kit は、コマンドを使用してコード生成を実行することで、仕様を "実行可能" にします。 仕様は単なるドキュメントではなく、実装を生成する入力です。

  • 構造化ワークフローの適用: GitHub Spec Kit では、フェーズを順番に説明します。 ツールのワークフローは前のフェーズで各フェーズを構築するように設計されているため、最初に仕様と計画を用意しないと効果的に実装できません。

  • 意図優先のアプローチ: 常に、ツールのフローで (仕様内で) 意図を明示的に指定することから始めます。 作成者の目標は、開発者が製品の要件と結果に集中できるようにすることであり、AI は定型コードを処理します。

サポートされているプロジェクトの種類

GitHub Spec Kit は、さまざまな種類のプロジェクトで動作し、そのアプローチを状況に合わせて調整します。

グリーンフィールド プロジェクト

Greenfield プロジェクトはプロジェクト フォルダーから始まりますが、既存のコードはありません。 プロジェクト フォルダー GitHub Spec Kit を初期化すると、アプリケーションの作成に役立ちます。 機能のアイデアについて説明し、GitHub Spec Kit を使用して、完全なスペック、計画、タスクリストを生成します。 このモジュールのラボ演習では、このシナリオを示します。

Brownfield プロジェクト

ブラウンフィールド プロジェクトは、既存のコードベースから始まります。 既存のリポジトリGitHub Spec Kit を初期化すると、既存のアーキテクチャと設計上の決定を尊重しながら新機能を追加できます。 GitHub Spec Kit は、コードベースの構造と規則をプロジェクトの構成に要約するのに役立ちます。これは、プロジェクトの標準とガイドラインを含むドキュメントです。 新機能の仕様を作成し、GitHub Spec Kit によって、機能を現在のコードと統合する計画とタスクが生成されます。 このプロセスにより、AI によって生成されたコードが既存のアプリケーションと一貫性を保ちます。

探索的プロジェクト

複数の潜在的なアプローチを検討している場合、GitHub Spec Kit は同じ仕様から複数のプランを生成できます。 別の計画を生成し、アプローチを選択する前に比較することで、さまざまな最適化ターゲット (パフォーマンス、保守容易性、コスト) を調べることができます。

リファクタリングとモダン化

GitHubスペックキットは、所望の終了状態を仕様として扱うことでリファクタリング作業を導くことができます。 リファクタリングされたコードで達成すべき内容 (構造が改善された同じ機能) を文書化し、リファクタリング アプローチの計画を作成し、増分変更のタスクを生成します。

GitHub Spec Kit が SDD フェーズにどのように一致するか

GitHub Spec Kit には、SDD フェーズごとにコマンドまたはステップが用意されています。

SDD フェーズ GitHub Spec Kit コマンド 出力ファイル
構成 (セットアップ) /speckit.constitution constitution.md
指定 /speckit.specify spec.md
Plan /speckit.plan plan.md
タスク /speckit.tasks tasks.md
Implement /speckit.implement ソースコード

この一対一のマッピングは、SDDが単なる理論ではないことを示しています- GitHub Spec Kit はそれを具体的なコマンドとアーティファクトに運用化します。

GitHub スペック キットに含まれるコンポーネント

GitHub Spec Kit を設定すると、いくつかの統合コンポーネントが得られます。

CLI ツールの指定

specify コマンド ライン ツールは、スペック ドリブン プロジェクトを初期化して管理します。 プロジェクト ディレクトリで specify init を実行すると、次のようになります。

  1. AI コーディング アシスタントの選択を求めるメッセージが表示される
  2. ワークフロー テンプレートを使用して .github/prompts/ ディレクトリを作成します
  3. 仕様のフォルダーを含むプロジェクト構造を生成します
  4. テンプレート ファイルを作成します:constitution.md、spec.md、plan.md、tasks.md
  5. 選択した AI アシスタントとの統合を構成します

Markdown アーティファクト ファイル

GitHub Spec Kit では、主要な開発成果物として構造化された Markdown ファイルが使用されます。 これらのファイルはパッシブ ドキュメントではなく、AI コードの生成を積極的に推進します。

  • constitution.md: Project全体の原則、制約、および否定できない要件
  • spec.md: 機能要件、ユーザー ストーリー、および受け入れ条件
  • plan.md: 技術的なアーキテクチャと実装戦略
  • tasks.md: 個別の操作可能な作業項目

スラッシュ コマンド

GitHub Spec Kit は、特定のワークフロー フェーズをトリガーするカスタム チャット コマンドを通じて、Visual Studio Codeと統合されます。 これらのコマンドは、初期化後に GitHub Copilot Chat パネルに表示されます。

テンプレート

GitHub Spec Kit には、標準構造を確保する、仕様、計画、タスク、およびその他の成果物のテンプレート ファイルが含まれています。 新しいプロジェクトを開始すると、テンプレートによって入力するセクションが提供され、含める情報が示されます。

マルチエージェントのサポート

GitHub Spec Kit では、GitHub Copilot以外の複数の AI コーディング アシスタントがサポートされています。 specify initを実行するときは、サポートされているエージェントから選択します。

  • GitHub Copilot (Visual Studio Codeによる統合)
  • Claude Code
  • Cursor
  • Windsurf
  • Amazon Q Developer
  • その他

基になる仕様成果物 (spec.md、plan.md、tasks.md) は、使用する AI アシスタントに関係なく同じままです。 このエージェントに依存しないアプローチにより、ベンダーのロックインを防ぎ、チームは一貫した SDD プラクティスを維持しながら、さまざまな AI ツールを試すことができます。

GitHub Spec Kit を使用する理由

GitHub Spec Kit には、AI 支援を使用してスペック駆動型開発を採用する開発者向けに、いくつかの利点があります。

  • 効率: AI を使用して、仕様と計画を迅速に下書きします。 最初から書き込むのに何時間もかかる場合GitHub Spec Kit は数分で生成できます (ただし、調整します)。

  • 一貫性: テンプレートを使用して一貫した形式を適用し、毎回一貫したアプローチを適用します。チームワークと反復可能なプロセスにとって重要です。

  • Multi-agent の柔軟性: ワークフローを変更せずに、好む AI 環境 (GitHub Copilot、クロードなどを使用したVisual Studio Code) を使用します。

  • Enterprise ready: 憲法の概念はGitHub Spec Kit が全社的なベスト プラクティスをエンコードし、すべてのプランで AI がそれらに従っていることを確認する準備ができていることを意味します。

  • Open source and extensible: 組織はテンプレートをカスタマイズしたり、改善に貢献したり、GitHub Spec Kit をシステムと統合したりできます。

GitHub Spec Kit を使用すると、何日もかかる可能性のあることを数分で実現できます。これは、AI プロジェクト マネージャーがコード生成を指導し、重要な事項 (製品の要件と結果) に重点を置くようなものです。

概要

GitHub Spec Kit は、構造化されたワークフロー、永続的な成果物、AI 統合を提供することで、スペック駆動型の開発を運用可能にするオープンソース のツールキットです。 コマンドとテンプレートを使用して、指定、計画、タスク、実装の SDD フェーズについて説明します。これにより、効率的で一貫性のある高品質のソフトウェア開発が可能になります。 マルチエージェントのサポートとエンタープライズ対応により、GitHub Spec Kit は、プロジェクトの要件と設計原則を制御しながら、チームが AI を効果的に適用できるようにします。

詳細については、「 テキストと画像 」タブを参照してください。