Skip to main content

GitHub Copilot CLI のベスト プラクティス

GitHub Copilot CLI(コマンドラインインターフェース) を最大限に活用する方法について説明します。

イントロダクション

GitHub Copilot CLI(コマンドラインインターフェース) は、エージェント機能をコマンド ラインに直接取り込む、ターミナルネイティブの AI コーディング アシスタントです。 Copilot CLI はチャットボットのように動作し、質問に答えることができますが、その真の力は、コーディング パートナーとして自律的に作業し、タスクを委任してその作業を監督できることにあります。

この記事では、Copilot CLI を最大限に活用するためのヒントを提供します。さまざまな CLI コマンドを効率的に使う方法から、CLI のファイルアクセスを管理する方法まで、幅広く説明します。 これらのヒントを出発点として考え、実際のワークフローに最適なものを試してみてください。

メモ

GitHub Copilot CLI(コマンドラインインターフェース) は継続的に進化を続けています。 /help コマンドを使用して、最新の情報を確認します。

1. 環境をカスタマイズする

カスタム命令ファイルを使用する

Copilot CLI は複数の場所から指示を自動で読み取るため、ユーザーは組織全体の標準やリポジトリ固有の規則を定義できます。

          **サポートされている場所 (検出順):**
ロケーションScope
~/.copilot/copilot-instructions.mdすべてのセッション (グローバル)
.github/copilot-instructions.mdリポジトリ
.github/instructions/**/*.instructions.mdリポジトリ (モジュール式)
          `AGENTS.md` (Git ルートまたは CWD 内)            | リポジトリ            |

| Copilot.mdGEMINI.mdCODEX.md | リポジトリ |

ベスト プラクティス

リポジトリ命令 は常にグローバル命令よりも優先されます 。 これを使用して、チーム規則を適用します。 たとえば、これは単純な .github/copilot-instructions.md ファイルです。

## Build Commands
- `npm run build` - Build the project
- `npm run test` - Run all tests
- `npm run lint:fix` - Fix linting issues

## Code Style
- Use TypeScript strict mode
- Prefer functional components over class components
- Always add JSDoc comments for public APIs

## Workflow
- Run `npm run lint:fix && npm test` after making changes
- Commit messages follow conventional commits format
- Create feature branches from `main`

ヒント

命令を簡潔で実用的な状態に保ちます。 長い命令は有効性を希釈することができます。

詳しくは、「GitHub Copilot 応答のカスタマイズについて」をご覧ください。

許可されるツールを構成する

アクセス許可を求めずに Copilot で実行できるツールを管理します。 Copilot がアクションのアクセス許可を要求する場合は、[ 1 回許可] を選択するか、[ 常に許可 ] を選択して、このセッションと今後のセッションの許可リストにツールを追加できます。

以前に承認されたツールをリセットするには、次を使用します。

/reset-allowed-tools

CLI フラグを使用して、許可されたツールを事前構成することもできます。

copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)'
          **一般的なアクセス許可パターン:**

* shell(git:*) — すべての Git コマンドを許可する * shell(npm run:*) — すべての npm スクリプトを許可する * shell(npm run test:*) — npm テスト コマンドを許可する * write — ファイルの書き込みを許可する

お好みのモデルを選択する

          `/model`を使用して、タスクの複雑さに基づいて使用可能なモデルから選択します。
