GitHub Copilot CLI を使いこなす – TECHSCORE BLOG

以前のブログでは、VS Code の GitHub Copilot の基本機能や、カスタム指示と MCP の使い方を紹介しました。
今回ご紹介するのは、GitHub Copilot CLI です。GitHub Copilot CLI は 2025 年 9 月 25 日にパブリックプレビューとして公開された、ターミナルネイティブな AI コーディングアシスタントです。

VS Code 拡張機能とは異なり、IDE に依存せず、ターミナルで動作し、GitHub との統合、ファイル操作、コマンド実行を自然言語で制御できます。

本記事では、GitHub Copilot CLI の基本的な使い方から、VS Code 拡張機能との機能差や使い分けの考え方まで、深掘りしていきます。

以前の記事は以下をご覧ください。

VS Code の GitHub Copilot の基本機能をマスターする(基本編)
VS Code の GitHub Copilot をカスタム指示と MCP で高度に使いこなす(応用編)

インストールと初期設定

インストール方法はnpm経由で行います。

npm install -g @github/copilot

インストールが完了すると、以下のコマンドで起動します。

copilot

起動すると、以下のようなアニメーションバナーが表示されます。

初回起動時には認証が必要です。
認証には/loginスラッシュコマンドを使用し、画面の指示に従ってGitHubアカウントで認証します。

基本編: GitHub Copilot CLI を使ってみる

チャットモードでの対話

copilot

起動すると、以下のようなプロンプトが表示されます。

GitHub Copilot CLI の基本的な使い方を説明します。ターミナルで copilot コマンドを実行すると、インタラクティブモードが起動します。

このプロンプトに自然言語で指示を入力すると、Copilot がアクションを提案したり、指示します。

例: コードの修正を依頼する

> src/utils/helper.ts の TypeScript エラーを修正して

Copilot はファイルを読み込み、エラーを分析して修正案を提示します。提案された修正内容を確認し、承認すると実際にファイルが編集されます。

例: Git 操作を依頼する

> feature/add-login というブランチを作成して切り替えて

Copilot は以下のようなコマンドを実行します。

git checkout -b feature/add-login

例: テストの実行

> テストを実行して、失敗したテストを教えて

Copilot はプロジェクトの設定を確認し、テストコマンドを実行して結果を表示します。

ファイルのメンション

Copilot に特定のファイルの内容をコンテキストに含めたい場合は、@ を使ってファイルをメンションできます。

> @src/components/Button.tsx このコンポーネントにアクセシビリティ対応を追加して

@ を入力すると、ファイル名の候補が表示され、Tab キーで補完できます。

ツールの実行確認

Copilot がファイルの編集やコマンド実行を提案すると、以下のような確認プロンプトが表示されます。

内容を読んで、選択肢を選んでください。

セッションの再開

Copilot は各実行セッションを記録しており、前回の作業を再開できます。

copilot --resume

これにより、前回の会話履歴とコンテキストが復元され、作業を継続できます。

特定のセッションを再開したい場合は、セッション ID を指定します。

copilot --resume session-abc123

セッション ID は /session コマンドで確認できます。

モデルの選択

GitHub Copilot CLI は複数の AI モデルに対応しています。起動時に --model オプションで指定するか、インタラクティブモード内で /model コマンドを使って切り替えられます。

copilot --model claude-sonnet-4.5

インタラクティブモード内での切り替え。

> /model claude-sonnet-4.5

利用可能なモデル。

モデル 説明
claude-sonnet-4.5 Claude Sonnet 4.5(デフォルト)
claude-sonnet-4 Claude Sonnet 4
gpt-5 GPT-5

モデルによって応答速度や得意分野が異なるため、タスクに応じて使い分けると効果的です。

MCP Serverの設定

ここでは例として、serena mcpの設定方法を紹介します。

Serena はLSP を活用してセマンティックなコード検索・編集能力を提供する ツールキットです。大規模で複雑なコードであっても必要なコンテキストを正確に取得してタスクを実行できます。

MCP Server を追加するには以下のコマンドを使用します。

/mcp add serena

そうすると以下の画面が表示されます。必要な内容を入力し、Ctrl+Sで保存してください。

設定ファイルの保存場所は環境変数のXDG_CONFIG_HOMEに保存されています。デフォルトでは、$HOME/.copilotです。
このディレクトリにmcp-config.jsonというファイルにMCP Serverの設定は保存されます。
このファイルを直接編集しても設定はできます。

設定内容の一例

カスタムインタラクションファイルを読み込ませる

