Skip to main content

GitHub Copilot CLI(コマンドラインインターフェース) のカスタム命令の追加

Copilot がプロジェクトを理解し、変更を構築し、テストし、検証するための追加のコンテキストを提供します。

十分なコンテキストを提供すれば、GitHub Copilot は、個人の好み、チームの作業方法、使用するツール、またはプロジェクトの特徴に合わせて調整された応答を提供することができます。 このコンテキストの詳細をプロンプトに繰り返し追加する代わりに、この情報を自動的に追加するカスタム命令を作成できます。 追加情報は表示されませんが、Copilot で使用して、より高品質の応答を生成できます。

カスタム指示の種類

GitHub Copilot CLI(コマンドラインインターフェース) では、次の種類のカスタム命令がサポートされています。

リポジトリ全体のカスタム命令

これらは、リポジトリのコンテキストで行われたすべての要求に適用されます。

これらは、リポジトリのルートにある copilot-instructions.md ディレクトリの .github ファイルで指定されます。 「リポジトリ全体のカスタム指示の作成」を参照してください。

パス固有のカスタム命令

これらは、指定したパスに一致するファイルのコンテキストで行われた要求に適用されます。

これらは、リポジトリのルートにある NAME.instructions.md ディレクトリ内または現在の作業ディレクトリの .github/instructions ディレクトリの下にある 1 つ以上の .github/instructions ファイルで指定されます。 「Creating path-specific custom instructions (パス固有のカスタム指示の作成)」を参照してください。

これらの手順で指定したパスがCopilot が動作しているファイルと一致し、リポジトリ全体のカスタム命令ファイルも存在する場合は、両方のファイルの命令が使用されます。 Copilotの競合する命令の選択は非決定論的であるため、命令間の潜在的な競合を避けるべきです。

エージェントの指示

これらは、さまざまな AI エージェントによって使用されます。

1 つ以上の AGENTS.md ファイルを作成できます。 これらは、リポジトリのルート ディレクトリ、現在の作業ディレクトリ、または COPILOT_CUSTOM_INSTRUCTIONS_DIRS 環境変数のパスのコンマ区切りリストで指定された任意のディレクトリに配置できます。

ルート ディレクトリ内の AGENTS.md ファイル内の命令が見つかった場合は、プライマリ命令として扱われます。 AGENTS.md ファイルと .github/copilot-instructions.md ファイルの両方がリポジトリのルートにある場合は、両方のファイルの指示が使用されます。

他の AGENTS.md ファイルにある命令は、追加の命令として扱われます。 見つかった基本的な指示は、Copilotの応答に、追加の指示よりも多くの影響を与える可能性があります。

詳細については、 agentsmd/agents.md リポジトリを参照してください。

または、 CLAUDE.md ファイルと GEMINI.md ファイルを使用することもできます。 これらはリポジトリのルートに配置する必要があります。

ローカル手順

これらは、特定のローカル環境内で適用されます。

          `$HOME/.copilot/copilot-instructions.md`でファイルを作成することで、独自のホーム ディレクトリ内に命令を指定できます。

          `COPILOT_CUSTOM_INSTRUCTIONS_DIRS`環境変数をディレクトリのコンマ区切りリストに設定することもできます。 Copilot CLI は、これらの各ディレクトリで、`AGENTS.md` ファイルと任意の `.github/instructions/**/*.instructions.md` ファイルを検索します。

リポジトリ全体のカスタム指示の作成

  1. リポジトリのルートで、.github/copilot-instructions.md という名前のファイルを作成します。

           `.github` ディレクトリがまだ存在しない場合は作成します。
    
  2. Markdown 形式で自然言語の指示をファイルに追加します。

    指示と指示の間の空白は無視されます。このため複数の指示を 1 段落に記述することも、1 行に 1 つずつ記述することもできます。あるいは、読みやすくするために空白行で区切ることもできます。

    効果的なカスタム命令の記述については、 GitHub Copilotの応答をカスタマイズする方法 を参照してください。

