Skip to content

Latest commit

 

History

History
570 lines (393 loc) · 19.7 KB

usage-guide.md

File metadata and controls

570 lines (393 loc) · 19.7 KB

Everything Copilot Chat (ECC-Copilot) 使い方説明書

目次

  1. 概要
  2. クイックスタート
  3. ファイル構成
  4. コア機能の使い方
  5. プロンプトファイルの使い方
  6. カスタムインストラクション
  7. エージェントとの連携
  8. 進捗管理と引き継ぎ
  9. 拡張・カスタマイズ方法
  10. ECC(Claude Code)との対応表
  11. ベストプラクティス
  12. トラブルシューティング

概要

Everything Copilot Chat (ECC-Copilot) は、GitHub Copilot Chat を最大限に活用するためのハーネス最適化システムです。

Everything Claude Code の設計思想をGitHub Copilot Chat向けに移植し、以下の問題を解決します:

解決する問題

問題 ECC-Copilotの解決策
リクエスト回数に制限がある 1リクエストで実装→テスト→ドキュメントまで完了するプロンプト
チャット履歴が消える docs/progress/ に進捗ログを自動記録
コーディング規約が一貫しない .instructions.md でルールを自動適用
セキュリティ漏れが発生する セキュリティレビュープロンプトとインストラクション
引き継ぎが困難 HANDOFF.md テンプレートと構造化された進捗管理

設計原則

  1. 1リクエスト完結 — リクエスト数を最小化するため、すべてを1回で完了
  2. 進捗の永続化 — チャットが終了しても作業状態を保持
  3. 自動ルール適用 — ファイル種別に応じたルールが自動で効く
  4. 日本語ファースト — ドキュメント・コメントは日本語

クイックスタート

Step 1: リポジトリのクローンまたはコピー

# 新しいプロジェクトにコピーする場合
cp -r everything-copilot-chat/.github your-project/.github
cp -r everything-copilot-chat/prompts your-project/prompts
cp -r everything-copilot-chat/docs your-project/docs
cp everything-copilot-chat/AGENTS.md your-project/
cp everything-copilot-chat/.vscode/settings.json your-project/.vscode/settings.json

Step 2: VS Code設定の確認

VS Codeで以下の設定が有効であることを確認:

  1. Settings → github.copilot.chat.codeGeneration.useInstructionFiles → 有効
  2. .vscode/settings.json が読み込まれていること

Step 3: 使い始める

Copilot Chat を開き(Ctrl+Shift+I または Cmd+Shift+I)、 プロンプトファイルを活用して作業を開始します。


ファイル構成

your-project/
├── .github/
│   ├── copilot-instructions.md           # 🔑 リポジトリ全体の基本ルール
│   └── instructions/                      # 📋 パス別の詳細ルール
│       ├── typescript.instructions.md     #   TypeScript/JavaScript 規約
│       ├── python.instructions.md         #   Python 規約
│       ├── testing.instructions.md        #   テスト規約
│       ├── security.instructions.md       #   セキュリティ規約
│       ├── git-workflow.instructions.md   #   Gitワークフロー規約
│       ├── performance.instructions.md    #   パフォーマンス規約
│       └── progress-tracking.instructions.md # 進捗管理規約
│
├── .vscode/
│   ├── settings.json                      # ⚙️ Copilot + エディタ設定
│   └── mcp.json                           # 🔌 MCPサーバー設定(テンプレート)
│
├── AGENTS.md                              # 🤖 エージェント共通指示
│
├── prompts/                               # 📝 再利用可能なプロンプト
│   ├── implement-feature.prompt.md        #   機能実装(一括完了型)
│   ├── fix-bug.prompt.md                  #   バグ修正
│   ├── plan.prompt.md                     #   実装計画
│   ├── tdd.prompt.md                      #   TDDワークフロー
│   ├── code-review.prompt.md              #   コードレビュー
│   ├── security-review.prompt.md          #   セキュリティレビュー
│   ├── refactor.prompt.md                 #   リファクタリング
│   └── document.prompt.md                 #   ドキュメント生成
│
└── docs/
    ├── progress/                          # 📊 進捗・引き継ぎログ
    │   └── HANDOFF.md                     #   引き継ぎ文書テンプレート
    ├── usage-guide.md                     # 📖 この説明書
    └── usage-guide.html                   # 📖 HTML版説明書

