【脱・毎回指示】GitHub Copilot Custom Instructionsで自分専用のAIアシスタントを育てる設定手順

Copilotがエンジニアのサポートをする画像 雑記・お知らせ

「Copilotに毎回『日本語で』『Reactで』と指示するのが面倒……」

「チームで使うライブラリや命名規則をCopilotに徹底させたい」

もしあなたが日々の開発でこのように感じているなら、GitHub Copilot Custom Instructions(カスタムインストラクション)の設定が不可欠です。

これは、Copilotに対してあなたの開発環境やプロジェクトのルールという「前提知識」を共有する機能です。適切に設定するだけで、Copilotはまるで熟練のペアプログラマーのように、あなたの意図を汲んだコードを提案してくれるようになります。

本記事では、Visual Studio Code (VS Code) と Visual Studio の両方に対応した最新の設定手順を解説します。チーム全体で統一する方法から、個人ごとの設定、さらに特定のタスクに特化した応用的な使い方まで、開発現場ですぐに役立つノウハウをお届けします。


GitHub Copilot Custom Instructionsとは?

GitHub Copilot Custom Instructionsが回答生成のルールとして機能する仕組み

Copilotに「共通のルール」を教える機能

Custom Instructionsは、Copilotがコードを生成したりチャットで回答したりする際に、常に参照する「振る舞いの指示書」です。

これまでは、プロンプト(質問)のたびに「〇〇という前提で」や「日本語で答えて」と文脈を伝える必要がありましたが、この機能を使えばその手間がなくなります。一度設定すれば、Copilotはそのルールに従って動くようになります。

なぜ設定が必要なのか?(メリット)

  • 回答精度の向上: 使用言語、フレームワーク、ライブラリを固定できるため、的外れな提案が減ります。
  • スタイルの統一: 命名規則やコメントの言語(日本語/英語)を指定でき、チーム開発ではコード品質が揃いやすくなります。
  • 時短: 毎回同じ指示を入力する手間から解放されます。

「Custom Instructions」と「Prompt Files」の違い

最近のアップデートで似た機能が登場したため、混同しやすい点です。明確に使い分けましょう。

機能名役割と特徴適用タイミングファイル拡張子
Custom Instructions常に適用される「基本ルール・前提条件」常時.md
Prompt Files (応用)特定のタスク(テスト、リファクタリング等)専用の「指示書テンプレート」必要な時だけ呼び出す.prompt.md

※Prompt Filesの詳細は後述します。


【推奨】リポジトリ単位で設定する方法(チーム開発・共通設定)

リポジトリ直下の.githubフォルダ内に作成されたcopilot-instructions.mdファイル

最も推奨されるのが、プロジェクト(リポジトリ)ごとに設定ファイルを作成する方法です。この方法は、VS Code と Visual Studio の両方で共通して機能します。

チームメンバー全員が同じCopilotの挙動を共有できるため、開発ルールを統一するのに最適です。

設定手順

手順は非常にシンプルです。

  1. 対象のリポジトリのルートディレクトリを開きます。
  2. .github という名前のフォルダを作成します(” . ”を忘れないように)。
  3. .github 内に copilot-instructions.md という名前のMarkdownファイルを作成します。
  4. 作成したファイルに、Copilotへの指示をMarkdown形式で記述します。

配置例:

my-project/
├── .github/
│   └── copilot-instructions.md  <-- ここに作成
├── src/
├── package.json
└── README.md

このファイルが存在するリポジトリで作業している間、Copilotは自動的にこのファイルの内容を読み込み、回答に反映させます。

参考: GitHub Docs – リポジトリ用のカスタム指示を追加する


【個人用】ユーザー単位で設定する方法(IDE別)

プロジェクトに関係なく、自分の作業環境全体に適用したい個人的な好み(例:「常に日本語で回答して」など)を設定する方法です。IDEによって設定方法が異なります。

VS Code の場合

以前は settings.json に直接記述する方法がありましたが、現在は管理しやすくするため、外部のMarkdownファイルを指定する方法が一般的です。

  1. 設定画面を開きます(Ctrl + , または Cmd + ,)。
  2. 検索バーに「copilot instructions」と入力します。
  3. Github > Copilot > Chat: Instructions File(※項目名はバージョンにより多少異なる場合があります)という設定項目を探します。
  4. ご自身のPC上にある、指示をまとめたMarkdownファイルの絶対パスを入力します。
    • 例 (Windows): C:\Users\YourName\Documents\copilot\my-instructions.md
    • 例 (macOS): /Users/YourName/Documents/copilot/my-instructions.md

これで、どのプロジェクトを開いていても、指定したファイルの内容が適用されます。

Visual Studio の場合

Visual Studioでは、オプション設定から直接指示を入力するか、特定の場所にファイルを配置します。

