Skip to main content

GitHub Copilot CLI の使用

コマンド ラインから GitHub Copilot を使う方法について説明します。

この機能を使用できるユーザーについて

GitHub Copilot CLI(コマンドラインインターフェース) はすべての Copilot プランで利用可能です。 Copilot を organization から受け取る場合は、organization の設定で Copilot CLI ポリシーを有効にする必要があります。

GitHub Copilot のコマンド ライン インターフェイス (CLI) を使うと、ターミナルから直接 Copilot を使用できます。 詳しくは、「GitHub Copilot CLI について」をご覧ください。

前提条件

Copilot CLI をインストールします。 「GitHub Copilot CLI のインストール」を参照してください。

Copilot CLI の使用

  1. ターミナルで、操作するコードが含まれるフォルダーに移動します。

  2. copilot」と入力して Copilot CLI を開始します。

    Copilot から、このフォルダー内のファイルを信頼することの確認を求められます。

    重要

    この GitHub Copilot CLI(コマンドラインインターフェース) セッションの間に、Copilot はこのフォルダーの下にあるファイルの読み取り、変更、実行を試みることがあります。 この場所のファイルを信頼している場合にのみ続けるようにする必要があります。 信頼されたディレクトリについて詳しくは、「GitHub Copilot CLI について」をご覧ください。

  3. いずれかのオプションを選択してください。

           **1. はい。続行します**:
    

    Copilot は、この場所にあるファイルをこのセッションでのみ操作できます。

           **2. はい。今後のセッションでは、このフォルダーを覚えておいてください。**
    

    このフォルダー内のファイルを、このセッションと今後のセッションで信頼します。 このフォルダーから Copilot CLI を開始すると、再び求められることはありません。 このオプションは、Copilot がこの場所のファイルを操作しても常に安全であることが確実な場合にのみ選んでください。

           **3. いいえ。終了します (Esc)**:
    

    Copilot CLI セッションを終了します。

  4. 現在 GitHub にログインしていない場合は、/login スラッシュ コマンドを使うように求められます。 このコマンドを入力し、画面上の指示に従って認証を行います。

  5. CLI でプロンプトを入力します。

    これは、単純なチャットの質問でも、バグの修正、既存のアプリケーションへの機能の追加、新しいアプリケーションの作成など、Copilot に対する特定のタスクの実行要求でもかまいません。

    プロンプトの例については、「GitHub Copilot CLI について」をご覧ください。

  6. Copilot は、ファイルを変更または実行できるツールを使う場合 (例: touchchmodnodesed)、ユーザーにツールの使用の承認を求めます。

    いずれかのオプションを選択してください。

           **1. はい**:
    

    Copilot にこのツールの使用を許可します。 Copilot は、次にこのツールを使うとき、もう一度ユーザーに承認を求めます。

           **2. はい。実行中のセッションの残りの部分に対して TOOL を承認します。**
    

    現在実行中のセッションでそれ以降、このツールのどのオプションについても、再び承認を求めることなく使用することを、Copilot に許可します。 同じ種類の保留中の並列アクセス許可要求はすべて自動承認されます。 これより後のセッションでは、コマンドをもう一度承認する必要があります。

    このオプションを選択すると、同じセッションで同様のコマンドを繰り返し承認する必要が生じないため、 chmodなどの多くのツールに役立ちます。 ただし、このオプションのセキュリティへの影響に注意してください。 たとえば、コマンド rm に対してこのオプションを選択すると、Copilot は、承認を求めずに現在のディレクトリまたはそのサブディレクトリ内のファイルを削除できます。

           **3. いいえ。Copilot に別の言い方で指示します (Esc)**:
    

    Copilot はコマンドを実行しません。 代わりに、現在の操作を終了して次のプロンプトを待ちます。 Copilot にタスクを続けるよう指示できますが、別の方法を使います。

    たとえば、Copilot に bash スクリプトの作成を指示するものの、Copilot が提案するスクリプトを使いたくない場合は、現在の操作を停止して、Continue the previous task but include usage instructions in the script などの新しいプロンプトを入力できます。

    ツールのアクセス許可要求を拒否する場合は、拒否に関する Copilot インライン フィードバックを提供すると、完全に停止することなくそのアプローチを調整することもできます。

ヒント

