コマンド ライン用の 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 は現在のフォルダー内のファイルを信頼するかどうかを確認します。 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 は詳細な説明を提供します。

対話型モードのコマンドを説明する Copilot CLI のスクリーンショット。

2. コマンドを提案する

> Find and delete all .log files in my home folder

Copilot によってコマンド候補が生成され、提案に満足できる場合は実行するように求められます。

対話型モードのコマンドを提案する Copilot CLI のスクリーンショット。

3. 提案を修正する

提案を受け取った後、フォローアップ プロンプトを入力して、提案されたコマンドを修正できます。

> Include only files modified in the last 7 days

フォローアップ プロンプトに基づいて提案が改善された Copilot CLI のスクリーンショット。

4. フィードバックを提供する

回答または提案の後:

> /feedback

Copilot CLI 対話型モードで /feedack スラッシュ コマンドを使用しているスクリーンショット。

Copilot は、送信するフィードバックの種類を選択し、適切なフォームに移動してフィードバックを完了するように求められます。

5. 対話モードを終了する

> /exit

構成オプション

Copilot CLI では、構成は次の方法で処理されます。

  1. 対話モード内のスラッシュ コマンド

    • /model AI モデルを選択する
    • /theme ターミナル テーマの変更
    • /skills 強化された機能を管理する
    • /reset-allowed-tools リセット ツール
    • /list-dirs 許可されたディレクトリを表示する
    • /mcp MCP サーバーの設定
  2. 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) を組み合わせます。
  • 構造化されたアクションやフィードバックが必要な場合は、 スラッシュ コマンド を使用します。