# GitHub の接続

GitHub アカウントを連携し、リポジトリを認証して、最初のコンテンツスペースを開きます。

既存の GitHub リポジトリを接続し、そのコンテンツを Prosefly に取り込みます。オーナーと管理者が **Organization settings → Repositories** から管理できます。**Connect repository** を選んで始めます。

アカウント連携は GitHub 上の本人確認、GitHub App の認証はリポジトリへのアクセス許可です。リポジトリを選ぶ前に、両方が必要です。

## 1. GitHub アカウントを連携する

**Connect GitHub account** を選び、GitHub で認証を完了して Prosefly に戻ります。連携すると **GitHub account connected** と表示されます。

<figure>
  <img
    src="/images/screenshots/github/account-connection.png"
    alt="リポジトリのアクセスを許可する前に、GitHub アカウントを連携。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>先に GitHub アカウントを連携します。</figcaption>
</figure>

## 2. リポジトリへのアクセスを許可する

**Authorize GitHub repositories** を選びます。GitHub でリポジトリを所有するアカウントか組織を選び、管理したいリポジトリへのアクセスを Prosefly GitHub App に許可します。

組織へのインストールは、オーナーの承認が必要になることがあります。スキャンには読み取り権限で足ります。公開には必要な書き込み権限があり、ブランチ保護にも従う必要があります。

<figure>
  <img
    src="/images/screenshots/github/repository-authorization.png"
    alt="選択したリポジトリへのアクセスを Prosefly GitHub App に許可。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>使いたいリポジトリへのアクセスを許可します。</figcaption>
</figure>

## 3. リポジトリを選ぶ

Prosefly に戻り、認証済みの一覧から、この組織に接続するリポジトリを検索・選択します。プランの枠内で複数選べます。一覧の下の接続ボタンで確定します。

見つからない場合は、**Manage repository access** から GitHub App の許可を確認してください。アカウントを連携するだけでは、すべてのリポジトリにアクセスできません。

<figure>
  <img
    src="/images/screenshots/github/repository-selection.png"
    alt="認証済みのリポジトリから、組織に接続するものを選択。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>この組織に接続するリポジトリを選びます。</figcaption>
</figure>

## 4. リポジトリをスキャンする

接続したリポジトリは **Organization settings → Repositories** に表示されます。使いたいものの **Scan repository** を選びます。設定された対象ブランチを読み取り、サイトとコレクションを検出します。

スキャンは Git のファイルを変更せず、リポジトリのコードも実行しません。リポジトリの接続とスキャンは別の操作です。

<figure>
  <img
    src="/images/screenshots/github/repository-scan.png"
    alt="接続済みのリポジトリをスキャンして、コンテンツを検出。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>接続済みのリポジトリをスキャンします。</figcaption>
</figure>

## 5. コンテンツスペースを確定する

検出されたサイトやアプリを確認します。フレームワーク、ディレクトリ、コレクション、属性を確認して、管理するスペースを選びます。選択を確定し、インデックスの作成完了を待ってください。

下の Starlight の例では、Docs コレクション、コンテンツディレクトリ、15 個の属性、標準ナビゲーションの設定が検出されています。コンテンツスペースを確定する前に確認してください。結果はリポジトリの構成と対応する設定によって変わります。

<figure>
  <img
    src="/images/screenshots/starlight/scan.png"
    alt="Docs コレクション、src/content/docs ディレクトリ、15 個の属性、標準ナビゲーションを表示する Starlight のスキャン確認画面。"
    width="2880"
    height="1620"
    loading="lazy"
    decoding="async"
  />
  <figcaption>
    インデックスを作成する前に、検出された Starlight のコンテンツスペース、docs
    コレクション、属性、ナビゲーション設定を確認します。
  </figcaption>
</figure>

## コンテンツを開く

リポジトリの設定から確認済みのスペースを開き、**Content** で項目を選びます。下書きを編集・保存できます。保存では Git にコミットせず、公開は別途レビューして行います。

検出結果が想定と違う場合は、ブランチとコンテンツパスを確認してください。独自のローダーや動的な設定では、[`.prosefly/config.yaml`](/docs/ja/configuration/) による手動設定が必要になることがあります。Prosefly の外で変更した場合は、再スキャンとインデックスの再構築で表示を更新します。

[エディター](/docs/ja/editor/)に進むか、設定とインデックスの詳細は[リポジトリとコンテンツスペース](/docs/ja/repositories-and-spaces/)をご覧ください。`.prosefly/config.yaml` の schema は[リポジトリ設定](/docs/ja/configuration/)で確認できます。

## フレームワーク別の CMS 導入フロー

[Astro 向け CMS](/ja/frameworks/astro/)、[Hugo のコンテンツ管理](/ja/frameworks/hugo/)、[Starlight](/ja/frameworks/starlight/)や [Fumadocs のドキュメント編集](/ja/frameworks/fumadocs/)をご覧ください。各ページで、対応するコンテンツ、編集方法、公開フローを紹介しています。

チームでの運用については、[製品ドキュメントの管理](/ja/use-cases/documentation/)で確認できます。

フレームワークごとの手順は [Astro 向け CMS 導入ガイド](/docs/ja/frameworks/astro/)、[Starlight 向け CMS 導入ガイド](/docs/ja/frameworks/starlight/)、[Fumadocs 向け CMS 導入ガイド](/docs/ja/frameworks/fumadocs/)をご覧ください。