Copilot CLI は以下のパスからカスタムインタラクションファイルを自動的に読み込みます。

パス 説明
.github/instructions/**/*.instructions.md GitHub内の指示ファイル群
.github/copilot-instructions.md プロジェクト固有の指示
**/AGENTS.md エージェント設定
CLAUDE.md Claude用の指示
GEMINI.md Gemini用の指示
$HOME/.copilot/copilot-instructions.md グローバル指示ファイル

これらのファイルが存在すれば、自動的にコンテキストに含められます。

VS Code 拡張機能との違いと使い分け

ここで、VS Code の GitHub Copilot とどう使い分けをしたらいいのかという疑問が湧いてきます。

GitHub Copilot CLI と VS Code 拡張機能は、異なる開発ワークフローに最適化された相互補完的なツールです。それぞれの特徴を理解し、適切に使い分けることで開発効率を最大化できます。

機能的な違い

VS Code 拡張機能の特徴

  • リアルタイムコード補完とインラインチャット
  • ワークスペース全体のコンテキスト把握
  • マルチファイル編集とビジュアルdiff
  • エージェントモードによる複雑タスクの自律実行

GitHub Copilot CLI の特徴

  • コマンド提案・説明(shell、git、gh)
  • GitHub.com との直接統合(issue、PR、ワークフロー)
  • MCP サーバーによる拡張性
  • IDE 非依存のターミナルネイティブ体験

使い分けの判断基準

使用場面 CLI VS Code 拡張機能
環境セットアップ ✓ 最適 △ 可能
コマンド操作 ✓ 最適
コーディング ✓ 最適 ✓ 最適
マルチファイル編集 ✓ 最適
GitHub 操作 ✓ 最適 △ ブラウザ必要
リモートSSH ✓ 最適 △ 設定次第

実践的な使い分け例

開発の流れに沿った使い分けを紹介します。

1. 環境セットアップ(CLI)

copilot -p "Node.js プロジェクトの開発環境をセットアップして" --allow-all-tools

2. 機能実装(VS Code 拡張機能)
IDE でリアルタイムコード補完を使いながら実装。

3. Git 操作と PR 作成(CLI)

> ブランチを作成してコミットし、PR を作成して

4. コードレビュー(VS Code 拡張機能)
IDE 内で PR をレビューし、コメントを追加。

両方を使いこなすために

  • CLI: ターミナル中心の作業、コマンド操作、GitHub 統合に最適
  • VS Code 拡張機能: コーディング、リファクタリング、マルチファイル編集に最適

両方を組み合わせることで、環境セットアップからデプロイまで開発フロー全体を効率化できます。タスクに応じて使い分けることを推奨します。

応用編: GitHub Copilot CLI を使いこなす

GitHub Copilot CLI コマンドラインリファレンス

GitHub Copilot CLI コマンドラインの使い方は以下となります。用途に応じてオプションやコマンドを指定して使います。

copilot [options] [command]

使えるオプション、コマンドは以下です。

Options

オプション 説明
--add-dir ファイルアクセスの許可リストにディレクトリを追加(複数回使用可能)
--allow-all-tools すべてのツールを確認なしで自動実行;非対話モードで必須(環境変数: COPILOT_ALLOW_ALL)
--allow-tool [tools...] 特定のツールを許可
--banner スタートアップバナーを表示
--deny-tool [tools...] 特定のツールを拒否;–allow-toolまたは–allow-all-toolsより優先
--disable-mcp-server 特定のMCPサーバーを無効化(複数回使用可能)
-h, --help ヘルプを表示
--log-dir ログファイルディレクトリを設定(デフォルト: ~/.copilot/logs/)
--log-level ログレベルを設定(error, warning, info, debug, all, default, none)
--model 使用するAIモデルを設定(claude-sonnet-4.5, claude-sonnet-4, gpt-5)
--no-color すべての色出力を無効化
-p, --prompt 対話モードを使わずにプロンプトを直接実行
--resume [sessionId] 前のセッションから再開(オプションでセッションIDを指定)
--screen-reader スクリーンリーダー最適化を有効化
-v, --version バージョン情報を表示

Commands
コマンドは現状ではhelpの1種類で「ヘルプ情報を表示」します。
以下の使用方法で、topicを付与できます。

help [topic]

指定できるトピックスは以下です。
Help Topics

ヘルプトピック 説明
config 設定内容に関する情報
environment 環境変数に関する情報
logging ログ機能に関する情報
permissions ツールのパーミッション設定に関する情報

使用例