モデル最適な対象者トレードオフ
          **Claude Opus 4.5** (既定) | 複雑なアーキテクチャ、難しいデバッグ、微妙なリファクタリング | 最も機能は高いが、より多くの [Premium 要求を使用する](/copilot/concepts/billing/copilot-requests#model-multipliers) |

| Claude Sonnet 4.5 | 日常のコーディング、ほとんどの日常的なタスク | 速く、費用効果が大きい、ほとんどの仕事をうまく扱う | | GPT-5.2 Codex | コード生成、コード レビュー、簡単な実装 | 他のモデルによって生成されたコードのレビューに最適 |

          **Recommendations:**

* Opus 4.5 は、深い推論、複雑なシステム設計、微妙なバグ調査、または広範なコンテキスト理解を必要とするタスクに最適です。 * Sonnet 4.5 に切り替えて 、速度とコスト効率が重要な日常的なタスクを行い、日常的なコーディングの大部分を効果的に処理します。

  • 大量のコード生成に Codex を使用し、他のモデルによって生成されたコードをレビューするための 2 番目の意見として使用します。

タスクの複雑さの変化に応じて、モデルを /model セッション中に切り替えることができます。

2. コーディングする前に計画する

プラン モード

          **モデルは、従う具体的な計画が与えられると、より高い成功率を達成します。** 計画モードでは、Copilot は、コードを記述する前に詳細な実装計画を作成します。

          <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押して、標準モードとプラン モードを切り替えます。 プラン モードでは、入力したすべてのプロンプトによってプラン ワークフローがトリガーされます。

または、通常モードで /plan コマンドを使用して、同じ効果を得ることもできます。

          **プロンプトの例 (通常モード):**
/plan Add OAuth2 authentication with Google and GitHub providers
          **何が起こるか:**
  • Copilot は、リクエストとコードベースを分析します。

  • 要件とアプローチに合わせて質問を明確にします。

  • チェック ボックスを使用して構造化実装計画を作成します。

  • プランをplan.mdにセッションフォルダー内で保存します。

  • 実装する前に 、承認を待ちます

            <kbd>
            </kbd>
            + キーを押すと、Markdown ファイルの既定のエディターでプランを表示および編集できます。
    
            **プランの出力例:**
    
# Implementation Plan: OAuth2 Authentication

## Overview
Add social authentication using OAuth2 with Google and GitHub providers.

## Tasks
- [ ] Install dependencies (passport, passport-google-oauth20, passport-github2)
- [ ] Create authentication routes in `/api/auth`
- [ ] Implement passport strategies for each provider
- [ ] Add session management middleware
- [ ] Create login/logout UI components
- [ ] Add environment variables for OAuth credentials
- [ ] Write integration tests

## Detailed Steps
1. **Dependencies**: Add to package.json...
2. **Routes**: Create `/api/auth/google` and `/api/auth/github`...

プラン モードを使用する場合

Scenarioプラン モードを使用しますか?
複雑な複数ファイルの変更
多くのタッチ ポイントを使用したリファクタリング
新機能の実装
バグのクイック修正
一つのファイルの変更

探査→計画→コード→コミット ワークフロー

複雑なタスクに最適な結果を得るには:

  •         **以下を参照**してください。
    

    Read the authentication files but don't write code yet

  •         **プラン**:
    

    /plan Implement password reset flow

  •           **レビュー**:
    

    プランを確認し、変更を提案する

  •         **実装**:
    

    Proceed with the plan

  •           **検証**:
    

    Run the tests and fix any failures

  •         **コミット**:
    

    Commit these changes with a descriptive message

3. 無限セッションを活用する

コンテキスト ウィンドウの自動管理

Copilot CLI には無限セッション機能があります。 コンテキストが不足することを心配する必要はありません。 システムは、重要な情報を保持しながら会話履歴を要約するインテリジェントな圧縮によってコンテキストを自動的に管理します。

          **セッションストレージの場所:**
~/.copilot/session-state/{session-id}/
├── events.jsonl      # Full session history
├── workspace.yaml    # Metadata
├── plan.md           # Implementation plan (if created)
├── checkpoints/      # Compaction history
└── files/            # Persistent artifacts

メモ

圧縮を手動でトリガーする必要がある場合は、 /compactを使用します。 これは、システムが自動的に処理するため、ほとんど必要ありません。

セッション管理コマンド

現在の CLI セッションに関する情報を表示するには、次のように入力します。

/session

セッション チェックポイントの一覧を表示するには、次のように入力します。

/session checkpoints

メモ

チェックポイントは、セッション コンテキストが圧縮されるときに作成され、Copilot が作成した概要コンテキストを表示できます。

特定のチェックポイントの詳細を表示するには、次のように入力します。

/session checkpoints NUMBER

ここで NUMBER は、表示するチェックポイントを指定します。

現在のセッション中に作成された一時ファイルを表示するには (たとえば、リポジトリに保存する必要がない、 Copilot によって作成された成果物) を入力します。

/session files

現在のプランを確認するには、Copilot が生成した場合)、次を入力します。

/session plan

ベスト プラクティス: セッションに集中する

無限セッションでは実行時間の長い作業が可能ですが、集中したセッションではより良い結果が得られます。

  • 関連のないタスク間で /clear または /new を使用します。
  • これにより、コンテキストがリセットされ、応答の品質が向上します。
  • 同僚との新しい会話を始めるのと同じように考えてください。

          `/context` コマンド

          `/context`を使用して現在のコンテキストの使用状況を視覚化します。 次の内訳が表示されます。
  • システム/ツール トークン
  • メッセージ履歴トークン
  • 使用可能な空き領域
  • バッファーの割り当て

4. 作業を効果的に委任する

          `/delegate` コマンド

          **Copilot コーディング エージェント を使用して、クラウドで実行する作業をオフロードします。** これは、次の場合に特に強力です。
  • 非同期的に実行できるタスク。

  • 他のリポジトリへの変更。

  • 待ちたくない、実行時間の長い操作。

            **サンプル プロンプト:**
    
/delegate Add dark mode support to the settings page
          **何が起こるか:**
  • リクエストが Copilot コーディング エージェント に送信されます。
  • エージェントは、変更を含むプル要求を作成します。
  • クラウド エージェントが動作している間は、ローカルで作業を続けることができます。

どのようなときに /delegate を使用するか

| /delegate を使用する | ローカルで作業する | |------------------------------|-------------------------| | 付随的なタスク | コア機能の動作 | | ドキュメントの更新 | デバッグ | | 個別のモジュールのリファクタリング | 対話型の探索 |

5. 一般的なワークフロー

コードベースの導入

新しいプロジェクトに参加するときは、ペア プログラミング パートナーとして Copilot CLI を使用します。 たとえば、Copilot を要求できます。

  • How is logging configured in this project?
  • What's the pattern for adding a new API endpoint?
  • Explain the authentication flow
  • Where are the database migrations?

