GitHub Spec Kit 開発環境を確認する
GitHub Spec Kit では、スペック駆動型の開発ワークフローをサポートするために適切に構成された開発環境が必要です。 適切に構成された環境には、CLI の指定、AI コーディング アシスタント、コード エディター、バージョン管理システムが含まれます。 GitHub Spec Kit 開発環境を構成するコンポーネント、サポートされている構成、インストールと初期化の概念を理解することが重要です。
開発環境のコンポーネント
GitHub Spec Kit 開発環境は、スペック駆動型開発プロセスをサポートするために連携するいくつかの重要なコンポーネントで構成されています。
CLI の指定: プロジェクトを初期化し、テンプレート構造を作成し、スペックドリブン ワークフローを管理するコマンド ライン インターフェイス ツール。 Specify CLI は Python ベースであり、Python 3.11 以降が必要であり、GitHub Spec Kit プロジェクトを設定するための基盤として機能します。
uv パッケージ マネージャー: Specify CLI のインストールと管理に推奨されるツール。
uvツールは、Specify CLI の永続的なインストール、バージョン管理、およびアップグレード機能を提供します。AI 統合を備えたコード エディター: GitHub Spec Kit は、チャット インターフェイスとスラッシュ コマンドを介して AI コーディング アシスタントをサポートするコード エディターと連携するように設計されています。 Visual Studio Code と GitHub Copilot は、サポートされている主要な構成ですが、ツールキットは他の AI エージェントをサポートします。
バージョン管理システム: GitHub Spec Kit 成果物 (仕様、計画、タスク、および構成ファイル) は、バージョン管理されたリポジトリにマークダウン ファイルとして格納されます。 Git は、GitHub、GitHub Enterprise Server、および Azure Repos をサポートする標準バージョン管理システムです。
AI コーディング アシスタント: 仕様駆動型ワークフローは、AI モデルを使用して仕様を解釈し、実装計画とコードを生成します。 GitHub Spec Kit では複数の AI エージェントがサポートされていますが、GitHub Copilot はこのトレーニングに推奨される AI アシスタントです。
プログラミング ランタイム (コンテキスト依存):GitHub Spec Kit 自体には特定のプログラミング ランタイムは必要ありませんが、選択したテクノロジ スタック (.NET SDK、Node.js、Python など) に基づいて機能を実装するための適切なランタイムが必要です。
サポートされている AI エージェントとモデル
GitHub Spec Kit は、チャット インターフェイスとカスタム スラッシュ コマンドをサポートするさまざまな AI コーディング アシスタントと連携するように設計されています。 サポートされているオプションを理解することは、開発ワークフローに適した構成を選択するのに役立ちます。
GitHub Copilot: GitHub Spec Kit でサポートされているプライマリ AI アシスタント。Visual Studio Code の GitHub Copilot Chat 拡張機能を通じて利用できます。 GitHub Copilot は、統合されたチャット エクスペリエンス、インライン コードの提案、GitHub Spec Kit ワークフローをトリガーするカスタム スラッシュ コマンドのサポートを提供します。
広範な AI エージェントのサポート: GitHub Spec Kit では、Claude Code、Cursor、Windsurf、Gemini CLI、Qwen Code、Kilo Code、Auggie CLI、CodeBuddy CLI、Roo Code、Codex CLI、Amp など、15 を超える AI コーディング アシスタントがサポートされています。 各エージェントは、同様のパターン (
/speckit.*スラッシュ コマンドを認識し、プロジェクト成果物を読み取って実装をガイドできるチャット インターフェイス) を通じて GitHub Spec Kit と統合します。エージェント固有の制限事項: ほとんどのエージェントは GitHub Spec Kit を完全にサポートしていますが、一部には制限があります。 たとえば、Amazon Q Developer CLI ではスラッシュ コマンドのカスタム引数がサポートされていません。これは、特定のワークフローのカスタマイズに影響する可能性があります。
モデル要件: GitHub Spec Kit ワークフローは、複雑な仕様を理解し、複数の成果物間でコンテキストを維持し、構造化された出力を生成できる AI モデルに依存します。 広範なコンテキスト ウィンドウを備えた最新の大規模言語モデルは、仕様の解釈と包括的な実装計画の生成に最適です。
テクノロジ スタックと言語のサポート
GitHub Spec Kit の主要な原則の 1 つは、テクノロジの独立性です。仕様に基づくアプローチは、さまざまなテクノロジ スタック、プログラミング言語、フレームワークに適用されます。
言語に依存しない: 仕様では、ビルド方法ではなく、何を構築するかを記述します。 .NET、Node.js、Python、Java、またはその他の言語で同じ仕様を実装できます。 技術スタックの選択は、仕様の間ではなく、計画フェーズ中に行われます。
フレームワークの柔軟性: GitHub Spec Kit では、プロジェクトに適した任意のフレームワークまたはライブラリがサポートされます。 React、Angular、Blazor、Express または ASP.NET Core を使用したバックエンド サービス、または .NET MAUI または React Native を使用したモバイル アプリを使用して Web アプリケーションを構築する場合でも、仕様に基づくプロセスは一貫性を保ちます。
クラウド プラットフォームの中立性: 仕様にはアーキテクチャの制約 ("Azure サービスの使用" や "AWS へのデプロイ" など) を含めることができますが、GitHub Spec Kit では特定のクラウド プロバイダーは適用されません。 構成ファイルで定義されている組織標準は、クラウド プラットフォームの選択肢をガイドします。
複数の同時実装: 高度な GitHub Spec Kit ワークフローは、異なるテクノロジ スタックを使用して同じ仕様の複数の並列実装を作成することをサポートし、最終的なアプローチにコミットする前に多様なソリューションを探索できるようにします。
プラットフォームとオペレーティング システムのサポート
GitHub Spec Kit は主要なオペレーティング システム間で動作し、開発チームが優先プラットフォームを使用できるようにします。
Windows サポート: PowerShell とコマンド プロンプトの両方の互換性を備えた、Windows 10 以降での完全なサポート。 Specify CLI には、初期化と構成用の Windows 固有のスクリプトが含まれています。
macOS と Linux のサポート: bash と zsh シェルの互換性を備えた macOS および Linux ディストリビューションでのネイティブ サポート。 インストールは、パッケージ マネージャーと pip を使用する標準の Unix 規則に従います。
クロスプラットフォームの整合性: GitHub Spec Kit 成果物 (Markdown ファイル、プロンプト テンプレート、および構成) ではプラットフォームに依存しない形式が使用され、仕様とプランが異なるオペレーティング システム間で同じように動作します。
エンタープライズ環境に関する考慮事項
多くの場合、組織には、開発環境の構成に影響を与える特定の要件、ポリシー、インフラストラクチャがあります。
企業ネットワークの制限: エンタープライズ環境では、プロキシ サーバー、カスタム証明機関、またはパッケージのインストールと Git 操作に影響するファイアウォール規則が使用される場合があります。 開発環境では、プロキシの構成と証明書の信頼設定によって、これらの制約を考慮する必要があります。
拡張機能とソフトウェアの承認: 組織によっては、Visual Studio Code 拡張機能のインストールを承認済みのマーケットプレースに制限したり、セキュリティ レビューを要求したりする場合があります。 これらのポリシーを理解することは、環境セットアップのタイムラインを計画するのに役立ちます。
マネージド開発環境: 多くの組織は、事前構成済みの開発仮想マシン、コンテナー、またはクラウドベースの開発環境を提供します。 これらのマネージド環境には、多くの場合、Python、Git、Visual Studio Code がプレインストールされており、セットアップが簡素化され、組織の標準に準拠していることが保証されます。
Azure DevOps 統合: GitHub ではなく Azure DevOps を使用するチームの場合、GitHub Spec Kit 成果物は Azure Repos とシームレスに統合されます。 タスクは Azure Boards の作業項目にリンクでき、仕様は pull request のドキュメントとして機能します。
GitHub Enterprise Server: GitHub Enterprise Server (セルフホステッド GitHub) を使用する組織は、エンタープライズ固有の認証、コンプライアンス制御、組織ポリシーで GitHub Spec Kit を使用できます。
インストールと初期化の概念
GitHub Spec Kit をインストールして初期化する方法を理解すると、環境のセットアップ プロセスを理解するのに役立ちます。
主なインストールと初期化の概念は次のとおりです。
CLI インストールの指定: Specify CLI は、
uvツールを使用して永続的にインストールできます。specifyコマンドをシステム全体で使用できるようにするか、永続的なインストールなしでuvx経由で 1 回限り使用できます。 継続的なインストールは、継続的な開発作業に推奨され、uv tool list、uv tool upgrade、およびuv tool uninstallコマンドを使用してツール管理を向上させます。環境検証:
specify checkコマンドは、Git や選択した AI コーディング エージェントなど、必要なツールがインストールされ、アクセス可能であることを確認します。 この検証手順は、開発作業を開始する前に環境の問題を診断するのに役立ちます。プロジェクトの初期化:
specify initコマンドは、スペック駆動型開発用のプロジェクト構造を作成します。 このプロセスにより、プロンプト テンプレート ディレクトリ、アーティファクト テンプレート ファイル、および構成が生成されます。これにより、AI アシスタントは、/speckit.*スラッシュ コマンドを認識して応答できます。高度な初期化オプション:
specify initコマンドは、エンタープライズおよび特殊化されたシナリオのさまざまなフラグをサポートします。これには、Git の初期化 (--no-git)、既存のディレクトリ (--here、--force) の使用、企業環境 (--github-token) の GitHub トークンの指定、プロキシ シナリオの TLS 検証のスキップ (--skip-tls)、詳細なデバッグ出力 (--debug) の有効化などのオプションが含まれます。AI エージェントの選択: 初期化中に、使用する AI コーディング アシスタント (GitHub Copilot、Claude など) を選択します。 この選択により、構成するプロンプト テンプレートと統合スクリプトが決まります。
バージョン管理の統合: GitHub Spec Kit では、Git リポジトリが既定で初期化されます (明示的に無効になっている場合を除く)。すべての成果物が最初からバージョン管理されていることを確認します。 バージョン管理の統合により、チームが仕様を共有し、時間の経過と共に変更を追跡するコラボレーション ワークフローが可能になります。
初期化後のプロジェクト構造
初期化後、GitHub Spec Kit によって標準化されたプロジェクト構造が作成されます。
.github/prompts/ディレクトリ: 仕様に基づくワークフローの各フェーズを AI アシスタントに案内するプロンプト テンプレート ファイルが含まれています。 ファイルには、constitution.prompt.md、specify.prompt.md、clarify.prompt.md、plan.prompt.md、tasks.prompt.md、implement.prompt.md、analyze.prompt.md、およびchecklist.prompt.mdが含まれます。アーティファクト テンプレート ファイル: GitHub Spec Kit は、プロジェクト ルートに
constitution.md、spec.md、plan.md、およびtasks.mdのテンプレート バージョンを作成します。 これらのテンプレートは、ワークフロー中に設定されるセクション プレースホルダーの開始点を提供します。構成ファイル: 選択した AI エージェントによっては、GitHub Spec Kit によって、コーディング アシスタントの環境と統合される他の構成ファイルが作成される場合があります。
スクリプトバリアント: クロスプラットフォームのサポートのために、GitHub Spec Kit は bash/zsh スクリプト (
.shファイル) と PowerShell スクリプト (.ps1ファイル) の両方を生成し、さまざまなオペレーティング システムやシェルとの互換性を確保できます。
スラッシュ コマンドのアーキテクチャ
AI コーディング アシスタントに表示される /speckit.* コマンドは、GitHub Spec Kit のプロンプト テンプレート アーキテクチャを通じて有効になります。
コマンド認識: AI チャット インターフェイスで
/speckitを入力すると、アシスタントは、.github/prompts/のプロンプト テンプレートに基づいてカスタム コマンドを認識します。コア ワークフロー コマンド: スペック駆動型開発ワークフローの重要なコマンドには、
/speckit.constitution(プロジェクト 原則の作成)、/speckit.specify(要件の定義)、/speckit.plan(技術計画の作成)、/speckit.tasks(タスク リストの生成)、/speckit.implement(実装の実行) が含まれます。品質強化コマンド: その他のコマンドでは、
/speckit.clarify(指定されていない領域の明確化)、/speckit.analyze(成果物間整合性分析)、/speckit.checklist(品質検証チェックリストの生成) など、反復的な絞り込みと検証がサポートされます。テンプレート駆動型ガイダンス: 各スラッシュ コマンドは、特定の成果物を生成または更新する方法について AI に指示するプロンプト テンプレート ファイルに対応します。 たとえば、
specify.prompt.mdは、概要、要件、受け入れ基準、およびエッジ ケースのセクションを含む構造化された仕様を作成するように AI に指示します。コンテキスト認識: プロンプト テンプレートはプロジェクト内の他の成果物を参照し、AI が一貫性を維持できるようにします。 たとえば、
/speckit.planは、技術計画を生成するときにconstitution.md(制約の場合) とspec.md(要件) の両方を参照します。カスタマイズの可能性: 組織は、プロンプト テンプレートをカスタマイズして、特定のドキュメント標準を適用したり、必要なセクションを追加したり、ドメイン固有の用語を組み込んだりすることができます。
環境検証の概念
適切に構成された環境により、スムーズな仕様駆動型開発ワークフローが可能になります。
主な検証ポイントは次のとおりです。
CLI アクセシビリティ:
specifyコマンドは、CLI の正常なインストールを示すターミナル パスで使用できる必要があります。Visual Studio Code 拡張機能のアクティブ化: GitHub Copilot Chat 拡張機能をインストール、アクティブ化、認証し、スラッシュ コマンドに使用されるチャット インターフェイスを有効にする必要があります。
プロジェクト認識: 初期化後、Visual Studio Code でプロジェクトを開くと、GitHub Copilot Chat オートコンプリートで
/speckit.*コマンドを使用できるようになります。バージョン管理の準備: Git を構成し、リポジトリを初期化して、成果物のコミットとコラボレーションを許可する必要があります。
環境変数: GitHub Spec Kit では、環境変数を使用した構成がサポートされています。 たとえば、
SPECIFY_FEATURE変数は、Git 以外のリポジトリでの機能検出をオーバーライドして、Git ブランチが使用されていない場合に特定の機能に対する作業を有効にすることができます。
環境に関する一般的な考慮事項
さまざまな開発シナリオでは、さまざまな環境の課題が発生します。
企業プロキシとファイアウォール: エンタープライズ ネットワークでは、多くの場合、パッケージのインストールと Git 操作にプロキシ構成が必要です。 証明機関では、企業の HTTPS インターセプトを信頼する前に構成が必要になる場合があります。
拡張機能の承認プロセス: セキュリティ ポリシーを持つ組織では、Visual Studio Code 拡張機能をインストールする前に承認が必要になる場合があり、セットアップのタイムラインに影響します。
Python バージョン管理: 1 台のコンピューター上で複数の Python バージョンを使用すると、パスの競合が発生する可能性があります。 アクティブな Python インタープリターを理解することは、インストールの問題のトラブルシューティングに役立ちます。
PATH 構成: pip または uv を使用してインストールされた CLI ツールには、システム PATH にインストール ディレクトリが必要です。 PATH の構成は、オペレーティング システムとシェルによって異なる方法で処理されます。
マネージド環境とセルフサービス環境: 事前構成済みの開発 VM によってセットアップが簡略化されますが、カスタマイズが制限される場合があります。 セルフサービスローカルインストールは柔軟性を提供しますが、より個別の構成が必要です。
概要
GitHub Spec Kit 開発環境は、Specify CLI、AI コーディング アシスタント、コード エディター、バージョン管理システムなどの重要なコンポーネントを組み合わせて、効果的なスペック駆動型開発ワークフローを実現します。 スラッシュ コマンド、プロジェクト構造、環境検証プロセスのアーキテクチャを理解することで、生産性の高い開発環境を設定して維持することができます。 エンタープライズ設定の一般的な考慮事項に対処することで、一貫性のあるトレース可能な実装に AI を利用したコーディング 支援を使用しながら、組織の要件を満たすように GitHub Spec Kit を適応させることができます。