copilot-instructions-blueprint-generator
既存のコードベースのパターンを分析し、推測に頼らないことで、プロジェクト標準、アーキテクチャパターン、および特定のテクノロジーバージョンに準拠したコードをGitHub Copilotが生成するよう指導する包括的なcopilot-instructions.mdファイルを作成するための、テクノロジーに依存しないブループリントジェネレータです。
description の原文を見る
Technology-agnostic blueprint generator for creating comprehensive copilot-instructions.md files that guide GitHub Copilot to produce code consistent with project standards, architecture patterns, and exact technology versions by analyzing existing codebase patterns and avoiding assumptions.
SKILL.md 本文
Copilot Instructions Blueprint Generator
Configuration Variables
${PROJECT_TYPE="Auto-detect|.NET|Java|JavaScript|TypeScript|React|Angular|Python|Multiple|Other"} <!-- Primary technology --> ${ARCHITECTURE_STYLE="Layered|Microservices|Monolithic|Domain-Driven|Event-Driven|Serverless|Mixed"} <!-- Architectural approach --> ${CODE_QUALITY_FOCUS="Maintainability|Performance|Security|Accessibility|Testability|All"} <!-- Quality priorities --> ${DOCUMENTATION_LEVEL="Minimal|Standard|Comprehensive"} <!-- Documentation requirements --> ${TESTING_REQUIREMENTS="Unit|Integration|E2E|TDD|BDD|All"} <!-- Testing approach --> ${VERSIONING="Semantic|CalVer|Custom"} <!-- Versioning approach -->
Generated Prompt
「プロジェクトの標準、アーキテクチャ、およびテクノロジーバージョンと一貫性のあるコードを生成するようにGitHub Copilotを誘導する包括的なcopilot-instructions.mdファイルを生成してください。指示は厳密にコードベースの実際のコードパターンに基づいており、推測を避ける必要があります。次のアプローチに従ってください。
1. コア指示構造
# GitHub Copilot Instructions
## Priority Guidelines
このリポジトリーのコードを生成する際には:
1. **バージョン互換性**: このプロジェクトで使用されているプログラミング言語、フレームワーク、およびライブラリーの正確なバージョンを常に検出して遵守してください
2. **コンテキストファイル**: .github/copilotディレクトリーで定義されているパターンと標準を優先してください
3. **コードベースパターン**: コンテキストファイルが特定のガイダンスを提供していない場合は、コードベースをスキャンして確立されたパターンを探してください
4. **アーキテクチャ一貫性**: ${ARCHITECTURE_STYLE}アーキテクチャスタイルと確立された境界を維持してください
5. **コード品質**: 生成されるすべてのコードで${CODE_QUALITY_FOCUS == "All" ? "保守性、パフォーマンス、セキュリティ、アクセシビリティ、およびテスト可能性" : CODE_QUALITY_FOCUS}を優先してください
## テクノロジーバージョン検出
コードを生成する前に、コードベースをスキャンして以下を特定してください:
1. **プログラミング言語バージョン**: 使用されているプログラミング言語の正確なバージョンを検出します
- プロジェクトファイル、設定ファイル、パッケージマネージャーを確認してください
- 言語固有のバージョン指標を探してください(例:.NETプロジェクトの<LangVersion>)
- 検出されたバージョンを超える言語機能は決して使用しないでください
2. **フレームワークバージョン**: すべてのフレームワークの正確なバージョンを特定します
- package.json、.csproj、pom.xml、requirements.txtなどをチェックしてください
- コードを生成する際にバージョン制約を尊重してください
- 検出されたフレームワークバージョンで利用できない機能を決して提案しないでください
3. **ライブラリーバージョン**: 主要なライブラリーと依存関係の正確なバージョンをメモしてください
- これらの特定のバージョンと互換性のあるコードを生成してください
- 検出されたバージョンで利用できないAPIまたは機能を決して使用しないでください
## コンテキストファイル
.github/copilotディレクトリーの以下のファイルを優先してください(存在する場合):
- **architecture.md**: システムアーキテクチャガイドライン
- **tech-stack.md**: テクノロジーバージョンおよびフレームワークの詳細
- **coding-standards.md**: コードスタイルおよびフォーマット標準
- **folder-structure.md**: プロジェクト構成ガイドライン
- **exemplars.md**: 従うべき模範的なコードパターン
## コードベーススキャン指示
コンテキストファイルが特定のガイダンスを提供していない場合:
1. 変更または作成されているファイルと同様のファイルを特定してください
2. 以下のパターンを分析してください:
- 命名規則
- コード構成
- エラーハンドリング
- ロギングアプローチ
- ドキュメンテーションスタイル
- テストパターン
3. コードベースで見つかった最も一貫性のあるパターンに従ってください
4. 矛盾するパターンが存在する場合は、新しいファイルまたはテストカバレッジが高いファイルのパターンを優先してください
5. 既存のコードベースに見つからないパターンを決して導入しないでください
## コード品質基準
${CODE_QUALITY_FOCUS.includes("Maintainability") || CODE_QUALITY_FOCUS == "All" ? `### 保守性
- 明確な名前付けの自己説明的なコードを書いてください
- コードベースで明らかな命名および構成規則に従ってください
- 一貫性のために確立されたパターンに従ってください
- 関数を単一責任に集中させてください
- 関数の複雑さと長さを既存のパターンと一致させてください` : ""}
${CODE_QUALITY_FOCUS.includes("Performance") || CODE_QUALITY_FOCUS == "All" ? `### パフォーマンス
- メモリおよびリソース管理の既存パターンに従ってください
- 計算負荷が高い操作の処理の既存パターンと一致させてください
- 非同期操作の確立されたパターンに従ってください
- 既存のパターンと一貫してキャッシングを適用してください
- コードベースで明らかなパターンに従って最適化してください` : ""}
${CODE_QUALITY_FOCUS.includes("Security") || CODE_QUALITY_FOCUS == "All" ? `### セキュリティ
- 入力検証の既存パターンに従ってください
- コードベースで使用されているのと同じサニタイゼーション技術を適用してください
- 既存のパターンと一致するパラメーター化クエリーを使用してください
- 確立された認証および認可パターンに従ってください
- 既存のパターンに従ってセンシティブデータを処理してください` : ""}
${CODE_QUALITY_FOCUS.includes("Accessibility") || CODE_QUALITY_FOCUS == "All" ? `### アクセシビリティ
- コードベースの既存のアクセシビリティパターンに従ってください
- 既存のコンポーネントのARIA属性の使用と一致させてください
- 既存のコードと一貫したキーボードナビゲーション対応を維持してください
- 色とコントラストの確立されたパターンに従ってください
- コードベースと一貫したテキスト代替パターンを適用してください` : ""}
${CODE_QUALITY_FOCUS.includes("Testability") || CODE_QUALITY_FOCUS == "All" ? `### テスト可能性
- テスト可能なコードの確立されたパターンに従ってください
- コードベースで使用されている依存性注入アプローチと一致させてください
- 依存関係を管理するための同じパターンを適用してください
- 確立されたモッキングおよびテストダブルパターンに従ってください
- 既存のテストで使用されているテストスタイルと一致させてください` : ""}
## ドキュメンテーション要件
${DOCUMENTATION_LEVEL == "Minimal" ?
`- 既存のコードで見つかったコメントのレベルとスタイルと一致させてください
- コードベースで観察されたパターンに従ってドキュメント化してください
- 明らかでない動作をドキュメント化する既存のパターンに従ってください
- 既存のコードと同じパラメーター説明の形式を使用してください` : ""}
${DOCUMENTATION_LEVEL == "Standard" ?
`- コードベースで見つかったドキュメンテーション形式に従ってください
- 既存のコメントのXML/JSDocスタイルと完全性と一致させてください
- パラメーター、戻り値、および例外を同じスタイルでドキュメント化してください
- ドキュメンテーション例の既存のパターンに従ってください
- クラスレベルのドキュメンテーションスタイルおよび内容と一致させてください` : ""}
${DOCUMENTATION_LEVEL == "Comprehensive" ?
`- コードベースで見つかった最も詳細なドキュメンテーションパターンに従ってください
- 最もよくドキュメント化されたコードのスタイルと完全性と一致させてください
- 最も徹底的にドキュメント化されたファイルと同じようにドキュメント化してください
- ドキュメンテーションをリンクする既存のパターンに従ってください
- 設計上の決定の説明の詳細レベルと一致させてください` : ""}
## テストアプローチ
${TESTING_REQUIREMENTS.includes("Unit") || TESTING_REQUIREMENTS == "All" ?
`### ユニットテスト
- 既存のユニットテストの正確な構造とスタイルと一致させてください
- テストクラスおよびメソッドに対して同じ命名規則を使用してください
- 既存のテストで見つかった同じアサーションパターンを使用してください
- コードベースで使用されているのと同じモッキングアプローチを適用してください
- テスト分離の既存のパターンに従ってください` : ""}
${TESTING_REQUIREMENTS.includes("Integration") || TESTING_REQUIREMENTS == "All" ?
`### 統合テスト
- コードベースで見つかった同じ統合テストパターンに従ってください
- テストデータのセットアップおよびティアダウンの既存のパターンと一致させてください
- コンポーネント間の相互作用をテストするのと同じアプローチを使用してください
- システム動作の検証の既存のパターンに従ってください` : ""}
${TESTING_REQUIREMENTS.includes("E2E") || TESTING_REQUIREMENTS == "All" ?
`### エンドツーエンドテスト
- 既存のE2Eテスト構造およびパターンと一致させてください
- UIテストの確立されたパターンに従ってください
- ユーザージャーニーの検証に対して同じアプローチを適用してください` : ""}
${TESTING_REQUIREMENTS.includes("TDD") || TESTING_REQUIREMENTS == "All" ?
`### テスト駆動開発
- コードベースで明らかなTDDパターンに従ってください
- 既存のコードで見られるテストケースの進行と一致させてください
- テストが成功した後の同じリファクタリングパターンを適用してください` : ""}
${TESTING_REQUIREMENTS.includes("BDD") || TESTING_REQUIREMENTS == "All" ?
`### ビヘイビア駆動開発
- テストの既存のGiven-When-Then構造と一致させてください
- 動作説明の同じパターンに従ってください
- テストケースで同じレベルのビジネス焦点を適用してください` : ""}
## テクノロジー固有ガイドライン
${PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### .NETガイドライン
- 使用中の特定の.NETバージョンを検出して厳密に遵守してください
- 検出されたバージョンと互換性のあるC#言語機能のみを使用してください
- LINQの使用パターンをコードベースに表示されるとおりに正確に従ってください
- 既存のコードからasync/awaitの使用パターンと一致させてください
- コードベースで使用されているのと同じ依存性注入アプローチを適用してください
- 既存のコードで見つかった同じコレクション型およびパターンを使用してください` : ""}
${PROJECT_TYPE == "Java" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Javaガイドライン
- 使用中の特定のJavaバージョンを検出して遵守してください
- コードベースで見つかった正確な同じデザインパターンに従ってください
- 既存のコードからの例外処理パターンと一致させてください
- コードベースで見つかった同じコレクション型およびアプローチを使用してください
- 既存のコードで明らかな依存性注入パターンを適用してください` : ""}
${PROJECT_TYPE == "JavaScript" || PROJECT_TYPE == "TypeScript" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### JavaScript/TypeScriptガイドライン
- 使用中の特定のECMAScript/TypeScriptバージョンを検出して遵守してください
- コードベースで見つかった同じモジュールのインポート/エクスポートパターンに従ってください
- TypeScript型定義を既存のパターンと一致させてください
- 既存のコードと同じ非同期パターン(プロミス、async/await)を使用してください
- 同様のファイルからのエラーハンドリングパターンに従ってください` : ""}
${PROJECT_TYPE == "React" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Reactガイドライン
- 使用中の特定のReactバージョンを検出して遵守してください
- 既存のコンポーネントからのコンポーネント構造パターンと一致させてください
- コードベースで見つかった同じフックおよびライフサイクルパターンに従ってください
- 既存のコンポーネントで使用されているのと同じ状態管理アプローチを適用してください
- 既存のコードからのプロップ型指定および検証パターンと一致させてください` : ""}
${PROJECT_TYPE == "Angular" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Angularガイドライン
- 使用中の特定のAngularバージョンを検出して遵守してください
- コードベースで見つかった同じコンポーネントおよびモジュールパターンに従ってください
- デコレーターの使用を既存のコードで見られるとおりに正確に一致させてください
- コードベースで見つかった同じRxJSパターンを適用してください
- コンポーネント通信の既存のパターンに従ってください` : ""}
${PROJECT_TYPE == "Python" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Pythonガイドライン
- 使用中の特定のPythonバージョンを検出して遵守してください
- 既存のモジュールで見つかった同じインポート構成に従ってください
- 型ヒントアプローチをコードベースで使用されている場合は一致させてください
- 既存のコードで見つかった同じエラーハンドリングパターンを適用してください
- 同じモジュール構成パターンに従ってください` : ""}
## バージョン管理ガイドライン
${VERSIONING == "Semantic" ?
`- コードベースで適用されているセマンティックバージョニングパターンに従ってください
- 既存のパターンで重大な変更をドキュメント化するのと一致させてください
- 廃止予定通知の同じアプローチに従ってください` : ""}
${VERSIONING == "CalVer" ?
`- コードベースで適用されているカレンダーバージョニングパターンに従ってください
- 既存のパターンで変更をドキュメント化するのと一致させてください
- 重要な変更をハイライトするのと同じアプローチに従ってください` : ""}
${VERSIONING == "Custom" ?
`- コードベースで観察された正確なバージョニングパターンと一致させてください
- 既存のドキュメンテーションで使用されているのと同じチェンジログ形式に従ってください
- プロジェクトで使用されているのと同じタグ付け規則を適用してください` : ""}
## 一般的なベストプラクティス
- 既存のコードで表示されるとおりに命名規則を正確に従ってください
- 同様のファイルからのコード構成パターンと一致させてください
- 既存のパターンと一貫したエラーハンドリングを適用してください
- コードベースで見られるのと同じテストアプローチに従ってください
- 既存のコードからのロギングパターンと一致させてください
- コードベースで見られるのと同じ構成アプローチを使用してください
## プロジェクト固有ガイダンス
- コードを生成する前にコードベースを徹底的にスキャンしてください
- 既存のアーキテクチャ境界を例外なく尊重してください
- 周囲のコードのスタイルおよびパターンと一致させてください
- 疑わしい場合は、外部のベストプラクティスや新しい言語機能よりも既存のコードとの一貫性を優先してください
2. コードベース分析指示
copilot-instructions.mdファイルを作成するには、まずコードベースを分析して以下を行ってください:
-
正確なテクノロジーバージョンを特定する:
- ${PROJECT_TYPE == "Auto-detect" ? "ファイル拡張子と設定ファイルをスキャンして、すべてのプログラミング言語、フレームワーク、およびライブラリーを検出してください" :
${PROJECT_TYPE}テクノロジーに焦点を当ててください} - プロジェクトファイル、package.json、.csprojなどから正確なバージョン情報を抽出してください
- バージョン制約と互換性要件をドキュメント化してください
- ${PROJECT_TYPE == "Auto-detect" ? "ファイル拡張子と設定ファイルをスキャンして、すべてのプログラミング言語、フレームワーク、およびライブラリーを検出してください" :
-
アーキテクチャを理解する:
- フォルダー構造とモジュール構成を分析してください
- 明確なレイヤー境界とコンポーネント関係を特定してください
- コンポーネント間の通信パターンをドキュメント化してください
-
コードパターンをドキュメント化する:
- さまざまなコード要素の命名規則をカタログ化してください
- ドキュメンテーションスタイルと完全性をメモしてください
- エラーハンドリングパターンをドキュメント化してください
- テストアプローチとカバレッジをマッピングしてください
-
品質標準をメモする:
- 実際に使用されているパフォーマンス最適化技術を特定してください
- コードに実装されているセキュリティプラクティスをドキュメント化してください
- 存在する(該当する場合)アクセシビリティ機能をメモしてください
- コードベースで明らかなコード品質パターンをドキュメント化してください
3. 実装上の注記
最終的なcopilot-instructions.mdは以下を行うべきです:
- .github/copilotディレクトリーに配置される
- コードベースに存在するパターンと標準のみを参照する
- 明示的なバージョン互換性要件を含める
- コードで明らかでないプラクティスを決して規定しない
- コードベースから具体的な例を提供する
- Copilotが効果的に使用できるよう包括的でありながら簡潔である
重要: コードベースで実際に観察されたパターンに基づくガイダンスのみを含めてください。Copilotに外部のベストプラクティスまたは新しい言語機能よりも既存のコードとの一貫性を優先するよう明示的に指示してください。 」
想定される出力
GitHub Copilotを誘導して、既存のテクノロジーバージョンと完全に互換性があり、確立されたパターンとアーキテクチャに従うコードを生成する包括的なcopilot-instructions.mdファイル。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- christophacham
- ライセンス
- MIT
- 最終更新
- 2026/3/3
Source: https://github.com/christophacham/agent-skills-library / ライセンス: MIT