各ファイルの役割

ファイル 自動適用 説明
.github/copilot-instructions.md ✅ 常に リポジトリ全体に適用される基本ルール
.github/instructions/*.instructions.md ✅ パス一致時 ファイル種別に応じた詳細ルール
AGENTS.md ✅ 常に AIエージェントへの共通指示
.vscode/settings.json ✅ 常に エディタとCopilotの設定
prompts/*.prompt.md ❌ 手動 明示的に呼び出すプロンプト

コア機能の使い方

カスタムインストラクション(自動適用)

.github/copilot-instructions.md と .github/instructions/ 配下のファイルは、Copilot Chatへの全リクエストに自動で付加されます。

仕組み

あなたの質問
    ↓
+ .github/copilot-instructions.md(常に付加)
+ .github/instructions/typescript.instructions.md(.tsファイル操作時)
+ .github/instructions/testing.instructions.md(常に付加 — applyTo: "**")
    ↓
Copilot Chat へ送信

確認方法

Copilot Chatの回答の上部にある「References」を展開し、copilot-instructions.md が表示されていれば有効です。

プロンプトファイル(手動呼び出し)

prompts/ 配下の .prompt.md ファイルは、チャットで明示的に呼び出して使います。

呼び出し方

Copilot Chat のプロンプト入力欄で以下のように使用:

  1. チャットボックスのクリップアイコンからプロンプトファイルを添付
  2. または / を入力してプロンプト一覧から選択(VS Code 2026以降)

プロンプトファイルの使い方

🚀 implement-feature(機能実装)— 最も重要

1リクエストで機能を完全に実装するためのプロンプトです。

@workspace #file:prompts/implement-feature.prompt.md

ユーザー認証機能を実装してください。
- メールアドレスとパスワードによるログイン
- JWTトークンの発行
- パスワードはbcryptでハッシュ化

→ Copilot は「計画→テスト作成→実装→リファクタ→テスト実行→ドキュメント→進捗ログ」を1回で実行します。

🐛 fix-bug(バグ修正)

@workspace #file:prompts/fix-bug.prompt.md

ログイン時にメールアドレスの大文字小文字が区別されてしまう問題を修正してください。

📋 plan(実装計画)

複雑な機能の場合、まず計画を立てます:

@workspace #file:prompts/plan.prompt.md

マルチテナント対応を計画してください。

🔴🟢♻️ tdd(テスト駆動開発)

@workspace #file:prompts/tdd.prompt.md

商品の割引計算ロジックをTDDで実装してください。
- 10%割引、20%割引、クーポン併用

🔍 code-review(コードレビュー)

@workspace #file:prompts/code-review.prompt.md

#file:src/auth/login.ts をレビューしてください。

🔒 security-review(セキュリティレビュー)

@workspace #file:prompts/security-review.prompt.md

#file:src/api/users.ts のセキュリティをチェックしてください。

♻️ refactor(リファクタリング)

@workspace #file:prompts/refactor.prompt.md

#file:src/services/order.ts をリファクタリングしてください。
関数が長すぎます。

📝 document(ドキュメント生成)

@workspace #file:prompts/document.prompt.md

#file:src/api/ のAPIドキュメントを生成してください。

カスタムインストラクション

既存のインストラクション一覧

ファイル 適用対象 内容
typescript.instructions.md **/*.ts,**/*.tsx,**/*.js,**/*.jsx 型安全性、命名規則、非同期処理
python.instructions.md **/*.py,**/*.pyi PEP 8、型ヒント、pytest
testing.instructions.md **(全ファイル) TDD、AAA パターン、カバレッジ
security.instructions.md **(全ファイル) OWASP、入力バリデーション、暗号化
git-workflow.instructions.md **(全ファイル) コミットメッセージ、ブランチ命名
performance.instructions.md **(全ファイル) Core Web Vitals、N+1クエリ
progress-tracking.instructions.md **(全ファイル) 進捗ログ、引き継ぎ文書

applyTo パターンの仕組み

---
applyTo: '**/*.ts,**/*.tsx' # TypeScriptファイルのみに適用
---
  • ** — 全ファイルに適用
  • **/*.ts — 全ディレクトリの.tsファイルに適用
  • src/**/*.py — srcディレクトリ配下のPythonファイルに適用

