コンテンツにスキップ

gh copilot CLI セットアップ・機能比較調査まとめ

📁 docs/dev-environment/artifact/20260426_000000_gh_copilot_CLI_機能比較調査まとめ.md

作成日: 2026-04-26
関連Issue: #394


1. セットアップ手順

前提条件

  • gh CLI バージョン 2.88.1 以降(gh copilot サブコマンドが内蔵済み)
  • GitHub Copilot サブスクリプション(Free プランでは CLI 使用不可、Student/Pro 以上が必要)

実施手順

# Step 1: Copilotスコープをトークンに追加
gh auth refresh --scopes copilot

# Step 2: 動作確認(初回は自動ダウンロードが走る)
gh copilot -p "hello"

# Step 3: インタラクティブモードで起動
gh copilot

インストール先

  • Copilot CLI 本体: ~/.local/share/gh/copilot/
  • 設定ディレクトリ: ~/.copilot/

2. 設定ファイル構成

~/.copilot/
├── config.json          # ユーザー設定(theme, model, statusLine, hooks等)
├── mcp-config.json      # MCPサーバー設定(手動作成)
├── settings.json        # ユーザー設定(直接編集用)
├── logs/                # ログファイル
└── session-state/       # セッション状態

リポジトリ内:
├── AGENTS.md            # カスタム指示(Claude CodeのCLAUDE.mdに相当)
├── .github/
│   ├── copilot-instructions.md   # プロジェクト指示(別形式)
│   └── hooks/
│       └── hooks.json            # フック設定

3. Claude Code との機能比較表

機能 Claude Code gh copilot CLI 備考
プロジェクト指示 CLAUDE.md AGENTS.md / .github/copilot-instructions.md ✅ 流用可(変換済み)
ユーザー設定 ~/.claude/settings.json ~/.copilot/config.json ほぼ同等
MCPサーバー プラグイン設定 ~/.copilot/mcp-config.json ✅ 移植可
ステータスライン statusline.py config.json の statusLine.command ✅ 両対応(同じscript形式)
フック settings.json → hooks config.json の hooks / .github/hooks/*.json ✅ 同等機能あり
パーミッション設定 settings.json --allow-tool フラグ + config.json 設計思想が異なる
スキル ~/.claude/skills/ /skills コマンド 要調査
メモリ(会話間永続) memory/ ディレクトリ /resume--name でセッション再開 Claude Codeが優れる
エディタ統合 ○(拡張機能) /ide コマンドで接続 両対応
アジェンティック ○(フル) ○(-p + --allow-all-tools 両対応
Planモード ○(--plan / /plan 両対応
セッション管理 なし(会話単位) --resume--name で名前付け Copilotが優れる
PR操作 gh CLI経由 /pr/delegate でネイティブ Copilotが優れる
チーム共有 なし --share-gist/delegate Copilotが優れる
並列サブエージェント Agent tool /fleet モード 両対応
モデル選択 Opus/Sonnet/Haiku Claude + GPT系(多数) Copilotが幅広い
日本語対応 ○(確認済み) 両対応

4. gh copilot CLI 主要オプション

# 基本的な使い方
gh copilot                                    # インタラクティブモード
gh copilot -p "タスク内容"                    # 非インタラクティブ(単発実行)
gh copilot -p "タスク" --allow-all            # 全権限付与(--yolo と同じ)
gh copilot --plan                             # Planモードで起動
gh copilot --model claude-sonnet-4.6          # モデル指定

# セッション管理
gh copilot --name "作業名"                    # セッションに名前をつける
gh copilot --resume                           # 直近セッションを再開
gh copilot --resume="作業名"                  # 名前でセッション再開
gh copilot --continue                         # 最新セッションを継続

# パーミッション制御
gh copilot --allow-tool='shell(git:*)'        # gitコマンド全許可
gh copilot --deny-tool='shell(git push)'      # git pushのみ禁止
gh copilot --allow-all-tools                  # ツール全許可
gh copilot --allow-all-paths                  # パス制限なし

# MCPサーバー
gh copilot --additional-mcp-config @mcp.json  # 追加MCPサーバー設定

# セッション共有
gh copilot -p "タスク" --share                # Markdownファイルに保存
gh copilot -p "タスク" --share-gist           # GitHub Gistに共有

5. インタラクティブモードの主要コマンド

コマンド 説明
/model AIモデルを切り替え
/skills スキル管理
/mcp MCPサーバー管理
/ide IDEと接続
/pr PRを操作
/delegate GitHubにタスクを委託してPR作成
/fleet 並列サブエージェントモード
/review コードレビュー
/diff 変更差分を確認
/resume セッション切り替え
/compact コンテキストを圧縮
/share セッションをMarkdown/Gistに保存
/instructions カスタム指示の確認・切替
/statusline ステータスライン設定

6. Claude Code との使い分け推奨

シーン 推奨ツール 理由
長期プロジェクト・記憶重視 Claude Code memoryシステムが強力
PR作成・GitHub連携 gh copilot /delegate/prがネイティブ
セッション再開・中断再開 gh copilot --resumeで柔軟に管理
スキル・フック自動化 Claude Code 設定が成熟している
チームへの共有・報告 gh copilot --share-gistで即座に共有
モデルの柔軟な切り替え gh copilot GPT/Claudeを同一UIで選択可

7. 今後の作業

  • ~/.copilot/mcp-config.json の作成(Claude Codeのプラグイン設定を移植)
  • フック設定の移植(~/.copilot/config.json の hooks
  • スキル機能の詳細調査(/skills --help
  • statusLine スクリプトの流用確認