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

# GitHub

> Connect Stout to GitHub so an AI PR Reviewer can run hardware tests on your pull requests.

Stout's GitHub integration powers the [PR Reviewer](/source/pr-reviewers/overview): connect a repository, and Stout can read its pull requests, author and run hardware tests for each change, and post the result back as a check.

## Installing the GitHub App

From **Settings → Integrations → GitHub**:

1. Click **Connect GitHub**. Stout redirects you to GitHub's app installation page.
2. Pick which repos the Stout app should have access to. You can grant access to all repos, or only specific ones.
3. Accept the permissions. Typical scopes include contents, pull requests, and checks — verify the exact set against your installed app's page in GitHub, since the canonical permission list lives in the GitHub App registration rather than in this repo.
4. GitHub redirects back to Stout, which stores the installation ID and a short-lived access token that gets refreshed as needed.

You can revoke access any time from GitHub's *Settings → Applications* page, or from Stout's integrations page.

## PR Reviewer

<Note>
  **Beta.** PR Reviewers is in limited availability while we validate it. Reach
  out if you'd like to pilot it.
</Note>

Once a repo is connected, create a reviewer from **PR Reviewers → New**. In brief, a reviewer:

1. Watches a repo (optionally scoped to path prefixes, so a monorepo can have one reviewer per product).
2. On each pull request, uses a Claude model to author hardware tests for the change.
3. Flashes firmware — prebuilt from the repo, or pulled from a CI build artifact — onto an allowed box.
4. Runs the generated tests and posts a **Stout** check back on the PR, with full logs and artifacts a click away.

A human-approval gate (on by default), agentic remediation, and per-hour rate limiting keep it controlled. See the [PR Reviewers reference](/source/pr-reviewers/overview) for the full configuration, and [Webhooks](/source/integrations/webhooks) for how pull-request events reach Stout.

## Troubleshooting

* **"Repository not found"** when picking a repo — the Stout app doesn't have access. Go to GitHub → Settings → Applications → Stout and add the repo.
* **Checks aren't appearing on PRs** — verify the installation is still active, that a PR Reviewer is configured and enabled for the repo, and that the PR touches any configured path prefixes.
* **Committing generated tests fails** — if a reviewer is set to commit the tests it writes back to the PR branch, Stout needs `contents: write` on the repo. If the installation predates that permission, reconnect to accept the updated scope.