方法1:オプションから直接入力(簡単な指示向け)

  1. メニューバーの [ツール] > [オプション] を選択します。
  2. 左側のツリーから [GitHub] > [Copilot] を選択します。
  3. 「カスタムインストラクション」または類似のテキストボックスに、指示を直接入力します。

方法2:ファイル配置(推奨)

Visual Studioのバージョンによっては、特定のパスにファイルを置くことで認識される場合があります。最新のドキュメントを確認することをお勧めしますが、一般的には %appdata%\Microsoft\VisualStudio\Copilot などのフォルダが使用されることがあります。(要確認:お使いのVisual Studioのバージョンでの正確なパス)


【応用】Prompt Filesで特定のタスクを効率化(VS Code中心)

※この機能は現在、主に VS Code で強力にサポートされています。

「テストを書く時だけ、このルールを適用したい」「リファクタリングの時だけ、この観点でチェックしてほしい」といった場合に便利なのが Prompt Files です。

Prompt Filesのルール

Custom Instructionsとは異なり、以下のルールに従う必要があります。

  • 保存場所: リポジトリの .github/prompts/ ディレクトリ内に保存します。
  • 拡張子: 必ず .prompt.md にします。

使い方

  1. 例えば、Jest用のテストコード生成ルールを .github/prompts/test-jest.prompt.md として作成します。
  2. VS CodeのCopilotチャット欄で /(スラッシュ)を入力します。
  3. メニューにファイル名に基づいたコマンド(例: /test-jest)が表示されるので、それを選択して指示を送ります。

これにより、汎用的なルールは copilot-instructions.md に任せ、特定のタスクはPrompt Filesで切り替えるという、柔軟な運用が可能になります。


すぐに使える!Custom Instructionsの例文集

コピペして .github/copilot-instructions.md などに貼り付けて使える例文です。プロジェクトに合わせて調整してください。

パターンA:基本セット(日本語化・簡潔化)

Markdown

# 基本方針
- あなたはシニアソフトウェアエンジニアとして振る舞ってください。
- 回答は**常に日本語**で行ってください。
- コード内のコメントも日本語で記述してください。
- コードの提案をする際は、冗長な説明を省き、コードブロックを優先して提示してください。

パターンB:技術スタック指定(React/TypeScriptの例)

Markdown

# 技術スタック
- 言語: TypeScript
- フレームワーク: React (Next.js App Router)
- スタイリング: Tailwind CSS

# コーディング規約
- コンポーネントは関数コンポーネントを使用してください。
- `any` 型の使用は避け、適切な型定義を行ってください。
- 変数名はキャメルケース、コンポーネント名はパスカルケースを使用してください。

パターンC:テストコード重視(Python/pytestの例)

Markdown

# テスト方針
- テストフレームワークは `pytest` を使用してください。
- テスト関数名は `test_` で始めてください。
- 可能な限り、境界値分析に基づいたテストケースを含めてください。
- モックが必要な場合は `unittest.mock` ではなく `pytest-mock` のフィクスチャを使用してください。

まとめ

Custom InstructionsでCopilotを「自分専用」の最強パートナーに

  • Custom Instructionsは、Copilotに「前提」を共有する必須設定。
  • リポジトリ単位の設定 (.github/copilot-instructions.md) はVS Code/Visual Studio共通で使えて最も推奨。チームのルール統一に最適。
  • 個人設定はIDEごとに方法が異なる(VS Codeはファイルパス指定、VSはオプション設定)。
  • 特定のタスクには、VS Codeで使える Prompt Files (.github/prompts/*.prompt.md) が便利。

まずは、現在開発中のリポジトリに .github/copilot-instructions.md を作成し、使用している言語やフレームワークを数行書いてみることから始めてみましょう。その効果をすぐに実感できるはずです。


よくある質問(FAQ)

Q1. 設定したインストラクションは、他のリポジトリにも適用されますか?

A. .github/copilot-instructions.md で設定した内容は、そのファイルがあるリポジトリ内でのみ有効です。他のリポジトリには影響しません。すべての作業で適用したい場合は、IDE側のユーザー設定を行ってください。

Q2. 設定ファイルにAPIキーやパスワードを書いても大丈夫ですか?

A. 絶対に書かないでください。 リポジトリにコミットすると、そのリポジトリにアクセスできる人全員に見えてしまいます。機密情報は環境変数などで管理し、インストラクションには含めないようにしましょう。

Q3. 指示が反映されているか確認するには?

A. Copilotとのチャットで「現在のカスタムインストラクションの設定内容を要約して教えて」と聞いてみてください。設定ファイルの内容が認識されていれば、その内容を要約して回答してくれます。

コメント

タイトルとURLをコピーしました