一言で
Instructions は、Copilot に常に守ってほしい開発ルールをあらかじめ渡すための指示書。
Repository / Organization / Personal のスコープで読み込まれ、毎回プロンプトに書かなくてもチームの規約を適用できる。
3 つのスコープ
| スコープ | 📁 場所 | 💡 用途 |
|---|---|---|
| 👤 Personal(個人) | CLI:~/.copilot/copilot-instructions.mdVS Code:User Settings( github.copilot.chat.*.instructions)GitHub.com:Copilot Chat → プロフィール画像 → Personal Instructions | スタイルの好み・回答言語・個人的な書き方 |
| 📦 Repository(リポジトリ) | .github/copilot-instructions.md(単一)または .github/instructions/*.instructions.md(applyTo 付き) | プロジェクト規約・フレームワーク固有ルール・「X ライブラリを必ず使う」 |
| 🏢 Org / Enterprise(組織) | GitHub.com → Organization Settings → Copilot -> Custom instructions | コンプライアンス・セキュリティ要件・全社共通ポリシー |
🎯 マージ順:Org → Repository → Personal の順に積み上がる。Org のルールが最も強く、ユーザーが上書きできない。
📦 Repository レベル
チーム全員 に効くルール。git clone した瞬間にプロジェクト固有の規約が Copilot に伝わる。2 つのファイル形式 がある:
.github/copilot-instructions.md
🌍 グローバル
適用範囲:リポジトリ全体
読込:常に有効
用途:技術スタック・命名規則・使う / 使わないライブラリ・レビュー基準
.github/instructions/*.instructions.md
🎯 ファイル単位 (パスインストラクション)
適用範囲:applyTo グロブに一致するファイルのみ
読込:対象を操作する時だけ自動注入
用途:テスト専用・言語別・領域別ルール(フロント / API / DB など)
---
applyTo: "server/tests/test_*.py"
---
このファイルは pytest の関数型テスト。
- fixture は `conftest.py` から読む
- assert は 1 関数に 1 つまで
- LLM call は必ず mock すること