はじめに
GitHub Copilot CLIがPublic Previewとしてリリースされているので実際に使ってみる。Gemini CLIとか、Amazon Q Developer CLIを以前使ってみたので、GitHub Copilot CLIも使ってみる。
※ターミナル上でAIアシスタントを利用できるツールで、自然言語での質問やコード生成をターミナル上で直接実行できる。
今回は、WSL環境でGitHub Copilot CLIをセットアップして使ってみる。
環境
WSL2 (Ubuntu 24.04 LTS)
Node.js v22.12.0
npm v10.9.0
GitHub Copilot CLI v0.0.357GitHub Copilot CLIとは
GitHub Copilot CLIは、ターミナルネイティブなAI開発アシスタントツールとなっている。
GitHubとの統合により、リポジトリのコンテキストを理解しながら、コード生成やコマンド提案を行ってくれる。
特徴
- ターミナル上で自然言語によるAI支援を受けられる
- GitHubリポジトリのコンテキストを認識できる
- Model Context Protocol (MCP)によるエージェント機能の拡張に対応している
- 実行前にユーザーの明示的な承認が必要な設計でセキュアである
- Claude Sonnet 4.5、Claude Sonnet 4、GPT-5のモデルを選択できる
前提条件
| 項目 | 要件 |
|---|---|
| Node.js | v22以上 |
| npm | v10以上 |
| GitHub Copilot | 有効なサブスクリプション |
| OS | Linux、macOS、Windows (PowerShell v6+) |
インストール
npmを使ってグローバルインストールする。
npm install -g @github/copilotログ
added 1 package in 4sインストールされたバージョンを確認する。
copilot --version0.0.357
Commit: 339872d6f使い方
認証
初回起動時は、GitHubアカウントでの認証が必要。
copilotログ
┌── ──┐
│ ▄██████▄ │
Welcome to GitHub ▄█▀▀▀▀▀██▀▀▀▀▀█▄
█████┐ █████┐ █████┐ ██┐██┐ █████┐ ██████┐ ▐█ ▐▌ █▌
██┌───┘██┌──██┐██┌─██┐██│██│ ██┌──██┐└─██┌─┘ ▐█▄ ▄██▄ ▄█▌
██│ ██│ ██│█████┌┘██│██│ ██│ ██│ ██│ ▄▄███████▀▀███████▄▄
██│ ██│ ██│██┌──┘ ██│██│ ██│ ██│ ██│ ████ ▄ ▄ ████
└█████┐└█████┌┘██│ ██│██████┐└█████┌┘ ██│ ████ █ █ ████
└────┘ └────┘ └─┘ └─┘└─────┘ └────┘ └─┘ ▀███▄ ▄███▀
│ CLI Version 0.0.357 ▀▀████████████▀▀ │
└── ──┘
Version 0.0.357 · Commit 339872d6f
Copilot can write, test and debug code right from your terminal. Describe a task to get started or enter ?
for help. Copilot uses AI, check for mistakes.
╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Confirm folder trust │
│ │
│ ╭────────────────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ /home/kbushi/workspace │ │
│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ Copilot may read files in this folder. Reading untrusted files may lead Copilot to behave in │
│ unexpected ways. With your permission, Copilot may execute code or bash commands in this folder. │
│ Executing untrusted code is unsafe. │
│ │
│ Do you trust the files in this folder? │
│ │
│ ❯ 1. Yes │
│ 2. Yes, and remember this folder for future sessions │
│ 3. No (Esc) │
│ │
│ Confirm with number keys or ↑↓ keys and Enter, Cancel with Esc │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯Yes を選択しておく。
プロンプトが起動したら/loginコマンドで認証を行う。
/loginログ
──────────────────────────────────────────────────────────────────────────────────────────────────────────
> /login
──────────────────────────────────────────────────────────────────────────────────────────────────────────
/login Log in to CopilotGitHub.com を選択し、https://github.com/login/device にアクセス。
表示されている ワンタイムコードを入力する。
認証が完了すると、ターミナルに戻って使用可能になる。
ログインできた!
Connected to GitHub MCP Server
● Signed in successfully as katsuobushiFPGA! You can now use Copilot.
~/workspace claude-sonnet-4.5 (1x)
──────────────────────────────────────────────────────────────────────────────────────────────────────────
> Enter @ to mention files or / for commands
──────────────────────────────────────────────────────────────────────────────────────────────────────────基本的な使い方
copilotコマンドで対話型のセッションが開始される。
copilotプロンプトが表示されたら、自然言語で質問や依頼ができる。
> 現在のディレクトリ配下の.mdファイルを再帰的に検索して、ファイル数を表示するコマンドを教えてログ
● 現在のディレクトリ配下の.mdファイルを再帰的に検索して、ファイル数を表示するコマンドを実行します。
✓ Count .md files recursively
$ find . -type f -name "*.md" | wc -l
↪ 7 lines...
● 結果: 6,472個の.mdファイルが見つかりました。
使用したコマンド:
find . -type f -name "*.md" | wc -l
- find . -type f -name "*.md" : 現在のディレクトリ(.)から再帰的に、ファイルタイプ(-type
f)で拡張子が.mdのファイルを検索
- wc -l : 見つかったファイルの行数(=ファイル数)をカウント
(一部のディレクトリでPermission deniedエラーが出ていますが、カウントには影響ありません)
~/workspace claude-sonnet-4.5 (1x)
──────────────────────────────────────────────────────────────────────────────────────────────────────────
> Enter @ to mention files or / for commands
──────────────────────────────────────────────────────────────────────────────────────────────────────────
Ctrl+c Exit · Ctrl+r Expand recent Remaining requests: 75.7%AIが提案したコマンドを確認して、実行するかどうかを選択できる。
モデルの切り替え
デフォルトではClaude Sonnet 4.5が使用されるが、/modelコマンドでモデルを変更できる。
/model利用可能なモデル一覧が表示され、選択できる。
| モデル | コスト |
|---|---|
| Claude Sonnet 4.5 | 1x |
| Claude Sonnet 4 | 1x |
| Claude Haiku 4.5 | 0.33x |
| GPT-5 | 1x |
ログ
Choose the AI model to use for Copilot CLI. The selected model will be persisted and used for future
sessions.
❯ 1. Claude Sonnet 4.5 (1x) (default) (current)
2. Claude Sonnet 4 (1x)
3. Claude Haiku 4.5 (0.33x)
4. GPT-5 (1x)
5. Cancel (Esc)
Confirm with number keys or ↑↓ keys and Enter, Cancel with Escプレミアムリクエストについて
GitHub Copilot CLIでは、より高度なAIモデルを使用するため、プレミアムリクエストの仕組みが導入されている。
各モデルには「リクエストコスト」が設定されており、モデルを使用するたびにこのコストが消費される。
例えば、Claude Sonnet 4.5やGPT-5は1リクエストあたり1x、Claude Haiku 4.5は0.33xとなっている。
プレミアムリクエストの残量は、プロンプト下部に表示される。
Remaining requests: 75.7%残量が少なくなった場合は、以下の対策が考えられる。
- 軽量な
Claude Haiku 4.5モデルに切り替える - 質問を簡潔にして、必要最小限のリクエストに留める
- 翌月のリクエスト残量リセットを待つ
主なコマンド
| コマンド | 説明 |
|---|---|
/login | GitHubアカウントで認証する |
/model | 使用するAIモデルを切り替える |
/feedback | フィードバックを送信する |
/exit または Ctrl+C | セッションを終了する |
使ってみる
コマンド生成
複雑なコマンドの構文を調べる代わりに、自然言語で依頼できる。
> ポート8080で動いているプロセスを見つけて停止するコマンドを教えてAIが以下のようなコマンドを提案する。
lsof -ti:8080 | xargs kill -9ログ
● ポート8080で動いているプロセスを見つけて停止するコマンドを実行します。
○ Find process using port 8080
$ lsof -ti:8080
╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Find process using port 8080 │
│ │
│ ╭────────────────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ lsof -ti:8080 │ │
│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ Do you want to run this command? │
│ │
│ ❯ 1. Yes │
│ 2. Yes, and approve `lsof` for the rest of the running session │
│ 3. No, and tell Copilot what to do differently (Esc) │
│ │
│ Confirm with number keys or ↑↓ keys and Enter, Cancel with Esc │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
● 結果: ポート8080で動いているプロセスは見つかりませんでした。
ポート8080で動いているプロセスを見つけて停止するコマンドは以下の通りです:
方法1: lsofを使う(推奨)
# プロセスIDを確認
lsof -ti:8080
# プロセスを停止
kill $(lsof -ti:8080)
# 強制停止する場合
kill -9 $(lsof -ti:8080)
方法2: ssとgrepを使う
# プロセスIDを確認
ss -lptn 'sport = :8080'
# またはnetstatを使う
netstat -tlnp | grep :8080
方法3: fuser を使う
# プロセスを停止
fuser -k 8080/tcp
現在はポート8080を使用しているプロセスがないため、停止する必要はありません。実行前に確認してから実行できるので、安全に使用できる。
スクリプト生成
よくあるスクリプト作成ももちろんできる。
> 指定したディレクトリ内の7日以上古いログファイルを削除するbashスクリプトを書いてログ
╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Make script executable │
│ │
│ ╭────────────────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ chmod +x /home/kbushi/workspace/cleanup_old_logs.sh │ │
│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ Do you want to run this command? │
│ │
│ ❯ 1. Yes │
│ 2. Yes, and approve `chmod` for the rest of the running session │
│ 3. No, and tell Copilot what to do differently (Esc) │
│ │
│ Confirm with number keys or ↑↓ keys and Enter, Cancel with Esc │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Edit file │
│ │
│ cleanup_old_logs.sh +49 -0 │
│ /home/kbushi/workspace │
│ │
│ 1 + #!/bin/bash │
│ 2 + │
│ 3 + # 7日以上古いログファイルを削除するスクリプト │
│ 4 + │
│ 5 + # 使用方法 │
│ 6 + if [ $# -eq 0 ]; then │
│ 7 + echo "使用方法: $0 <ログディレクトリのパス>" │
│ 8 + echo "例: $0 /var/log/myapp" │
│ 9 + exit 1 │
│ 10 + fi │
│ 11 + │
│ 12 + LOG_DIR="$1" │
│ 13 + │
│ 14 + # ディレクトリの存在確認 │
│ 15 + if [ ! -d "$LOG_DIR" ]; then │
│ 16 + echo "エラー: ディレクトリ '$LOG_DIR' が存在しません" │
│ 17 + exit 1 │
│ 18 + fi │
│ 19 + │
│ 20 + echo "ディレクトリ: $LOG_DIR" │
│ 21 + echo "7日以上古いログファイルを検索中..." │
│ 22 + │
│ 23 + # 削除対象のファイルを表示 │
│ 24 + echo "--- 削除対象のファイル ---" │
│ 25 + find "$LOG_DIR" -type f -name "*.log" -mtime +7 -ls │
│ 26 + │
│ 27 + # 削除対象のファイル数をカウント │
│ 28 + COUNT=$(find "$LOG_DIR" -type f -name "*.log" -mtime +7 | wc -l) │
│ 29 + │
│ 30 + if [ "$COUNT" -eq 0 ]; then │
│ 31 + echo "削除対象のファイルはありません" │
│ 32 + exit 0 │
│ 33 + fi │
│ 34 + │
│ 35 + echo "" │
│ 36 + echo "合計 $COUNT 個のファイルが見つかりました" │
│ 37 + │
│ 38 + # 確認プロンプト │
│ 39 + read -p "これらのファイルを削除しますか? (y/N): " -n 1 -r │
│ 40 + echo │
│ 41 + │
│ 42 + if [[ $REPLY =~ ^[Yy]$ ]]; then │
│ 43 + # 7日以上古い.logファイルを削除 │
│ 44 + find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete │
│ 45 + echo "削除完了" │
│ 46 + else │
│ 47 + echo "削除をキャンセルしました" │
│ 48 + fi │
│ 49 + │
│ │
│ Do you want to edit /home/kbushi/workspace/cleanup_old_logs.sh? │
│ │
│ ❯ 1. Yes │
│ 2. Yes, and approve all file operations for the rest of the running session │
│ 3. No, and tell Copilot what to do differently (Esc) │
│ │
│ Confirm with number keys or ↑↓ keys and Enter, Cancel with Esc │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯※これはいつもと同じ。
参考
GitHub Copilot CLI - GitHub
https://github.com/features/copilot/cligithub/copilot-cli - GitHub
https://github.com/github/copilot-cliAbout GitHub Copilot CLI - GitHub Docs
https://docs.github.com/copilot/concepts/agents/about-copilot-cli
おわりに
GitHub Copilot CLIを使って、ターミナル上での作業効率が期待できそう。
インストール自体は、WSL環境でも問題なく動作し、Node.jsがインストールされていれば簡単に導入できる。
Public Previewの段階なので、今後さらに機能が追加されるだろう…。
この辺のCLI系ツールは積極的に使っていきたい。