こんにちは!日々のコーディング、本当にお疲れ様です。
新しい技術やツールに触れるときって、ワクワクする半面、「ちゃんと使いこなせるかな…」と少しドキドキしますよね。
今回は、開発の相棒である「GitHub Copilot Chat」を、あなたのチーム専用の最強のブレインに仕立て上げる「カスタム・インストラクション(カスタム指示)」の活用術を解説します。
「Copilotに質問すると、なんだか一般的な答えばかり返ってくるな…」
「うちのプロジェクトの特殊な設計ルールを毎回説明するのが面倒だな…」
そんなもどかしさを感じたことはありませんか?
これをマスターすれば、チーム全員が「うちの流儀を完璧に理解している優秀なアシスタント」を隣に置いているかのように、開発スピードもコードの品質も劇的に向上しますよ。さあ、一緒にその扉を開けてみましょう!
—
1. GitHub Copilot Chat と「カスタム・インストラクション」とは?
そもそもCopilot Chatって?
GitHub Copilot Chatは、エディタ(VS Codeなど)の中でAIとチャットしながらコードを書いてもらう機能です。「この関数をリファクタリングして」「エラーの原因を教えて」と話しかけるだけで、瞬時に的確なコードやアドバイスを返してくれます。
カスタム・インストラクションの正体
しかし、標準状態のCopilotは、いわば「世の中のあらゆるオープンソースの知識を持った、お利口だけど世間知らずな新入社員」です。あなたの会社の、あるいはあなたのチームの「独自のルール(命名規則、アーキテクチャ、使っていいライブラリ・ダメなライブラリ)」までは知りません。
そこで登場するのが「カスタム・インストラクション(Custom Instructions)」です。
これは、Copilotに対する「チーム専用のシステムプロンプト(事前指示書)」のようなもの。リポジトリに特定のファイルを置いておくだけで、Copilotはそのプロジェクトの文脈やルールを完全に理解した状態で回答を生成してくれるようになります。
—
2. 基礎セットアップ:チーム専用の脳みそを作ろう
設定は驚くほど簡単です。
GitHub Copilotのカスタムインストラクションは、プロジェクトのリポジトリに専用の設定ファイルを配置するだけで有効になります。
手順1:設定ファイル置き場の作成
プロジェクトのルートディレクトリに、以下のパスでファイルを作成します。
your-project/
└─ .github/
└─ copilot-instructions.md ← これを作ります!
たったこれだけです!このファイルの中に、Copilotへの「お願い事」を書いていきます。
手順2:効果的なインストラクションを書く(実例付き)
では、実際にどのような内容を書けばよいのでしょうか?
初心者の方でもすぐに真似できるように、実用的なテンプレートを用意しました。ご自身のプロジェクトに合わせてカスタマイズしてみてください。
チーム専用コーディングアシスタント規約
あなたは、このプロジェクト(TypeScript / React / Next.js)の開発をサポートするシニアエンジニアです。以下の制約と設計思想を厳守して回答してください。
1. 使用技術とバージョン
- フレームワーク: Next.js (App Router)
- スタイリング: Tailwind CSS
- 状態管理: Zustand
- テスト: Vitest & React Testing Library
2. コーディング規約
- TypeScript: `any` 型の使用は厳禁です。必ず厳密な型定義(interface または type)を行ってください。
- 関数コンポーネント: アロー関数ではなく、`function` 宣言を使用してください(例: `export function MyComponent() {}`)。
- エラーハンドリング: 非同期処理(API呼び出しなど)では、必ず `try/catch` を使用し、ユーザーフレンドリーなトースト通知(`sonner`を使用)を表示してください。
3. 回答スタイルのルール
- 回答は極力簡潔にし、余計な前置きは省いてください。
- コードスニペットを提示する際は、コピー&ペーストしてすぐに動く完全なコードを書いてください(省略形「// … 省略」は最小限に抑えること)。
このファイルをリポジトリにコミットし、チームメンバー全員で共有するだけで、全員のCopilotが「チームの共通認識」を持つようになります。
—
3. 精度を高める「Hello World」的な動作確認
設定がうまくいっているか、実際にCopilot Chatに話しかけてテストしてみましょう。
ここで「チームのルールをちゃんと理解しているか?」を試す質問を投げます。
テストの質問例
VS CodeなどのCopilot Chatを開き、以下のように質問してみてください。
> あなた: 「ユーザー情報を取得して画面に表示する非同期のコンポーネントを作って」
期待される動作確認(成功の基準)
もしカスタムインストラクションが正しく効いていれば、Copilotは以下のような特徴を持ったコードを返してくるはずです:
1. `const UserComponent = () => {}` ではなく、`function UserComponent()` という関数宣言を使っている。
2. `any` を使わず、しっかりとした型定義(`interface User` など)が書かれている。
3. `try/catch` と `sonner` を使ったエラーハンドリングが含まれている。
どうですか? もしこれらが完璧に反映されたコードが返ってきたら、あなたのプロジェクト専用の「最強のアシスタント」が無事に起動した証拠です!
—
4. チーム開発を劇的に楽にするためのハック
最後に、この機能をさらに活かすための現場の知見をいくつかシェアしますね。
- チームで定期的にアップデートする
開発が進むにつれて、「あ、新しいライブラリ導入したからルールに追加しなきゃ」というタイミングが出てきます。この `.github/copilot-instructions.md` もコードと同じように Pull Request を経由してチーム全員で育てていきましょう。
- 「禁止事項」を明確に書く
「〇〇のライブラリは古いので使わないでください」「生のSQL文は書かず、必ずORMを通してください」といったネガティブプロンプト(やってほしくないこと)を書いておくと、レビュー時の手戻りが劇的に減ります。
—
おわりに
いかがでしたでしょうか?
GitHub Copilot Chatのカスタム・インストラクションは、単なるAIの機能拡張にとどまらず、「チームの集合知をコードベースに定着させる」ための強力なツールです。
新しくチームに参加したメンバーも、このファイルがあるおかげで迷うことなくプロジェクトの作法に沿ったコードを書けるようになります。まさに、チーム全員の生産性を底上げする特効薬です。
これをマスターすれば、毎日のコーディングが驚くほどスムーズに、そして楽しくなりますよ。ぜひ今日から試してみてくださいね!