エージェントとの連携

@workspace の活用

@workspace はプロジェクト全体のコンテキストを提供します:

@workspace この機能の実装方針を教えてください

#file でコンテキスト追加

特定ファイルの内容をコンテキストに追加:

#file:src/config/database.ts この設定の問題を教えてください

@terminal でターミナル操作

@terminal テストの実行方法を教えてください

@vscode でエディタ操作

@vscode TypeScriptのフォーマッタを設定したい

進捗管理と引き継ぎ

進捗ログの作成

タスク完了後に docs/progress/ に以下の形式でファイルを作成:

ファイル名: YYYY-MM-DD_<タスク概要>.md

# 進捗ログ: ユーザー認証機能の実装

## 日付

2026-04-12

## 完了した作業

- [x] JWTベースの認証ミドルウェア実装
- [x] ログイン/ログアウトAPI
- [x] テスト作成(カバレッジ87%)

## 変更したファイル

- `src/auth/jwt.ts` — JWTトークン生成・検証
- `src/api/auth.ts` — 認証エンドポイント
- `tests/auth/` — テストスイート

## テスト結果

- 実行: 15件、パス: 15件、失敗: 0件
- カバレッジ: 87%

## 次にやるべきこと

- パスワードリセット機能
- 2要素認証

## 注意事項

- JWT秘密鍵は環境変数 `JWT_SECRET` で設定必要

引き継ぎ文書

大規模タスクの途中で中断する場合は docs/progress/HANDOFF.md を更新:

@workspace #file:docs/progress/HANDOFF.md

現在の進捗状況で引き継ぎ文書を更新してください。

引き継ぎを受ける場合

新しいチャットセッションの冒頭で:

@workspace #file:docs/progress/HANDOFF.md #file:AGENTS.md

前回の作業の続きをしたいです。引き継ぎ文書を読んで、
現在の状況を把握し、次のアクションを提案してください。

拡張・カスタマイズ方法

新しいインストラクションの追加

手順

  1. .github/instructions/ に新ファイルを作成
  2. applyTo でスコープを指定
  3. ルールを Markdown で記述

例: Go言語のルール追加

---
applyTo: '**/*.go'
---

# Go コーディング規約

## 命名規則

- パッケージ名: 小文字、短い名前
- エクスポート関数: PascalCase
- ローカル変数: camelCase

## エラーハンドリング

- エラーは必ずチェック
- errors.Is / errors.As を使用
- ラップして文脈を追加: fmt.Errorf("xxx: %w", err)

新しいプロンプトの追加

手順

  1. prompts/ に .prompt.md ファイルを作成
  2. Frontmatter で mode と description を設定
  3. 手順を Markdown で記述

mode の種類

mode 説明 使い分け
agent ファイルの変更・作成を行う 実装、修正、リファクタリング
ask 質問・分析のみ(変更なし) 計画、レビュー、分析

例: デプロイチェックリストの追加

---
mode: ask
description: 'デプロイ前のチェックリストを実行する'
---

# デプロイチェックリスト

以下をすべて確認してください:

## ビルド

- [ ] ビルドがエラーなく完了する
- [ ] テストが全件パスする
- [ ] カバレッジが80%以上

## セキュリティ

- [ ] 環境変数にハードコードされた秘密情報がない
- [ ] 依存パッケージに既知の脆弱性がない

## パフォーマンス

