1. はじめに

「Issue テンプレートを全リポジトリに適用したい」「Copilot カスタムエージェントを組織で共有したい」——こうしたニーズに応えるのが、GitHub の 組織レベル共有機能 です。.github リポジトリ、.github-private リポジトリ、Organization 設定、各リポジトリの .github/ ディレクトリを組み合わせることで、設定の一元管理が実現します。

本記事を作成した背景は、複数の共有レイヤーが並行して存在し、機能ごとに使い分けが分かりにくいことです。本記事の目的は、それぞれのレイヤーの役割と適用範囲を整理し、チームがどの機能を使うべきか判断できるようにすることです。

2. 全体像

以下の図は、3 つのレイヤーの関係を示しています。

GitHub 組織で設定・ルールを共有する 3 つのレイヤー

3. レイヤー 1: .github リポジトリ(Organization デフォルトファイル)

Organization 内に .github という名前のリポジトリを作成すると、そこに配置したファイルが組織全体のデフォルトとして機能します(Creating a default community health file - GitHub Docs)。

共有できるファイル

ファイル用途
CODE_OF_CONDUCT.mdコミュニティの行動規範
CONTRIBUTING.md貢献ガイドライン
SECURITY.md脆弱性報告の手順
SUPPORT.mdサポート情報
FUNDING.ymlスポンサーボタンの表示
GOVERNANCE.mdプロジェクトのガバナンス
Discussion category formsディスカッションカテゴリのテンプレート
Issue / PR テンプレート.github/ISSUE_TEMPLATE/ に配置
ワークフローテンプレートworkflow-templates/ に配置(Team 以上)

セットアップ手順

  1. Organization で .github という名前のリポジトリを public で作成します
  2. リポジトリのルート、.github/ フォルダ、または docs/ フォルダに対象ファイルを配置します
  3. 各リポジトリに同名のファイルがなければ、.github リポジトリのファイルがデフォルトとして使われます

注意点

  • .github リポジトリは public である必要があります(Free / Team プラン)
  • 個別リポジトリに同じファイルがある場合は、そちらが優先されます
  • ライセンスファイルは .github リポジトリでは共有できません

4. レイヤー 2: Organization 設定による一括管理

Organization の Settings 画面から、以下の設定を組織全体に適用できます。

Copilot Organization カスタム指示(Public Preview)

Organization オーナーが設定画面から Copilot への指示を追加できます。全メンバーの GitHub.com 上の Copilot Chat・Copilot code review・Copilot cloud agent に反映されます(現時点では GitHub.com のみ)。詳細は Adding organization custom instructions for GitHub Copilot - GitHub Docs を参照してください。

設定手順:

  1. Organization の SettingsCopilotCustom instructions を開きます
  2. テキストボックスに自然言語で指示を記述します
  3. Save changes をクリックします
text
# 指示の例
常に日本語で回答してください。
セキュリティに関する質問は #security チャンネルに相談するよう案内してください。
コード生成時は TypeScript を優先してください。

必要プラン: GitHub Copilot Business または GitHub Copilot Enterprise

リポジトリルールセット

ブランチ保護やタグルールを Organization レベルで一括設定できます。Team プラン以上で利用可能です。

5. レイヤー 3: 各リポジトリの .github/ ディレクトリ

プロジェクト固有の設定は、リポジトリ内の .github/ ディレクトリに配置します。

Copilot カスタム指示の種類

