Skip to content

Getting started

Create the GitHub App, configure credentials and start the bot with Docker Compose.

The bot authenticates as a GitHub App, so the app must exist before the bot starts. Open the hosted installer, enter the bot’s public hostname and click Create ThrillhouseBot GitHub App. The page builds the app manifest and sends it to GitHub; you can register the app before starting the bot.

After GitHub creates the app:

  1. Note the App ID (app settings → About).
  2. Generate a private key (downloads a .pem file).
  3. Set a webhook secret.
  4. Copy the Client ID and Client secret from Identifying and authorizing users (needed for dashboard login).
  5. Install the app on your account or organization.

Alternatively, grab the code query parameter GitHub appends to the post-creation redirect and generate .env automatically from the manifest conversion response:

Terminal window
gh api --method POST /app-manifests/<code>/conversions \
| java scripts/GenEnv.java --host <your-host>
Terminal window
git clone https://github.com/devops-thiago/ThrillhouseBot.git && cd ThrillhouseBot
cp .env.example .env

Edit .env with the credentials from step 1:

VariableValue
GITHUB_APP_IDFrom GitHub App settings → About
GITHUB_PRIVATE_KEYThe .pem downloaded when you generated a private key — on one line, newlines as \n, unquoted
GITHUB_WEBHOOK_SECRETThe webhook secret you set
GITHUB_CLIENT_IDFrom app settings → Identifying and authorizing users
GITHUB_CLIENT_SECRETFrom app settings → Identifying and authorizing users
AI_API_KEYYour AI provider’s API key
Terminal window
docker compose up -d

The bot is running on http://localhost:8080. Point your reverse proxy at it to receive GitHub webhooks. Eligible pull requests on installed repositories are reviewed automatically; drafts and configured filters can prevent a review.

  • Tune the bot with the configuration reference — auto-review triggers, labels, timeouts, and more.
  • Drive it from a PR with the comment commands.
  • Customize reviews per repository with a .github/thrillhousebot.md instructions file (fallback chain: .github/copilot-instructions.md → CLAUDE.md → AGENTS.md → AGENT.md).