コマンド ライン用の GitHub Copilot
GitHub Copilot は統合開発環境 (IDE) だけではありません。現在は、ターミナルの強力なアシスタントです。 GitHub Copilot CLI は、コマンド ラインに直接 Copilot を取り込み、コマンドを説明したり、自然言語からシェル コマンドを提案したり、ファイルやプロジェクトを安全かつ対話的に操作するのに役立ちます。
Copilot CLI では GitHub 認証が使用され、GitHub CLI とは別に実行されますが、既存の資格情報が使用されます。 コマンド ラインを初めて使用する場合でも、経験豊富な開発者でも、Copilot CLI は推測作業を減らし、日常のワークフローを高速化します。
このユニットでは、以下について説明します。
- GitHub Copilot CLI のインストールと実行
- ターミナルでの対話型セッション
- スラッシュ コマンドと自然言語入力
- 構成とオプション
Copilot CLI のインストールと起動
macOS および Linux に Homebrew を使用してインストールします。
brew install copilot-cli
または、 公式のインストール スクリプトを使用します。
curl -fsSL https://gh.io/copilot-install | bash
対話型モードで Copilot CLI を起動します。
copilot
ウェルカム バナーとプロンプトが表示されます。
初回起動時に、Copilot は現在のフォルダー内のファイルを信頼するかどうかを確認します。 Copilot はセッション中にこのディレクトリ内のファイルを読み取り、変更、または実行できるため、信頼できる場所でのみ続行します。
@を使用して、コンテキストとして操作する特定のファイルを選択できます。
対話型セッション内では、次のことができます。
-
スラッシュ コマンド (
/command) を使用してセッションを制御し、Copilot CLI を構成します。 - 自然言語プロンプトを入力して、コマンドの説明、提案、または修正を行います。
完全な対話型モードに入らない ワンショット プロンプト の場合:
copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"
一般的なスラッシュ コマンド
スラッシュ コマンドは、明示的なセッション制御コマンドです。 最も一般的なものは次のとおりです。
| スラッシュ コマンド | Description |
|---|---|
/help |
使用可能なコマンドとオプションを表示する |
/explain <command> |
シェル コマンドについて説明するように Copilot に依頼する |
/suggest <task> |
タスクのシェル コマンドを提案するように Copilot に依頼する |
/revise |
指示に基づいて最後の提案を修正する |
/feedback |
返信または提案に関するフィードバックを送信する |
/exit |
対話モードを終了する |
/model <model> |
使用する AI モデルを選択する |
/theme [auto|dark|light] |
ターミナル テーマを変更する |
/skills |
強化された機能のスキルを管理する |
/mcp |
MCP サーバー構成の管理 |
/list-dirs |
ファイル操作で許可されているディレクトリを表示する |
/reset-allowed-tools |
許可されているツールの一覧をリセットする |
スラッシュ コマンドを自然言語プロンプトに置き換えることはできません。 セッションの設定と構成を制御する唯一の方法です。
ワークフローの例
1. コマンドの説明
> Explain what `git reset --hard HEAD` does
Copilot は詳細な説明を提供します。
2. コマンドを提案する
> Find and delete all .log files in my home folder
Copilot によってコマンド候補が生成され、提案に満足できる場合は実行するように求められます。
3. 提案を修正する
提案を受け取った後、フォローアップ プロンプトを入力して、提案されたコマンドを修正できます。
> Include only files modified in the last 7 days
4. フィードバックを提供する
回答または提案の後:
> /feedback
Copilot は、送信するフィードバックの種類を選択し、適切なフォームに移動してフィードバックを完了するように求められます。
5. 対話モードを終了する
> /exit
構成オプション
Copilot CLI では、構成は次の方法で処理されます。
対話モード内のスラッシュ コマンド
-
/modelAI モデルを選択する -
/themeターミナル テーマの変更 -
/skills強化された機能を管理する -
/reset-allowed-toolsリセット ツール -
/list-dirs許可されたディレクトリを表示する -
/mcpMCP サーバーの設定
-
Copilot CLI の構成 (非対話型モード)
Copilot CLI の構成は、アクセス許可プロンプト、コマンド ライン フラグ、およびローカル構成ファイルを使用して管理されます。 これらの設定は、Copilot がユーザーに代わってアクセスして実行できる内容を制御します。
一般的な構成オプションは次のとおりです。
- 信頼されたディレクトリ – Copilot がファイルの読み取り、編集、実行を行うことができる場所を制御します。
- ツールのアクセス許可 – Copilot によるシェル コマンドの実行や、
--allow-toolや--deny-toolなどのフラグを使用したファイルの変更を許可または制限します。 - パスのアクセス許可 – Copilot がアクセスできるディレクトリを制御します。
- URL アクセス許可 – Copilot が接続できる外部ドメインを管理します。
完全な構成オプションについては、 GitHub Copilot CLI の公式ドキュメント を参照してください。
サンドボックス実行環境
GitHub Copilot CLI では、Copilotがユーザーに代わってタスクを実行できるようにしながら、システムを保護するのに役立つサンドボックス実行環境がサポートされます。
サンドボックス化により、コマンド、ファイル操作、およびその他のアクティビティがプライマリ開発環境から分離されます。 ワークフローに応じて、 ローカル サンドボックス と クラウド サンドボックスのどちらかを選択できます。
ローカル サンドボックス
ローカル サンドボックスを使用すると、Copilotはコンピューター上の制限された環境内でコマンドを実行できます。
有効にすると、ファイルシステム、ネットワーク接続、オペレーティング システムの機能へのCopilotのアクセスが制限され、意図しない変更のリスクを軽減しながら、エージェント支援ワークフローの恩恵を受けることができます。
対話型セッション中にローカル サンドボックスを有効にするには:
/sandbox enable
サンドボックスを有効にすると、Copilotによって実行されるコマンドは、ホスト システム上で直接実行されるのではなく、サンドボックス環境内で実行されます。
ローカル サンドボックスの利点
| Benefit | Description |
|---|---|
| セキュリティの強化 | 機密性の高いシステム リソースへのアクセスを制限します。 |
| より安全な実験 | リスクが軽減されたエージェント駆動型ワークフローをテストできます。 |
| ローカル実行 | クラウド インフラストラクチャを必要とせずに、コンピューターのリソースを使用します。 |
| より優れた制御 | 自律エージェントの使用中に追加のセーフガードを提供します。 |
クラウドサンドボックス
クラウド サンドボックスを使用すると、Copilot CLI セッションを、GitHubによってホストされる完全に分離された Linux 環境内で実行できます。
ローカル サンドボックスとは異なり、クラウド サンドボックス セッションは、GitHubホストされるインフラストラクチャで完全に実行され、ローカル コンピューターや他のサンドボックス セッションとは切り離されたままです。
クラウド サンドボックスは、認証、ガバナンス、ポリシーの適用、課金の統合を提供するGitHubを備えた、Azure Container Appsサンドボックス上に構築されています。
クラウド サンドボックス セッションを開始するには:
copilot --cloud
開始すると、Copilotはローカル デバイスではなく、クラウド環境内でコマンドの実行、ファイルの変更、テストの実行、開発タスクの実行を行うことができます。
クラウド サンドボックスの利点
| Benefit | Description |
|---|---|
| 高い分離性 | ワークロードはローカル コンピューターとは別に実行されます。 |
| デバイスの柔軟性 | さまざまなデバイスからセッションを再開します。 |
| リソース オフロード | ローカル CPU とメモリの代わりにクラウド リソースを使用します。 |
| 並列実行 | 複数のエージェント駆動型タスクを同時に実行します。 |
デバイス間でセッションを続行する
クラウド サンドボックス セッションはGitHubホスト型インフラストラクチャで実行されるため、作業は特定のコンピューターに関連付けされません。
これにより、次のことができます。
- 1 台のデバイスでセッションを開始する
- 別のデバイスから同じセッションを再開する
- 手動でファイルを転送したり、環境を再作成したりせずに作業を続行する
この柔軟性は、複数のコンピューターまたは場所で作業する開発者にとって特に役立ちます。
クラウド サンドボックス セッションのライフサイクル
クラウド サンドボックス セッションは、次の 3 つの状態で存在できます。
| 状態 | Description |
|---|---|
| アクティブ | セッションは実行中であり、対話に使用できます。 |
| 停止 | セッションは一時停止されますが、その状態は将来使用するために保持されます。 |
| 削除済み | セッションと保存されたすべての状態は完全に削除されます。 |
セッションが停止すると、GitHubは、ファイル、環境変数、進行中の作業など、環境のスナップショットを保存します。 セッションを再開すると、保存された状態が復元されるので、中断したところから続行できます。
認証とアクセス
クラウド サンドボックスでは、GitHub Copilot CLI と同じ認証モデルが使用されます。
GitHub Copilot CLI に対して認証を行い、GitHub Copilotにアクセスできる場合は、追加のクラウド プロバイダー構成は必要ありません。
次の必要はありません:
- API キーを管理する
- クラウド インフラストラクチャを構成する
- 仮想マシンを作成する
- コンテナー環境を維持する
Note
組織またはエンタープライズ管理者は、メンバーがクラウド サンドボックス環境を使用する前に、Cloud Sandbox アクセス ポリシーを有効にする必要があります。
ローカルサンドボックスとクラウドサンドボックス
| 特徴 | ローカル サンドボックス | クラウド サンドボックス |
|---|---|---|
| 実行場所 | ローカル コンピューター | GitHubホスト環境 |
| リソースの使用状況 | ローカル リソース | クラウド リソース |
| 分離レベル | 制限付きローカル環境 | 完全に分離されたクラウド環境 |
| デバイスの独立 | いいえ | はい |
| 並列ワークロード | ローカル ハードウェアによって制限される | 簡単にスケーラブル |
サンドボックスを使用する必要がある場合
次の場合は、サンドボックスの使用を検討してください。
- 未知のリポジトリの操作
- エージェントによって生成されたコマンドのテスト
- 自律ワークフローの実行
- 破壊的な可能性のある操作の実行
- 複数のデバイス間での作業
- コンピューティング集中型の開発タスクのオフロード
サンドボックス化により、セキュリティと柔軟性が強化され、GITHUB COPILOT CLI のエージェント機能を安全に利用できます。
Copilot CLI の効果的な使用に関するヒント
- 探索的タスクには 対話型モード (
copilot) を使用します。 - すばやく回答するには 、ワンショット モード (
copilot -i) を使用します。 - 自然言語入力は機能します。必ずしもスラッシュ コマンドは必要ありません。
- 実行前に必ずコマンドを確認してください。
- リポジトリと問題の管理のために、Copilot CLI と GitHub CLI (
gh) を組み合わせます。 - 構造化されたアクションやフィードバックが必要な場合は、 スラッシュ コマンド を使用します。