# GitHub Copilot CLI の使用

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

GitHub Copilot用のコマンド ライン インターフェイス (CLI) を使用すると、ターミナルから直接Copilotを使用できます。 詳細については、「[GITHUB COPILOT CLI について](/ja/copilot/concepts/agents/copilot-cli/about-copilot-cli)」を参照してください。

## 前提条件

Copilot CLIをインストールする。 「[GitHub Copilot CLI のインストール](/ja/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli)」を参照してください。

## Copilot CLI の使用

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

2. `copilot`を開始するには、「Copilot CLI」と入力します。

Copilot は、このフォルダー内のファイルを信頼していることを確認するように求められます。

> \[!IMPORTANT]
> この GitHub Copilot CLI セッション中に、 Copilot はこのフォルダーの下にあるファイルの読み取り、変更、および実行を試みる場合があります。 この場所のファイルを信頼している場合にのみ続けるようにする必要があります。 信頼されたディレクトリについて詳しくは、「[GITHUB COPILOT CLI について](/ja/copilot/concepts/agents/copilot-cli/about-copilot-cli#trusted-directories)」をご覧ください。

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

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

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

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

このフォルダー内のファイルを、このセッションと今後のセッションで信頼します。 このフォルダーから Copilot CLI を開始しても、もう一度確認するメッセージは表示されません。 このオプションは、 Copilot がこの場所のファイルを常に安全に操作できる場合にのみ選択します。

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

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

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

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

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

   入力の代わりに、プロンプトを読み上げることもできます。 「[Copilot CLI で音声入力を使用する](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input)」を参照してください。

   プロンプトの例については、「[GITHUB COPILOT CLI について](/ja/copilot/concepts/agents/copilot-cli/about-copilot-cli)」をご覧ください。

3. Copilotファイルを変更または実行できるツール (例: `touch`、`chmod`、`node`、`sed`) を使用する場合は、ツールの使用を承認するように求められます。

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

**1. はい**:

Copilotにこのツールの使用を許可します。 次回 Copilot このツールを使用する場合は、再度承認するように求められます。

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

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

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

**3. いいえ、Copilotに別の方法を指示します (Esc)**

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

たとえば、bash スクリプトの作成を Copilot に依頼したが、提案するスクリプト Copilot 使用したくない場合は、現在の操作を停止して、次のような新しいプロンプトを入力 `Continue the previous task but include usage instructions in the script`。

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

## Tips

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

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

プロンプトを入力し、 Copilot がまだ "考えている" 状態でタスクの完了を停止する場合は、 <kbd>Esc</kbd> キーを押します。

### プラン モードを使用する

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

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

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

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

### 画像と PDF を添付する

イメージ入力をサポートするモデルを使用する場合は、プロンプトに画像と PDF を添付できます。

Copilot では、次のファイルの種類がサポートされています。

* JPEG (`.jpg`、 `.jpeg`)
* PNG(`.png`)
* GIF(`.gif`)
* WEBP (`.webp`)
* PDF (`.pdf`)
* HEIC (`.heic`)
* HEIF (`.heif`)

画像と PDF の添付ファイルは、すべての Copilot プランで使用でき、既定で有効になっています。この機能のオンとオフを切り替えるポリシーは必要ありません。

対話型セッション中は、次の方法でファイルを添付できます。

* `@`の後にファイルへのパスを指定して、プロンプト内のファイルを参照します。
* ファイルを対話型セッションにドラッグ アンド ドロップします。
* 画像をクリップボードにコピーし、添付ファイルとして貼り付けます。

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

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

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

```shell
/add-dir /path/to/directory
```

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

```shell
/cwd /path/to/directory
```

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

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

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

### 後で実行するようにプロンプトをスケジュールする

`/every`コマンドと`/after`スラッシュ コマンドを使用して、プロンプトを将来実行するようにスケジュールできます。
`/every` コマンドは、指定した間隔で繰り返し実行するプロンプトをスケジュールします。一方、`/after` コマンドは、指定した遅延後に 1 回だけ実行するように 1 回だけプロンプトをスケジュールします。 例えば次が挙げられます。

```shell
/every 1h Run frontend tests and report any failures
```

詳細については、「[GitHub Copilot CLI でのプロンプトのスケジュール設定](/ja/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts)」を参照してください。

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

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

> \[!TIP]
> 最後に閉じたローカル セッションをすばやく再開するには、ターミナルで次のように入力します。
>
> ```shell
> copilot --continue
> ```

### カスタム指示を使用する

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

Copilot CLI では次に示すオブジェクトをサポートしています。

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

詳細については、「[カスタム指示の追加 GitHub Copilot CLI](/ja/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions)」を参照してください。

### custom agents を使用する

custom agentは、Copilotの特殊なバージョンです。
Custom agents は Copilot 独自のワークフロー、特定のコーディング規則、スペシャリストのユース ケースを処理するのに役立ちます。

Copilot CLI には、一般的なタスクの既定の custom agents グループが含まれています。

<table>
  <thead>
    <tr>
      <th style="width:20%">Agent</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>探索</td>
      <td>簡単なコードベース分析を実行し、メイン コンテキストに追加せずにコードに関する質問をすることができます。</td>
    </tr>
    <tr>
      <td>Task</td>
      <td>テストやビルドなどのコマンドを実行し、成功に関する簡単な概要と失敗時の完全な出力を提供します。</td>
    </tr>
    <tr>
      <td>汎用</td>
      <td>完全なツールセットと高品質の推論を必要とする複雑な複数ステップのタスクを処理し、メインの会話を明確に集中させるために別のコンテキストで実行します。</td>
    </tr>
    <tr>
      <td>コード レビュー</td>
      <td>本物の問題のみを表示し、ノイズを最小限に抑えることに焦点を当てて変更をレビューします。</td>
    </tr>
    <tr>
      <td>研究</td>
      <td>コードベース、関連するリポジトリ、および Web 全体で詳細な調査を実行し、引用文献を含む詳細なレポートを作成します。</td>
    </tr>
    <tr>
      <td>ゴム製アヒル</td>
      <td>建設的な評論家として機能し、いくつかの簡単でないタスクに関するフィードバックを提供します。 
Copilot CLIによって自動的に使用されます。</td>
    </tr>
  </tbody>
</table>

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

ラバーダックエージェントなどの一部の組み込み custom agentsは、ユーザーが直接呼び出すのではなく、ユーザーの代わりに Copilot によって自動的に相談されます。
`/agent`を実行すると、オプションとしては個別に表示されませんが、タスクを進行する際にCopilotでその言及がされる場合があります。

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

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

| タイプ                                                | 場所                              | Scope      |
| -------------------------------------------------- | ------------------------------- | ---------- |
| ユーザー レベル custom agent                              | ローカル `~/.copilot/agents` ディレクトリ | すべてのプロジェクト |
| リポジトリ レベル custom agent                             |                                 |            |
| `.github/agents` ローカル リポジトリとリモート リポジトリ内のディレクトリ     | 現在のプロジェクト                       |            |
| 組織レベルとエンタープライズ レベル custom agent                    |                                 |            |
| `/agents` 組織または企業の `.github-private` リポジトリ内のディレクトリ | 組織とエンタープライズ アカウントのすべてのプロジェクト    |            |

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

Custom agents は、次の 3 つの方法で使用できます。

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

  ```shell
  /agent
  ```

* プロンプトで直接 custom agent を呼び出す:

  ```shell
  Use the refactoring agent to refactor this code block
  ```

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

* コマンド ライン オプションで使用する custom agent を指定します。 例えば次が挙げられます。

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

詳細については、「[Copilot cloud agent用のカスタム エージェントの作成](/ja/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/create-custom-agents)」を参照してください。

### スキルを使用する

命令、スクリプト、リソースを使用して特殊なタスクを実行する Copilot の能力を高めるスキルを作成できます。

詳細については、「[エージェント スキルの追加 GitHub Copilot CLI](/ja/copilot/how-tos/copilot-cli/customize-copilot/add-skills)」を参照してください。

### フックを使用する

フックを使用して、 Copilot CLIの動作を拡張およびカスタマイズできます。 フックを使用すると、CLI セッション中にキー ポイントでカスタム シェル コマンドを自動的に実行できます。

詳細については、「[GitHub Copilot CLI でフックを使用する](/ja/copilot/how-tos/copilot-cli/customize-copilot/use-hooks)」を参照してください。

### MCP サーバーを追加する

Copilot CLI は、既に構成されている GitHub MCP サーバーに付属しています。 この MCP サーバーを使用すると、 GitHub.com上のリソースと対話できます。たとえば、CLI からのプル要求をマージできます。

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

対話型セッションを開始せずにターミナルから直接リモート HTTP サーバーを追加するには、次のコマンドを使用します。

```shell copy
copilot mcp add --transport http SERVER-NAME URL
```

例えば次が挙げられます。

```shell copy
copilot mcp add --transport http sentry https://mcp.sentry.dev/mcp
```

ローカル サーバーとその他のオプションについては、 [GitHub Copilot CLI 用の MCP サーバーを追加する](/ja/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers#using-the-copilot-mcp-add-subcommand) を参照してください。

または、対話型セッションからサーバーを追加します。

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

   ```shell
   /mcp add
   ```

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

3. <kbd>Ctrl</kbd>+<kbd>S</kbd> キーを押して、詳細を保存します。

構成した MCP サーバーの詳細は、既定では `mcp-config.json` ディレクトリにある `~/.copilot` ファイルに格納されます。 この場所は、`COPILOT_HOME` 環境変数を設定して変更できます。 サーバー定義の JSON の構造については、「[リポジトリの MCP サーバーを構成する](/ja/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#writing-a-json-configuration-for-mcp-servers)」をご覧ください。

### コンテキスト管理

Copilot CLI には、コンテキスト ウィンドウの監視と管理に役立つスラッシュ コマンドがいくつか用意されています。

* `/usage`: 次のようなセッション統計を表示できます。
  * 現在のセッションで使用 GitHub AI Credits の量
  * セッション期間
  * 編集されたコードの合計行数
  * モデルごとのトークン使用量の内訳

* `/context`: 現在のトークンの使用状況の視覚的な概要を提供します

* `/compact`: 会話履歴を手動で圧縮してコンテキスト領域を解放します

GitHub Copilot CLI では、会話がトークン制限の 95% に近づくと、ワークフローを中断することなく、バックグラウンドで履歴が自動的に圧縮されます。

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

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

### サンドボックスを使用する

サンドボックスを使用して、アクセスできる Copilot を制限できます。 ローカル サンドボックスでは、CLI 自体はサンドボックス内で実行されません。代わりに、ユーザーの代わりに実行 Copilot CLI コマンドとツールが制限され、ファイルシステム、ネットワーク、システムの機能へのアクセスが制限されます。 ローカル サンドボックスを有効にするには、セッション内に「 `/sandbox enable` 」と入力します。

または、クラウド サンドボックスを使用すると、 Copilot CLI セッション全体が分離された環境でリモートで実行されます。 クラウドで Copilot CLI セッションを開始するには、 `copilot ‑‑cloud`を実行します。 詳細については、「[クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot](/ja/copilot/concepts/about-cloud-and-local-sandboxes)」を参照してください。

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

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

### 設定を変更する

Copilot CLIスラッシュ コマンドを使用して、個人用の`/settings`設定を表示および変更できます。

* `/settings`を実行して対話型の設定エディターを開きます。ここで、名前で設定を検索して編集できます。 設定を既定値に戻すには、設定の一覧で設定を強調表示し、Ctrl<kbd></kbd>+<kbd>キー</kbd>を押します。
* `/settings KEY VALUE`を実行して、CLI のプロンプト ボックスで設定を直接変更します。 KEY は設定の名前で、VALUE は設定する値です。 これは、スクリプトや、 `-p`で開始されたプログラム セッションでも機能します。
* `/settings show KEY`を実行して、エディターを開かずに設定の現在の値をテキストとして表示します。

ほとんどの設定の変更は直ちに有効になります。 Copilot CLIを再起動する必要はありません。

詳細については、「[\`/settings\` コマンドを使用して設定を変更する](/ja/copilot/how-tos/copilot-cli/customize-copilot/change-settings)」を参照してください。 使用可能な設定の完全な一覧については、 [GitHub Copilot CLI の構成ディレクトリ](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference#configuration-file-settings) を参照してください。

## 詳細情報

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

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

詳細については、端末で次のいずれかの `copilot help` サブコマンドを使用してください。

* **NDES 構成設定**:

  `copilot help config`

* \*\*\*\*に影響するCopilot CLI:

  `copilot help environment`

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

  `copilot help logging`

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

  `copilot help permissions`

## フィードバック

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

## 次のステップ

Copilot CLI は、会話アシスタントとして動作し、質問に答え、対話形式でコードを記述するのに役立ちます。 チャット以外にも、 Copilot CLI では、より自律性の高いタスクを委任できるさまざまなエージェント モードがサポートされています。

Copilot CLIのエージェントと連携して、作業の委任から結果の確認まで、完全なタスク ライフサイクルをサポートできます。

* **タスクを自律的に委任**する: オートパイロット モードで Copilot CLI を実行し、各ステップで承認を必要とせずに複数ステップのタスクを完了します。 「[Copilotにタスクを委任](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/delegate-tasks-to-cca)」を参照してください。
* **カスタム エージェントの呼び出し**: コード レビュー、ドキュメント、セキュリティ監査など、特定のタスクに合わせて調整された特殊なエージェントを呼び出します。 「[カスタム エージェントの呼び出し](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/invoke-custom-agents)」を参照してください。
* **エージェントの誘導**: タスクの実行中にエージェントの動作をガイドして調整し、作業を追跡します。 [「AUTOTITLE」を](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/steer-agents)参照してください。
* **コード レビューを要求**する: Copilot CLI を使用して、コード変更の AI を活用したレビューを取得します。 「[を使用してコード レビューを要求する GitHub Copilot CLI](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/agentic-code-review)」を参照してください。

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

* [GitHub Copilot CLI のベスト プラクティス](/ja/copilot/how-tos/copilot-cli/cli-best-practices)
* [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference)
* [GitHub Copilot CLI の構成ディレクトリ](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference)
* [Copilot CLI ACP サーバー](/ja/copilot/reference/copilot-cli-reference/acp-server)