ファイルスコープ用途
.github/copilot-instructions.mdリポジトリ全体プロジェクトの概要・コーディング規約
.github/instructions/*.instructions.mdパス指定特定ファイル種別への指示
AGENTS.mdCopilot cloud agent・IDECopilot cloud agent 向けの指示

補足: AGENTS.md と同等の役割を持つ CLAUDE.mdGEMINI.md もサポートされています。ただし、これらはリポジトリルートに 1 ファイルのみ配置可能です。 注意: Path-specific 指示は Copilot cloud agent および Copilot code review で使用されます。GitHub.com の Copilot Chat では現時点で未対応です。

パス固有の指示ファイルの例

markdown
---
applyTo: "**/*.ts,**/*.tsx"
---

TypeScript では早期リターンを使用してください。
React コンポーネントは関数コンポーネントで記述してください。

6. プラン別の対応状況

プラン別: 使える共有機能の比較

7. .github-private リポジトリ(Copilot カスタムエージェントの共有)

Organization または Enterprise 内に .github-private という名前のリポジトリを作成すると、Copilot カスタムエージェントを組織全体で共有できます。これは public の .github リポジトリとは別の、プライベートまたは internal のリポジトリです(Preparing to use custom agents in your organization - GitHub Docs)。

ステータス: Public Preview(本記事執筆時点。最新の提供状況は上記公式ドキュメントで確認してください)

何ができるのか

.github-private リポジトリの agents/ ディレクトリにカスタムエージェントプロファイル(.agent.md)を配置すると、組織内のすべてのリポジトリでそのエージェントを利用できます。テスト専門家、実装プランナーなど、組織標準の AI エージェントを一箇所で管理できます。

セットアップ手順(Organization)

  1. カスタムエージェントテンプレートリポジトリを使って、Organization 内に .github-private という名前のリポジトリを作成します
  2. visibility を選択します
    • internal: 組織または Enterprise の全メンバーに読み取り権限を付与
    • private: 作成後に手動でアクセス権を付与
  3. agents/ ディレクトリにカスタムエージェントプロファイルを配置します

エージェントプロファイルの例

markdown
---
name: test-specialist
description: テストカバレッジと品質に特化したテスト専門家エージェント
tools: ["read", "edit", "search"]
---

あなたはテスト専門家です。テストカバレッジの分析、
ユニット・結合・ E2E テストの作成、テスト品質のレビューを行います。
本番コードは変更せず、テストファイルのみを対象とします。

.github.github-private の違い

項目.github(public).github-private(private / internal)
主な用途Community Health Files、ワークフローテンプレートCopilot カスタムエージェント
visibilitypublic(必須)private または internal
共有範囲組織内の全リポジトリ組織または Enterprise 全体
外部公開ありなし

Enterprise の場合: Enterprise オーナーは .github-private に Enterprise レベルのカスタムエージェントを配置できます。また、ルールセットでエージェントプロファイルの編集権限を Enterprise オーナーのみに制限することも可能です。

8. Tips: Enterprise Cloud の internal visibility

Enterprise Cloud プランでは、.github リポジトリを internal visibility で作成できます。これにより、外部には非公開のまま Enterprise 内のメンバーにデフォルトファイルを共有できます。

社内向けの CONTRIBUTING.md やセキュリティポリシーを外部に見せたくないチームにおすすめです。

9. こんなチームにおすすめ

チームの状況おすすめの方法
OSS プロジェクトの標準化.github リポジトリ(public)
社内開発の統一ルールOrganization カスタム指示 + ルールセット
AI コーディングの品質統一copilot-instructions.md を各リポジトリに配置
組織標準の AI エージェント共有.github-private リポジトリ
Enterprise 内のルール共有.github リポジトリ(internal)

10. 注意点・制限事項

  • .github-private リポジトリは Copilot カスタムエージェントの共有専用です。Community Health Files やワークフローテンプレートの共有には使えません(それらは .github リポジトリを使います)
  • Copilot cloud agent 自体は GitHub Copilot Pro / Pro+ / Business / Enterprise で利用可能ですが、.github-private による Organization / Enterprise 共有にはそれぞれのオーナー権限が必要です
  • Organization カスタム指示は Public Preview であり、現在は GitHub.com の Copilot Chat・Copilot code review・Copilot cloud agent のみ対応です
  • Copilot カスタム指示の優先順位は「Personal > Repository > Organization」です。Repository 内の詳細な優先順位は「Path-specific → Repository-wide → AGENTS.md」の順になります(About customizing GitHub Copilot responses - GitHub Docs
  • Copilot code review では、カスタム指示ファイルの先頭 4,000 文字のみが使用されます。長すぎる指示は Copilot code review に反映されない場合があります(Adding repository custom instructions for GitHub Copilot - GitHub Docs
  • Copilot Organization カスタム指示は GitHub プランではなく Copilot サブスクリプション(GitHub Copilot Business / Enterprise)に紐づく機能です。Free プランの Organization でも GitHub Copilot Business を契約すれば利用できます

11. まとめ

GitHub Organization で設定を共有する主な方法は以下のとおりです。

  1. .github リポジトリ: テンプレートとガイドラインの組織デフォルト
  2. .github-private リポジトリ: Copilot カスタムエージェントの組織共有
  3. Organization Settings: Copilot 指示やルールセットの一括適用
  4. 各リポジトリの .github/: プロジェクト固有の AI 指示

AI エージェントを組織で活用するなら、.github-private リポジトリのセットアップから始めましょう。テンプレートを組織で統一するなら .github リポジトリが最初の一歩です。

12. 参考情報


この記事の執筆にあたり、AI の支援を受けています。