テスト駆動開発

Copilot CLI とペアを組んでテストを開発します。

  • Write failing tests for the user registration flow
  •         *テストを確認して承認します。*
    
  • Now implement code to make all tests pass
  •         *実装を確認します。*
    
  • Commit with message "feat: add user registration"

コード レビューの支援

  • /review Use Opus 4.5 and Codex 5.2 to review the changes in my current branch against `main`. Focus on potential bugs and security issues.

Git 操作

Copilot は Git ワークフローにおいて卓越しています。

  • What changes went into version `2.3.0`?
  • Create a PR for this branch with a detailed description
  • Rebase this branch against `main`
  • Resolve the merge conflicts in `package.json`

バグ調査

  • The `/api/users` endpoint returns 500 errors intermittently. Search the codebase and logs to identify the root cause.

リファクタリング

  • /plan Migrate all class components to functional components with hooks

    次に、Copilot が尋ねる質問に回答します。 生成されたプランを確認し、必要に応じてCopilot に変更を加えるよう依頼します。 プランに問題が無い場合は、Implement this plan のプロンプトを実行できます。

6. 高度なパターン

複数のリポジトリ間で作業する

          **Copilot CLI は、柔軟なマルチリポジトリ ワークフローを提供**します。これは、マイクロサービス、モノレポ、または関連プロジェクトに取り組むチームにとって重要な差別化要因です。

          **オプション 1: 親ディレクトリから実行する**
# Navigate to a parent directory containing multiple repos
cd ~/projects
copilot

Copilot は、すべての子リポジトリに同時にアクセスして作業を行えるようになりました。 これは次の場合に最適です。

  • マイクロサービス アーキテクチャ

  • 関連するリポジトリ間で調整された変更を行う

  • プロジェクト間で共有パターンをリファクタリングする

            **オプション 2: `/add-dir` を使用してアクセスを拡張する**
    
# Start in one repo, then add others (requires full paths)
copilot
/add-dir /Users/me/projects/backend-service
/add-dir /Users/me/projects/shared-libs
/add-dir /Users/me/projects/documentation
          **許可されたディレクトリの表示と管理:**
/list-dirs
          **ワークフローの例: 調整された API の変更**
I need to update the user authentication API. The changes span:

- @/Users/me/projects/api-gateway (routing changes)
- @/Users/me/projects/auth-service (core logic)
- @/Users/me/projects/frontend (client updates)

Start by showing me the current auth flow across all three repos.

このマルチリポジトリ機能を使用すると、次のことが可能になります。

  • 横断的リファクタリング (共通パターンを全体的に更新する)
  • クライアントの更新による API コントラクトの変更
  • 複数のコードベースを参照するドキュメント
  • モノレポ全体における依存関係のアップグレード

UI 作業に画像を使用する

Copilot はビジュアル参照に対応しています。 CLI 入力にイメージ を直接ドラッグ アンド ドロップ するか、イメージ ファイルを参照するだけです。

Implement this design: @mockup.png
Match the layout and spacing exactly

複雑な移行のチェックリスト

大規模な変更の場合:

Run the linter and write all errors to `migration-checklist.md` as a checklist.
Then fix each issue one by one, checking them off as you go.

7. チームのガイドライン

  • 次を使用してを作成します。

    • コマンドのビルドとテスト
    • コード スタイルのガイドライン
    • コミット前に必要なチェック
    • アーキテクチャの決定
  •         **次の規則を確立します** 。
    

    * /planを使用する場合 (複雑な特徴、リファクタリング)

    • /delegate を使用する場面 (補助作業)
    • AI 支援を使用したコード レビュー プロセス

セキュリティに関する考慮事項

  • Copilot CLI では、破壊的になる可能性のある操作の場合は明示的な承認が必要となります。
  • 受け入れる前に、提案されたすべての変更を確認します。
  • 権限許可リストを慎重に使用します。
  • シークレットをコミットしないでください。 Copilot はこれを避けるように設計されていますが、常に確認してください。

生産性の測定

次のようなメトリックを追跡します。

  • 発行から pull_request までの時間
  • マージ前の反復回数
  • コード レビューのフィードバック サイクル
  • テスト カバレッジの向上

ヘルプを受ける

コマンド ラインから、次のコマンドを使用してヘルプを表示できます: copilot -h

さまざまなトピックのヘルプについては、次のように入力します。

copilot help TOPIC
          `TOPIC`には、`config`、`commands`、`environment`、`logging`、または`permissions`のいずれかを指定できます。

CLI 内

CLI 内のヘルプについては、次のように入力します。

/help

使用状況の統計情報を表示するには、次のように入力します。

/usage

Copilot CLI に関するプライベート フィードバックを GitHub に送信するには、バグ レポートを作成するか、機能要求を送信します。次のように入力します。

/feedback

詳細については、次を参照してください。

  •         [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/cli-command-reference)
    
  •           [Copilot のプランと価格](https://github.com/features/copilot/plans)