1. はじめに
GitHub Copilot の出力がチーム方針とずれる場面では、前提の共有不足が課題になりやすいです。本記事を作成した背景は、Markdown ベースの指示ファイルが複数種類あり、どれをどう組み合わせるべきか分かりにくいことです。本記事の目的は、.github/copilot-instructions.md と .github/instructions/*.instructions.md の使い分けと設定手順を、公式ドキュメントに基づき整理することです。Markdown の指示ファイルを使うと、毎回プロンプトで説明しなくても、命名規則や設計方針を自動適用できます(参考: VS Code: Use custom instructions)。
2. 機能概要
Markdown で使う主なカスタマイズは次の 2 つです。
- リポジトリ全体指示:
.github/copilot-instructions.md - パス別指示:
.github/instructions/NAME.instructions.md
VS Code では両方を組み合わせて自動適用できます。GitHub.com でも活用できますが、path-specific instructions は Copilot cloud agent と Copilot code review でサポートされます(参考: Adding repository custom instructions for GitHub Copilot - GitHub Docs)。
| 機能 | VS Code Chat | GitHub.com Chat | Copilot Code Review |
|---|---|---|---|
.github/copilot-instructions.md | 対応 | 対応 | 対応 |
.github/instructions/*.instructions.md | 対応 | 機能によって差分あり | 対応 |
3. セットアップ
ステップ 1: 全体ルールを作る
.github/copilot-instructions.md を作成します。
# Repository coding rules
- 返答は日本語で、結論を先に書く。
- TypeScript は strict 前提で実装する。
- 公開関数には JSDoc を付ける。
- 変更後は必ず npm run format:check と npm test を実行する。
ステップ 2: ファイル別ルールを追加する
.github/instructions/frontend.instructions.md などを作り、applyTo を設定します。
---
name: Frontend Rules
applyTo: "web/**/*.{ts,tsx}"
---
# Frontend rules
- コンポーネントは関数コンポーネントで作成する。
- UI 文言は i18n キー経由で管理する。
ステップ 3: 反映を確認する
Chat の応答で References を開き、対象指示ファイルが含まれているか確認します。
確認項目は次の 3 つです。
- References に対象ファイルが表示される
applyTo対象外ファイルでは適用されない- 競合時に優先順位どおりの応答になる
4. 実践例
例 1: 小規模リポジトリ
全体ルール 1 ファイルのみ運用。
- Before: レビューで命名指摘が毎回発生
- After: 体感として規約違反の指摘が減少(定量計測は未実施)
例 2: モノレポ
フロントとバックエンドで instructions を分離。
- Before: 別言語の規約が混在
- After:
applyToで対象を限定し、規約混在を抑制
5. Before / After 比較
| 観点 | Before | After |
|---|---|---|
| プロンプト量 | 毎回説明が必要 | 共通ルールを自動適用 |
| レビュー指摘 | 規約違反が多い | 初稿での適合率が上がる |
| オンボーディング | 属人化しやすい | ルールを Markdown で共有 |
6. Tips & トラブルシューティング
- 指示が効かない場合:
applyToの glob と配置場所を確認します。 - モノレポの場合:
chat.useCustomizationsInParentRepositoriesを有効化します。 - 診断する場合: Chat ビューの Diagnostics で読み込まれた instruction files とエラーを確認します。
- 指示が競合する場合: 個人指示 > リポジトリ指示 > 組織指示の順を意識します(About customizing GitHub Copilot responses - GitHub Docs)。
7. 注意点・制限事項
- 指示は万能ではなく、曖昧な要求は曖昧な出力になります。
- 長文化しすぎると逆に効果が落ちるため、短いルールを分割して管理します。
- Custom instructions はエディターの inline suggestions には反映されません。
- プランや実行環境により、使える機能(レビュー連携など)は異なります。
8. まとめ
Markdown ベースのカスタマイズは、Copilot の品質を「運用で安定化」するための仕組みです。まずは全体ルール 1 ファイルから始め、次に applyTo 付きの分割ルールへ進めると、少ないコストで効果を実感できます。
9. 参考情報
- VS Code: Use custom instructions
- GitHub Docs: Adding repository custom instructions
- VS Code: Use prompt files
- 応用編: Custom Agent と Agent Skills の実践セットアップ
- 応用編: Agent Hooks で自動化する
- 応用編: Agent Plugins でパッケージ化する
- GitHub Copilot の Agent Skills と Custom Agent の使い分け
- GitHub Copilot Business のセキュリティ設計
この記事の執筆にあたり、AI の支援を受けています。