次のヒントのようにして、Copilot CLI のエクスペリエンスを最適化します。

現在実行中の操作を停止する

プロンプトを入力した後、Copilot がまだ "考えている" 間にタスクの実行を停止する場合は、Esc キーを押します。

プラン モードを使用する

プラン モードを使用すると、コードを記述する前に、実装計画で Copilot と共同作業を行うことができます。 Shift+Tab キーを押して、プラン モードを切り替えます。

Copilot が思考中に会話を誘導する

あなたは、Copilotが思考している間に対話することができます。 フォローアップ メッセージを送信して会話を別の方向に誘導するか、Copilot が現在の応答が完了した後に処理するための追加の命令をキューに入れます。

プロンプトに特定のファイルを含める

プロンプトに特定のファイルを追加するには、@ に続けてファイルへの相対パスを指定します。 たとえば、Explain @config/ci/ci-required-checks.ymlFix the bug in @src/app.js などです。 これにより、Copilot に対するコンテキストとしてファイルの内容がプロンプトに追加されます。

ファイルのパスの入力を始めると、一致するパスがプロンプト ボックスの下に表示されます。 方向キーを使ってパスを選び、Tab キーを押して、プロンプトで完全なパスを指定します。

別の場所にあるファイルを操作する

Copilot は、タスクを完了するため、現在の作業ディレクトリの外部にあるファイルの操作が必要な場合があります。 Copilot は、ユーザーが対話型セッションで入力したプロンプトで現在の場所の外部にあるファイルを変更する必要がある場合、ファイルのディレクトリへのアクセスを承認するようユーザーに求めます。

ユーザーは、スラッシュ コマンドを使っていつでも手動で、信頼されたディレクトリを追加することもできます。

/add-dir /path/to/directory

作業するすべてのファイルが別の場所にある場合は、新しい Copilot CLI セッションを開始せずに、/cwd または /cd スラッシュ コマンドを使用して、現在の作業ディレクトリを切り替えることができます。

/cwd /path/to/directory

シェル コマンドを実行する

モデルを呼び出すことなく、 ! を使用して入力の先頭にシェル コマンドを直接実行できます。

!git clone https://github.com/github/copilot-cli

Copilot を取得し、自律的に動作させるように設定する

Copilot に対して、タスク内の各意思決定ポイントで入力を求める CLI ではなく、タスクを自律的に完了するために最適な判断を使用するように指示できます。 これを行うには、CLI のオートパイロット モードを使用します。

オートパイロット モードを使用するには、次の 2 つの方法があります。

  •         **対話的:** 対話型セッションで、ステータス バーに "autopilot" が表示されるまで <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押します。 オートパイロット モードのアクセス許可の選択を求められたら、完全なアクセス許可を許可し、プロンプトを入力します。
    
  •         **プログラムを用いて:** CLI にプロンプトをコマンド内で直接渡し、`--autopilot`オプションを含めます。 たとえば、オートパイロット モードを完全なアクセス許可で使用し、継続��� 10 個に制限するには、「 `copilot --autopilot --yolo --max-autopilot-continues 10 -p "YOUR PROMPT HERE"`」と入力します。
    

詳しくは、「GitHub Copilot CLI の自律的な動作を許可する」をご覧ください。

Copilot コーディングエージェント にタスクを委任する

delegate コマンドを使用すると、GitHub の Copilot コーディングエージェント に現在のセッションをプッシュできます。 これにより、タスクを完了するために必要なすべてのコンテキスト Copilot を保持しながら、作業を引き継げます。

スラッシュ コマンドを使用してタスクを委任し、その後にプロンプトを表示できます。

/delegate complete the API integration tests and fix any failing edge cases

または、プロンプトの前に & を付けて委任します。

& complete the API integration tests and fix any failing edge cases

Copilot は、作成する新しいブランチのチェックポイントとして、未設定の変更をコミットするように求めます。 Copilot コーディングエージェント は、ドラフトプルリクエストを作成し、バックグラウンドで自動的に変更を行い、あなたにレビューを依頼します。

Copilot は、セッションが開始されると、 GitHub の pull request セッションとエージェント セッションへのリンクを提供します。

