-
Notifications
You must be signed in to change notification settings - Fork 0
MS_GitHubCopilotCLI
- 戻る(GitHub)
- GitHub Actions
-
GitHub Copilot
- GitHub Copilot Coding Agent
- GitHub Copilot CLI
- VSC からの実行がメインと言う事で、元々、GitHub Copilot in the CLI と言う製品はあった
(2025 年 10 月に廃止・アーカイブ)が、 - コチラは、GitHub Copilot Coding Agent より、
更に強く Claude Code(コーディング・エージェント)を意識している。
補足(2 つの「CLI」の違い): 名前が紛らわしいので整理しておく。
【GitHub Copilot in the CLI(旧)】★ ・gh コマンドの拡張(gh copilot suggest / explain) ・「このシェル コマンドは何?」 「〜したいがコマンドは?」に答えるだけ ・【ファイルを編集する能力はない】 → 2025年10月に廃止・アーカイブ(原文の記述どおり) 【GitHub Copilot CLI(新)】★ ・独立したエージェント(npm パッケージ) ・【ファイルの読み書き、コマンド実行、 計画立案、サブエージェント】まで行う → 位置付けとしては Claude Code / Codex CLI と同じ土俵
参考を参照。
参考:https://docs.github.com/ja/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli
(全プラットフォーム)
npm install -g @github/copilot
winget install GitHub.Copilot
curl -fsSL https://gh.io/copilot-install | bash
brew install copilot-cli
copilot
- YOLO モード
copilot --autopilot
- 中断したところから続ける
copilot --continue
- セッションを再開
- 一覧から選択
copilot --resume
- ID を指定して再開
copilot --resume abc123
- エージェント指定
copilot --agent python-reviewer
- Instruction(後述の
/initを参照)を無効化する(デバッグ用)
copilot --no-custom-instructions
/login
Normal、Plan、Auto Pilot の 3 種類のモード
copilot --autopilot
copilot --plan(Issueに上がっている)
「Shift+Tab」で切り替え。
/plan
/allow-all(エイリアス /yolo)
移行メモ(括弧の欠落): 移行元では
/allow-all(エイリアス /yoloと
閉じ括弧が欠落していたため補った。
Claude Code と同じ。
使用状況の確認
移行メモ(誤字): 移行元の「仕様状況の確認」を
「使用状況の確認」に修正した。
AI モデルの確認・切り替え
プロジェクト Instruction ファイルを生成
-
AGENTS.md
CLAUDE.md、GEMINI.md は、他 AI ツールとの互換性用- スコープ:プロジェクトルートまたはサブディレクトリ
- 備考:クロスプラットフォーム標準(Copilot 以外の AI でも使用可能)
-
.github/copilot-instructions.md
- スコープ:プロジェクト
- 備考:GitHub Copilot 専用
-
.github/instructions/*.instructions.md
- スコープ:プロジェクト
- 備考:GitHub Copilot 専用、トピックごとに分割された細かい指示
- 参考:https://github.com/github/awesome-copilot/blob/main/docs/README.instructions.md
補足(Instruction ファイルの使い分け): 3 種類あるが、
役割が重ならないよう設計されている。
ファイル スコープ 読まれ方 用途 AGENTS.md プロジェクト / サブディレクトリ 常に読まれる ★ ツール非依存の共通規約 .github/copilot-instructions.md プロジェクト 常に読まれる Copilot 固有の指示 .github/instructions/*.instructions.md プロジェクト applyToに一致した時だけ ★言語・領域ごとの細かい規約 【applyTo による絞り込み】★ --- applyTo: "**/*.cs" --- C# では var を使わず明示的な型を書く。 → 【関係ないファイルを編集する時は読まれない】 → コンテキストを節約できる → AGENTS.md が肥大化するのを防ぐ ★ 【サブディレクトリの AGENTS.md】 ・モノレポで有効 /AGENTS.md … 全体の規約 /frontend/AGENTS.md … フロント固有 /backend/AGENTS.md … バックエンド固有 → 【編集対象に近い方が優先】される 【書くべき内容】★ ・ビルド/テストの実行方法(最重要)★ ・命名規約・ディレクトリ構成 ・使ってよい/いけないライブラリ ・【触ってはいけないファイル】 ・文字コード・改行コード → [GitHub Copilot Coding Agent](MS_GitHubCopilotCodingAgent) の 「レガシー対応」の節を参照
CLI のヘルプ表示
copilot を終了させる
実行モード
- Normal、Planning、Auto Pilot
- Interactive、Programmatic
移行メモ(見出しの重複): 移行元では「モード」という同名の見出しが
2 箇所にある(起動時/起動後の切替を述べる節と、
各モードの内容を述べる本節)。
見出しは移行元のまま残したが、内容は補完関係にある。
計画のみで実装しない。
/plan "<プロンプト>"
YOLO:You Only Live Once(人生は一度きりだから失敗を恐れずに挑戦しよう。)
/allow-all "<プロンプト>"
/yolo "<プロンプト>"
移行メモ(括弧の欠落): 移行元では YOLO の説明の閉じ括弧が欠落
していたため補った。
補足(Auto Pilot の使いどころと危険): 「失敗を恐れずに」という
語感どおり、確認を省くモードである。【何が起きるか】★ ・ファイルの書き込み、コマンド実行の 【確認プロンプトを全部スキップする】 ・rm / git reset / 外部への送信も 止められずに実行されうる 【安全に使う条件】★ ① 【隔離された環境】で動かす → コンテナ / VM / 使い捨てのワークツリー ② 【変更をコミット済み】にしてから始める → いつでも git reset --hard で戻せる状態 ③ 【許可ディレクトリを絞る】(/add-dir) ④ 認証情報を環境から外す → クラウドの本番資格情報が見える状態で YOLO を回さない ★ 【向く作業 / 向かない作業】 向く … 大量の機械的な修正、 テストが通るまでの反復、調査 向かない … 本番設定の変更、 マイグレーション、外部への通知 ★
フツーに CLI の Chat で実行する。
単発実行でシェルスクリプトに組み込み可能。
- 単発実行
copilot -p "<プロンプト>"
- シェルスクリプトの中で利用可能
# コミットメッセージを自動生成
COMMIT_MSG=$(copilot -p "次の差分に対するコミット・メッセージを生成してください: $(git diff --staged)")
git commit -m "$COMMIT_MSG"
# ファイルレビュー
copilot --allow-all -p "@myfile.py の問題点をレビューしてください"補足(Programmatic モードの実務的な注意): パイプに組み込めるのは
強力だが、スクリプトとして扱う際の作法がある。【① 出力は自然言語である】★ ・コミット メッセージの例のように 「そのまま使う」前提だと 前置き(「はい、以下が…」)が混ざることがある → プロンプトで 【「本文だけを出力し、説明を付けないこと」】と指示する → 構造化が要るなら JSON を要求してパースする 【② 非決定的である】 ・同じ入力でも出力が変わりうる → CI に組み込むなら 【失敗しても止まらない】位置に置く → または人がレビューする成果物として出す 【③ 差分が巨大だとトークンを食う】★ $(git diff --staged) を丸ごと渡すと 大きな変更で上限に当たる → --stat や対象ファイルを絞る 【④ CI で使うなら認証をどうするか】 → 対話ログイン(/login)ではなく 環境変数のトークンを使う → 権限は【最小限】に絞る
- セッション情報とワークスペース概要を表示
/session
- 現在のセッション名を変更
/rename
- 再起動せずセッション切替(ID 指定も可)
/resume
- コンテキストを表示
/context
- 会話のクリア
/clear
- 会話を要約してコンテキスト使用量を削減
/compact
- セッションをエクスポート
/share
- セッションのすべての権限確認を自動承認
/allow-all
- 許可済みディレクトリに追加
/add-dir <directory>
- 許可済みディレクトリ一覧を表示
/list-dirs
- 作業ディレクトリの表示・変更
/cwd, /cd [directory]
- 差分確認
/diff
- 変更分析(git diff、git diff --staged の違いを意識する)
/review
- GitHub や Web を使った詳細な調査を実行
/research
- 複数行入力(Shift+Enter / Ctrl+Enter)を有効化
/terminal-setup
- 利用可能なエージェントを
- 選択
/agent
- 指定
/agent python-reviewer
-
サブ・エージェント
- 委譲(GitHub クラウド上のエージェント)
/delegate
- 複雑なタスクを並列のサブタスクに分割して高速化
/fleet
- サブ・エージェントや分離されたシェル・セッションを表示
/tasks
-
組込エージェント
- Init:プロジェクト設定ファイルを生成
/init
- Plan:コーディング前にステップごとの実装計画を作成
/plan
(または Shift+Tab でモード切替)
- Code-review:ステージ済み/未ステージの変更をレビュー
/review
- Explore:コードベースの探索・解析を依頼したときに内部的に使用(自動実行)
- Task:テスト実行、ビルド、lint、依存関係のインストールなど
任意のタスクを実行(自動実行)
補足(
/delegateと/fleetの違い): どちらも「他のエージェントに
任せる」機能だが、走る場所と目的が異なる。【/delegate】★ ・【GitHub のクラウド上】でエージェントを走らせる ・実体は [GitHub Copilot Coding Agent](MS_GitHubCopilotCodingAgent) ・結果は【Pull Request として返ってくる】★ → 「手元を離れて時間のかかる作業」を投げる → ローカル環境を占有しない 【/fleet】 ・【ローカルで】サブエージェントを並列に立てる ・独立した文脈で並行処理し、結果を集約する → 「多数のファイルに同じ変更」 「複数の観点で同時に調査」に効く ★ → 各サブエージェントは 【親の会話履歴を持たない】ため、 必要な前提はプロンプトで渡す必要がある 【/tasks】 ・上記で走らせたものの一覧・状態確認
- 機能拡張のためのスキルを管理
/skills
- インストール済みスキル一覧を表示
/skills list
- 指定したスキルの詳細を表示
/skills info <name>
- スキルを有効化(リポジトリやマーケットプレイスから)
/skills add <name>
- スキルを無効化/アンインストール
/skills remove <name>
- SKILL.md を編集後に再読み込み
/skills reload
- MCP サーバーの設定を管理
/mcp
補足(MCP とは): 原文では「...」で省略されているため補っておく。
【MCP(Model Context Protocol)】★ ・Anthropic が 2024年11月に公開した 【AI と外部ツールを繋ぐオープン規格】 ・現在は Anthropic / OpenAI / Google / GitHub 等が 横断的に採用しており、事実上の標準になった ★ 【何ができるか】 ・DB に問い合わせる ・チケット管理(Jira / Azure Boards)を読み書きする ・社内の API を叩く ・ファイル システムやブラウザを操作する → 【エージェントに「手足」を足す】仕組み 【構成】 Copilot CLI(MCP クライアント) ↓ stdio または HTTP MCP サーバ(DB / GitHub / 社内 API …) 【セキュリティ上の注意】★★ ・MCP サーバは【任意のコードを実行しうる】 → 素性の不明なサーバを追加しない ・【プロンプト インジェクション】 → 外部から読み込んだ内容に 「〜せよ」という指示が埋め込まれていると エージェントが従ってしまう → 読み取り専用の権限に絞る、 書き込み系は確認を挟む ★
AI を介さずにコマンド(git status)を直接実行
!git status
「@」で指定可能だが、チャット中で使用するケースと、
MD ファイル中で使用するケースで異なる。
-
チャット中:@メンション(ファイル参照/ファイル選択)
-
厳密な(絶対/相対)パス指定は不要。
-
参照ファイルを指定
-
@ファイルやパス
-
MD ファイル中:インポート構文(@path/to/import syntax)
-
相対パスで書くのが一般的
-
追加ファイルをインポート
-
@ファイルやパス
-
ワイルドカード
ファイルやパスにワイルドカードを使用可能。- ワイルドカード(任意の文字列)
*
- 再帰的ワイルドカード(サブフォルダも対象)
**
- GitHub Copilot CLI
https://github.com/features/copilot/cli?locale=ja
- GitHub Copilot CLI マスタークラス
https://zenn.dev/microsoft/articles/github_copilot_cli_masterclass - GitHub Copilot CLI の公式ハンズオンざっくり和訳 (第0章/7章) 環境構築編 #GitHubCopilot - Qiita
https://qiita.com/chomado/items/6d26b6ffc11d163dfd71
- 2026年2月 GA:新 GitHub Copilot CLI を入れてみた — セットアップ手順まとめ
https://tech-lab.sios.jp/archives/51932 - 今からでも遅くない GitHub Copilot CLI 入門 ~ 祝 GitHub Copilot CLI GA ~ - APC 技術ブログ
https://techblog.ap-com.co.jp/entry/2026/03/06/170000
Tags: 移行, .NET開発, 構成管理ツール, CI, BI/AI
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。