ここでは基本的なコマンドラインからの起動方法や、便利な使用方法を紹介します。

インタラクティブモードで起動
copilot

通常のチャット形式でCopilotを対話的に使用します。

特定のモデルを指定して起動
copilot --model gpt-5

使用するAIモデルを指定して起動します。


プロンプト直接実行
シンプルなプロンプト実行
copilot -p "Fix the bug in main.js" --allow-all-tools

プロンプトを直接実行し、すべてのツールを自動承認します。

特定のモデルでプロンプト実行
copilot -p "Fix the bug in main.js" --model claude-sonnet-4 --allow-all-tools

特定のモデルを指定してプロンプトを実行します。


セッション管理

最新のセッションを再開
copilot --resume

前回実行したセッションから続行します。

特定のセッションを再開
copilot --resume session-id

指定されたセッションIDから再開します。

セッション再開時に自動承認を有効化
copilot --allow-all-tools --resume

セッション再開時にすべてのツール実行を自動承認します。


ログ設定

アニメーションバナーを表示
copilot --banner

起動時にスタートアップバナーを表示します。

ログディレクトリを設定
copilot --log-dir ./logs

ログファイルを ./logs ディレクトリに保存します。

デバッグレベルのログを有効化
copilot --log-level debug

詳細なデバッグログを出力します。


ファイルアクセス権限

追加ディレクトリへのアクセスを許可
copilot --add-dir /home/user/projects

指定したディレクトリへのファイルアクセスを許可します。

複数のディレクトリへアクセス許可
copilot --add-dir ~/workspace --add-dir /tmp

複数のディレクトリへのアクセスを同時に許可します。


ツール権限管理

特定のgitコマンドのみ許可(git pushは除外)
copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)'

すべてのgitコマンドは実行可能ですが、git push だけはブロックします。

ファイル編集ツールをすべて許可
copilot --allow-tool 'write'

すべてのファイル編集操作を許可します。

MCPサーバーの特定ツールを除外
copilot --deny-tool 'MyMCP(denied_tool)' --allow-tool 'MyMCP'

「MyMCP」という名前のMCPサーバーのツールはすべて許可しますが、denied_tool だけはブロックします。


組み合わせて使う

開発作業用(セキュアな設定)
copilot --add-dir ~/projects --log-level info

特定のディレクトリへのアクセスを限定し、ログを記録します。

CI/CDパイプライン用(自動実行)
copilot -p "Run tests" --model claude-sonnet-4.5 --allow-all-tools --log-dir ./ci-logs

プロンプト直接実行、自動ツール承認、ログ記録を組み合わせます。


コマンドを使う

現状使用できるコマンドはhelpだけで、各トピックスのヘルプを表示します。

copilot help config

Copilotの動作をカスタマイズするための設定オプションを表示します。この内容に従って、動作のカスタマイズをしてください。

copilot help commands

インタラクティブモードでのスラッシュコマンドの一覧を表示します。詳細は後述します。

copilot help environment

Copilotで使用する環境変数の種類や内容が表示されます。

copilot help logging

使用可能なログレベルを表示します。

copilot help permissions

ツールの権限関連の情報を表示します。

インタラクティブモードでの操作

copilot

キーボードショートカット

基本操作

ショートカット 説明
@ ファイルをメンション(内容をコンテキストに含める)
Esc 現在の操作をキャンセル
Ctrl+C 思考中ならキャンセル、入力があればクリア、なければ終了
Ctrl+D Copilotをシャットダウン
Ctrl+L 画面をクリア

テキスト編集ショートカット

ショートカット 説明
Ctrl+A 行の始まりにカーソルを移動
Ctrl+E 行の終わりにカーソルを移動
Ctrl+H 前の文字を削除
Ctrl+W 前の単語を削除
Meta+← / Meta+→ カーソルを単語ごとに移動

タイムラインナビゲーション

ショートカット 説明
Ctrl+O すべてのタイムラインを展開 / 折りたたむ
Ctrl+R 最近のタイムラインを展開 / 折りたたむ
/ コマンド履歴をナビゲート

スラッシュコマンド

ディレクトリ管理

/add-dir – ディレクトリをアクセス許可リストに追加
/add-dir /home/user/projects
/add-dir ~/workspace

指定したディレクトリへのファイルアクセスを許可します。

/list-dirs – 許可されたディレクトリを表示
/list-dirs

アクセスが許可されているすべてのディレクトリを一覧表示します。


チャット管理

/clear – チャット履歴をクリア
/clear