対話型セッションを再開する

          `--resume`コマンド ライン オプションまたは `/resume` スラッシュ コマンドを使用して対話型 CLI セッションを選択して再開できます。これにより、保存されたコンテキストを使用して、中断した場所を右に選択できます。 GitHub で Copilot コーディングエージェント セッションを開始し、GitHub Copilot CLI(コマンドラインインターフェース) を使用してそのセッションをローカル環境に持ち込むことができます。

ヒント

最後に閉じたローカル セッションをすばやく再開するには、ターミナルで次のように入力します。

copilot --continue

カスタム指示を使用する

作業中のリポジトリにカスタム指示を追加して、Copilot のパフォーマンスを向上させることができます。 カスタム指示は、リポジトリ内の Markdown ファイルに保存される自然言語の説明です。 それらは、そのリポジトリでの作業中に入力したプロンプトに自動的に含められます。 これは、Copilot がプロジェクトのコンテキストとプロンプトへの応答方法をより深く理解するのに役立ちます。

Copilot CLI では以下がサポートされます。

  •         `.github/copilot-instructions.md` ファイル内のリポジトリ全体の指示。
    
  • パス固有の指示ファイル: .github/instructions/**/*.instructions.md��
  •         `AGENTS.md` などのエージェント ファイル。
    

詳しくは、「GitHub Copilot CLI(コマンドラインインターフェース) のカスタム命令の追加」をご覧ください。

カスタム エージェント を使用する

カスタム エージェント は、Copilot の特殊なバージョンです。 カスタム・エージェント は、 Copilot が固有のワークフロー、特定のコーディング規則、および専門家のユース ケースを処理するのに役立ちます。

Copilot CLIには、一般的なタスク用のデフォルトグループとしてカスタム エージェントが含まれています。

Agent Description
探検する 簡単なコードベース分析を実行し、メイン コンテキストに追加せずにコードに関する質問をすることができます。
Task テストやビルドなどのコマンドを実行し、成功に関する簡単な概要と失敗時の完全な出力を提供します。
汎用 完全なツールセットと高品質の推論を必要とする複雑な複数ステップのタスクを処理し、メインの会話を明確に集中させるために別のコンテキストで実行します。
コードレビュー 本物の問題のみを表示し、ノイズを最小限に抑えることに焦点を当てて変更をレビューします。

CLI が使用する AI モデルは、特定の専門知識を持つ カスタム エージェント を使用して動作するサブエージェント プロセスにタスクを委任することを選択できます (作業がより効果的に完了すると判断した場合)。 モデルは、メイン エージェントで作業を直接処理することを同じように選択できます。

独自の カスタム エージェント は、エージェント プロファイル と呼ばれる Markdown ファイルを使用して定義できます。このファイルでは、エージェントに必要な専門知識、使用できるツール、応答方法に関する具体的な指示を指定できます。

カスタム エージェント は、ユーザー、リポジトリ、または組織/エンタープライズ レベルで定義できます。

タイプロケーションScope
ユーザーレベル カスタム エージェントローカル ~/.copilot/agents ディレクトリすべてのプロジェクト
リポジトリレベル カスタム エージェント
          `.github/agents` ローカル リポジトリとリモート リポジトリ内のディレクトリ | 現在のプロジェクト |

| 組織レベルおよびエンタープライズレベル カスタム エージェント | /agents 組織または企業の .github-private リポジトリ内のディレクトリ | 組織とエンタープライズ アカウントのすべてのプロジェクト |

名前の競合の場合、システム レベルのエージェントはリポジトリ レベルのエージェントをオーバーライドし、リポジトリ レベルのエージェントは組織レベルのエージェントをオーバーライドします。

カスタム・エージェント は、次の 3 つの方法で使用できます。

  • CLI の対話型インターフェイスでスラッシュ コマンドを使用して、使用可能な カスタム エージェント の一覧から選択します。

    /agent
    
  • プロンプトで、直接 カスタム エージェント を呼び出します。

    Use the refactoring agent to refactor this code block
    

    Copilot は、使用するエージェントを自動的に判断します。

  • コマンドライン オプションで使用する カスタム エージェント を指定します。 例えば次が挙げられます。

    copilot --agent=refactor-agent --prompt "Refactor this code block"
    

詳しくは、「Copilot コーディングエージェント 用のカスタム エージェントの作成」をご覧ください。

スキルを使用する

