> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swisstools.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect GitHub Repositories to Generate Releases

> Authorize GitHub OAuth and link repositories to your project so Swisstools can analyze commits and generate AI-powered release notes.

Before Swisstools can generate release notes, it needs access to your GitHub account and at least one repository. The setup takes two steps: authorize GitHub OAuth so Swisstools can read your account, then connect the specific repositories you want to include.

## Connect GitHub and add repositories

<Steps>
  <Step title="Authorize GitHub OAuth">
    1. Open your project and go to the **Release** section.
    2. Click the **GitHub Repos** tab.
    3. Click **Connect with GitHub**.
    4. GitHub opens an authorization screen — review the requested permissions and click **Authorize**.
    5. You are redirected back to your project with GitHub connected.
  </Step>

  <Step title="Connect a repository">
    1. Click **Connect a Repository**.
    2. Select the organization or personal account that owns the repository.
    3. Browse the list and click the repository you want to connect.
    4. Click **Connect Repository** to confirm.

    You can connect multiple repositories to a single project. When you generate a release, Swisstools fetches commits from all connected repositories within the selected date range.
  </Step>

  <Step title="Generate a release">
    1. Go to the **Releases** tab.
    2. Click the **+** button to open the Generate Release dialog.
    3. Choose a **From** date and a **To** date — commits in that window are analyzed.
    4. Click **Generate**.

    The release appears in the list immediately with a **Processing** status. Swisstools fetches commits from your connected repositories, reads the commit messages and diffs, and uses AI to produce structured Markdown release notes. When generation finishes, the status changes to **Draft** and the content is ready for you to review.
  </Step>
</Steps>

<Note>
  You must connect at least one repository before you can generate a release. If no repositories are connected, the Generate Release dialog will not proceed.
</Note>

## Disconnect GitHub

To remove Swisstools' access to your GitHub account, go to the **GitHub Repos** tab and click **Disconnect**. This removes the OAuth connection and unlinks all connected repositories. You will need to go through the authorization flow again if you want to add repositories in the future.

Removing an individual repository from the list without disconnecting GitHub does not affect your OAuth authorization — only that specific repo is removed from the project.