- [ ] N+1クエリがない
- [ ] 不要な依存がバンドルに含まれていない

インストラクションの調整

既存のファイルを編集して、チームの規約に合わせます:

# 例: ネスト制限を変更
- ネストは4段階まで
+ ネストは3段階まで

# 例: カバレッジ目標を変更
- 最低テストカバレッジ: 80%
+ 最低テストカバレッジ: 90%

MCPサーバーの追加

.vscode/mcp.json を編集してツールを追加:

{
  "servers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github-token}"
      }
    }
  }
}

ECC(Claude Code)との対応表

ECC (Claude Code) ECC-Copilot (GitHub Copilot Chat) 説明
CLAUDE.md AGENTS.md + .github/copilot-instructions.md プロジェクト指示
~/.claude/rules/ .github/instructions/*.instructions.md コーディングルール
~/.claude/agents/*.md AGENTS.md 内で定義 エージェント定義
~/.claude/skills/*/SKILL.md prompts/*.prompt.md ワークフロー定義
~/.claude/commands/*.md prompts/*.prompt.md スラッシュコマンド
hooks/hooks.json .vscode/settings.json の instructions フック(指示ベース)
/plan, /tdd, /code-review プロンプトファイルを添付して実行 ワークフロー
コンテキストウィンドウ管理 新セッション開始 / #file で明示的参照 コンテキスト管理
進捗永続化(hooks) docs/progress/ に手動/指示で記録 進捗管理

主な違い

項目 Claude Code GitHub Copilot Chat
課金モデル トークン数ベース リクエスト回数ベース
フック 自動実行(PreToolUse/PostToolUse) 指示ベース(instructions)
エージェント 専用 .md ファイル AGENTS.md + プロンプト
カスタムコマンド /command 形式 プロンプトファイル添付
サブエージェント 自動委譲 手動でプロンプト切り替え

ベストプラクティス

🎯 リクエスト効率の最大化

  1. プロンプトファイルを活用する

    • 毎回同じ指示を書くのではなく、.prompt.md を添付
    • 特に implement-feature.prompt.md は必ず使う
  2. コンテキストを明示する

    @workspace #file:src/models/user.ts #file:src/api/auth.ts
    ユーザー登録APIを実装してください
    
  3. 1リクエストに複数タスクを含めない

    • 大きな機能は plan.prompt.md で分割してから
    • 各サブタスクを implement-feature.prompt.md で実装

📝 進捗管理の徹底

  1. タスク完了後は必ず進捗ログを作成
  2. 長時間の作業は途中で HANDOFF.md を更新
  3. Git コミットメッセージにも作業内容を記載

🔒 セキュリティの習慣化

  1. API実装時は security-review.prompt.md を使用
  2. .env に秘密情報を入れ、.gitignore に追加
  3. ユーザー入力は必ずバリデーション

🧹 コード品質の維持

  1. 実装後は code-review.prompt.md でレビュー
  2. 定期的に refactor.prompt.md で整理
  3. テストカバレッジ 80% を維持

トラブルシューティング

インストラクションが効かない

  1. VS Code設定で useInstructionFiles が true であることを確認
  2. .github/copilot-instructions.md のパスが正しいことを確認
  3. Copilot Chatの「References」欄にファイルが表示されているか確認

プロンプトファイルが見つからない

  1. prompts/ ディレクトリがワークスペースルートにあることを確認
  2. ファイル名が .prompt.md で終わっていることを確認
  3. チャットで #file:prompts/xxx.prompt.md と完全パスで指定してみる

Copilot Chatの応答が途中で切れる

  1. タスクを分割して小さくする
  2. コンテキストに含めるファイルを減らす
  3. 新しいセッションで再試行

進捗ログが作成されない

インストラクションは「指示」であり、Copilot Chatが常に従うとは限りません。 以下のように明示的に依頼してください:

上記の作業が完了しました。
docs/progress/2026-04-12_auth-feature.md に進捗ログを作成してください。

ライセンス

MIT — 自由に使用・改変・再配布してください。