Copilot の能力を向上させ、命令、スクリプト、リソースを用いて専門的なタスクを実行できるようにするスキルを作成できます。

詳しくは、「GitHub Copilot CLI(コマンドラインインターフェース)のエージェントスキルの作成」をご覧ください。

MCP サーバーを追加する

Copilot CLI には、既に構成されている GitHub MCP サーバーが付属しています。 この MCP サーバーを使って GitHub.com 上のリソースを操作でき、たとえば CLI から pull request をマージできます。

Copilot CLI で使用できる機能を拡張するには、MCP サーバーをさらに追加できます。

  1. 次のスラッシュ コマンドを使います。

    /mcp add
    
  2.        <kbd>Tab</kbd> キーを使ってフィールド間を移動し、追加する MCP サーバーの詳細を入力します。
    
  3.        <kbd>Ctrl</kbd>+<kbd>S</kbd> キーを押して、詳細を保存します。
    

構成した MCP サーバーの詳細は、既定では mcp-config.json ディレクトリにある ~/.copilot ファイルに格納されます。 この場所は、XDG_CONFIG_HOME 環境変数を設定して変更できます。 サーバー定義の JSON の構造については、「モデル コンテキスト プロトコル (MCP) を使用した GitHub Copilot コーディング エージェントの拡張」をご覧ください。

Copilot CLI での MCP サーバーの追加と管理の詳細については、 GitHub Copilot CLI(コマンドラインインターフェース) 用の MCP サーバーの追加 を参照してください。

コンテキスト管理

Copilot CLI には、コンテキスト期間の監視と管理に役立ついくつかのスラッシュ コマンドがあります。

  •         `/usage`: 次のようなセッション統計を表示できます。
    
    • 現在のセッションで使用された Premium 要求の量
    • セッション期間
    • 編集されたコードの合計行数
    • モデルごとのトークン使用量の内訳
  •         `/context`: 現在のトークンの使用状況の視覚的な概要を提供します
    
  •         `/compact`: 会話履歴を手動で圧縮してコンテキスト領域を解放します
    

GitHub Copilot CLI(コマンドラインインターフェース) は、会話がトークン制限の 95% に近づいたときに、ワークフローを中断することなく、バックグラウンドで履歴を自動的に圧縮します。

コードの変更を確認する

          `/review` スラッシュ コマンドを使用すると、Copilot は、CLI を修了せずにコードの変更を分析できます。 これにより、コミットする前に変更に関するフィードバックをすばやく取得できます。

すべてのアクセス許可を有効にする

Copilot を信頼して自由に実行できる場合は、 --allow-all または --yolo フラグを使用して、すべてのアクセス許可を一度に有効にすることができます。

推論の可視性を切り替える

Ctrl+キーを押して、応答の生成中にモデルの推論プロセスを表示または非表示にします。 この設定はセッション間で保持されるため、Copilot が複雑な問題にどのように作用するかを確認できます。

詳細情報

Copilot CLI で使用できるコマンド ライン オプションとスラッシュ コマンドの完全な一覧を見るには、次のいずれかを行います。

  • 対話型セッションのプロンプト ボックスに「?」と入力します。
  • ターミナルに「copilot help」と入力します。

追加の情報を見るには、ターミナルで次のいずれかのコマンドを使います。

  •         **NDES 構成設定**:
    

    copilot help config

    既定では config.json ディレクトリにある ~/.copilot ファイルを編集して、構成設定を調整できます。 この場所は、XDG_CONFIG_HOME 環境変数を設定して変更できます。

  •           Copilot CLI に影響を与える**環境変数**:
    

    copilot help environment

  •         **使用可能なログ レベル**:
    

    copilot help logging

  •           ツールの使用を許可または拒否するための**アクセス許可**:
    

    copilot help permissions

フィードバック

GitHub Copilot CLI(コマンドラインインターフェース) についてフィードバックがある場合は、対話型セッションで /feedback スラッシュ コマンドを使��、いずれかのオプションを選んでお知らせください。 プライベート フィードバック アンケートに回答したり、バグ レポートを送信したり、新しい機能を提案したりできます。

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

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli/cli-best-practices)
    
  •         [AUTOTITLE](/copilot/reference/cli-command-reference)
    
  •         [AUTOTITLE](/copilot/reference/acp-server)