Getting started
Create the GitHub App, configure credentials and start the bot with Docker Compose.
Prerequisites
Section titled “Prerequisites”- Docker & Docker Compose
- An API key for any OpenAI-compatible provider
- A public hostname where GitHub can reach the bot (for local development, a Smee.io channel works)
1. Create the GitHub App
Section titled “1. Create the GitHub App”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:
- Note the App ID (app settings → About).
- Generate a private key (downloads a
.pemfile). - Set a webhook secret.
- Copy the Client ID and Client secret from Identifying and authorizing users (needed for dashboard login).
- 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:
gh api --method POST /app-manifests/<code>/conversions \ | java scripts/GenEnv.java --host <your-host>2. Clone and configure
Section titled “2. Clone and configure”git clone https://github.com/devops-thiago/ThrillhouseBot.git && cd ThrillhouseBotcp .env.example .envEdit .env with the credentials from step 1:
| Variable | Value |
|---|---|
GITHUB_APP_ID | From GitHub App settings → About |
GITHUB_PRIVATE_KEY | The .pem downloaded when you generated a private key — on one line, newlines as \n, unquoted |
GITHUB_WEBHOOK_SECRET | The webhook secret you set |
GITHUB_CLIENT_ID | From app settings → Identifying and authorizing users |
GITHUB_CLIENT_SECRET | From app settings → Identifying and authorizing users |
AI_API_KEY | Your AI provider’s API key |
3. Start the bot
Section titled “3. Start the bot”docker compose up -dThe 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.
Next steps
Section titled “Next steps”- 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.mdinstructions file (fallback chain:.github/copilot-instructions.md→CLAUDE.md→AGENTS.md→AGENT.md).