パス固有のカスタム指示の作成

  1.        `.github/instructions` ディレクトリがまだ存在しない場合は作成します。
    
  2. 必要に応じて、 .github/instructions のサブディレクトリを作成して命令ファイルを整理します。

  3. 1 つ以上の NAME.instructions.md ファイルを作成します。ここで、NAME は指示の目的を示します。 ファイル名は .instructions.md で終わる必要があります。

  4. ファイルの先頭に、applyTo キーワードを含む frontmatter ブロックを作成します。 glob 構文を使用して、指示が適用されるファイルまたはディレクトリを指定します。

    次に例を示します。

    ---
    applyTo: "app/models/**/*.rb"
    ---
    

    複数のパターンをコンマで区切って指定できます。 たとえば、リポジトリ内のすべての TypeScript ファイルに指示を適用するには、次の frontmatter ブロックを使用できます。

    ---
    applyTo: "**/*.ts,**/*.tsx"
    ---
    

    Glob の例:

    •      `*` - 現在のディレクトリ内のすべてのファイルと一致します。
      
    •      `**` または `**/*` - すべてのディレクトリ内のすべてのファイルと一致します。
      
    •      `*.py` - 現在のディレクトリ内のすべての `.py` ファイルと一致します。
      
    •      `**/*.py` - すべてのディレクトリ内のすべての `.py` ファイルと再帰的に一致します。
      
    •      `src/*.py`- `.py` ディレクトリ内のすべての`src` ファイルと一致します。 たとえば、`src/foo.py`と`src/bar.py`しかし_ではない_`src/foo/bar.py`。
      
    •      `src/**/*.py`- `.py` ディレクトリ内のすべての`src` ファイルと再帰的に一致します。 たとえば、 `src/foo.py`、 `src/foo/bar.py`、 `src/foo/bar/baz.py`などです。
      
    •      `**/subdir/**/*.py`- 任意の`.py` ディレクトリ内のすべての`subdir` ファイルを任意の深さで再帰的に照合します。 たとえば、`subdir/foo.py`、`subdir/nested/bar.py`、`parent/subdir/baz.py`、`deep/parent/subdir/nested/qux.py` は使用できますが、__ ディレクトリを含まないパスでは`foo.py``subdir`。
      
  5. 必要に応じて、ファイルが Copilotコーディングエージェント または Copilotコード レビューによって使用されないようにするには、frontmatter ブロックに excludeAgent キーワードを追加します。 "code-review"または"coding-agent"を使用します。

    たとえば、次のファイルは Copilotコーディングエージェントによってのみ読み取られます。

    ---
    applyTo: "**"
    excludeAgent: "code-review"
    ---
    
           `excludeAgent` キーワードが front matterblock に含まれていない場合は、Copilotコード レビューとCopilotコーディングエージェントの両方で指示が使用されます。
    
  6. Markdown 形式を使い、自然言語でカスタム指示を追加します。 指示と指示の間の空白は無視されます。このため複数の指示を 1 段落に記述することも、1 行に 1 つずつ記述することもできます。あるいは、読みやすくするために空白行で区切ることもできます。

カスタム指示ファイルをリポジトリにうまく追加できましたか?

          <a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
          <span>はい</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>いいえ</span></a>

使用中のカスタム手順

ファイル内の手順は、ファイルを保存するとすぐに Copilot で使用できます。 手順は、 Copilotに送信した要求に自動的に追加されます。

CLI セッション中にカスタム命令に変更を加えた場合、次回現在または将来のセッションでプロンプトを送信するときに、Copilot で変更を使用できます。

詳細については、次を参照してください。

  •         [AUTOTITLE](/copilot/reference/custom-instructions-support)
    
  •         [AUTOTITLE](/copilot/tutorials/customization-library/custom-instructions) - サンプルの厳選されたコレクション
    
  •         [AUTOTITLE](/copilot/tutorials/use-custom-instructions)