画面上のチャット履歴をすべて削除します。

/cwd [directory] – 作業ディレクトリを変更・表示
/cwd                      # 現在の作業ディレクトリを表示
/cwd /home/user/projects  # ディレクトリを変更
/cwd ~/new-project        # ホームパスでも指定可能

セッション・ユーザー管理

/session – 現在のセッション情報を表示
/session

セッションID、モデル、ユーザー情報など、現在の実行環境の詳細を確認できます。

/login – Copilotにログイン
/login

GitHubアカウントで認証します。

/logout – Copilotからログアウト
/logout

現在のセッションをログアウトします。

/user [show|list|switch] – GitHubユーザーを管理
/user show      # 現在のユーザーを表示
/user list      # 利用可能なユーザーを一覧表示
/user switch    # ユーザーを切り替え

モデル・テーマ設定

/model [model] – AIモデルを選択
/model                    # 現在のモデルを表示
/model claude-sonnet-4.5  # Claude Sonnet 4.5を使用
/model claude-sonnet-4    # Claude Sonnet 4を使用
/model gpt-5              # GPT-5を使用

実行時にAIモデルを切り替えられます。

/theme [show|set|list] [auto|dark|light] – テーマを設定
/theme show              # 現在のテーマを表示
/theme list              # 利用可能なテーマを表示
/theme set auto          # 自動テーマに設定
/theme set dark          # ダークテーマに設定
/theme set light         # ライトテーマに設定
テーマ 説明
auto ターミナルの背景を自動判定してテーマを選択
dark ダークテーマ(黒背景用)
light ライトテーマ(白背景用)

ツール・MCP管理

/reset-allowed-tools – ツール権限をリセット
/reset-allowed-tools

セッション中に設定したツール権限をリセットします。

/mcp [show|add|edit|delete|disable|enable] [server-name] – MCPサーバーを管理
/mcp show              # すべてのMCPサーバーを表示
/mcp add MyMCP         # 新しいMCPサーバーを追加
/mcp edit MyMCP        # MCPサーバーの設定を編集
/mcp delete MyMCP      # MCPサーバーを削除
/mcp disable MyMCP     # MCPサーバーを無効化
/mcp enable MyMCP      # MCPサーバーを有効化

ヘルプ・フィードバック

/help – ヘルプを表示
/help

インタラクティブコマンドのヘルプを表示します。

/feedback – フィードバックを送信
/feedback

Copilotの改善に関するフィードバックを報告できます。

/exit – Copilotを終了
/exit

CLIを終了します。


よく使うコマンド組み合わせ

プロジェクト開始時

/add-dir ~/my-project
/cwd ~/my-project
/model claude-sonnet-4.5

作業ディレクトリ設定、モデル選択。

複数プロジェクトの切り替え

/cwd ~/project-a
# 作業...
/cwd ~/project-b
# 別のプロジェクトで作業

セッション情報確認

/session
/user show
/model
/theme show

MCPサーバーの管理

/mcp show           # 現在のサーバー確認
/mcp add MyServer   # 新規追加
/mcp enable MyServer # 有効化

まとめ

本記事では、GitHub Copilot CLI の基本的な使い方から応用的な機能まで、幅広く解説しました。

GitHub Copilot CLI の特徴

  • ターミナルネイティブ: IDE を開かずにターミナルで完結する AI アシスタント
  • 自然言語での操作: コマンドを覚えなくても、日本語で指示するだけで適切なコマンドを実行
  • GitHub との統合: issue、PR、ワークフローを直接操作可能
  • 拡張性: MCP サーバーとカスタムインストラクションで機能を拡張

VS Code 拡張機能との使い分け

GitHub Copilot CLI と VS Code 拡張機能は、それぞれ異なる強みを持つ相互補完的なツールです。

  • CLI が得意: 環境セットアップ、コマンド操作、GitHub 統合、リモート作業
  • VS Code が得意: コーディング、マルチファイル編集、コードレビュー、デバッグ

開発フローに応じて両方を使い分けることで、最大限の効率化を実現できます。

次のステップ

GitHub Copilot CLI はまだパブリックプレビュー段階ですが、今後さらに機能が追加されていくことが予想されます。ぜひ実際に使ってみて、ターミナルでの開発体験を向上させてください。

参考リンク:

hiraokuのプロフィール画像

hiraoku

暇があったらクライミングしているフロントエンドエンジニアです。

シナジーマーケティング株式会社では一緒に働く仲間を募集しています。




Source link

関連記事

コメント

この記事へのコメントはありません。