Guides
GitHub App setup (`botgumi[bot]`)
The bots act as a GitHub App, not as you. Its actions show as botgumi[bot], its tokens are short-lived,
and it reaches only the repos you install it on. botgumi does not create the App for you; follow these steps.
1. Create the App
GitHub → Settings → Developer settings → GitHub Apps → New GitHub App.
- Name:
botgumi(shown asbotgumi[bot]). If the name is taken, pick another and use it everywhere below. - Homepage URL: your botgumi repo.
- Logo:
docs/assets/mark.png(512 × 512). - Webhook: active. URL: your deployed relay,
https://botgumi-relay.<subdomain>.workers.dev/github. Secret: a long random string; you will store it as the relay'sGITHUB_WEBHOOK_SECRET. - Where can this App be installed: only on this account.
2. Permissions
Repository permissions:
| Permission | Access | Used for |
|---|---|---|
| Issues | Read and write | Create, label, comment on and close task issues |
| Pull requests | Read and write | Open PRs, post reviews, merge under the merge policy, open reverts |
| Contents | Read and write | Push branches; merging needs it |
| Commit statuses | Read and write | ios-ci and botgumi/review (android-ci comes from the Android workflow itself) |
| Metadata | Read-only | Required by GitHub |
Account permissions:
| Permission | Access | Used for |
|---|---|---|
| Projects | Read and write | Keep the Project board current |
Subscribe to events: Issues, Issue comment, Pull request, Pull request review, Status, Check run.
3. Keys and install
- Generate a private key. Store it in your secrets source (1Password or similar), never in a repo. Note the App ID.
- Install the App on the app repos you choose, not on all repos. Note the installation ID.
- Add the App ID, installation ID and private key to the app's secrets inventory
(
docs/checklists/secrets-inventory.md).
4. Deploy the relay
From packages/ts/relay:
pnpm wrangler deploy
Then set its secrets, using the webhook secret from step 1 and a new random runner token:
pnpm wrangler secret put GITHUB_WEBHOOK_SECRET
pnpm wrangler secret put RUNNER_TOKEN
5. Branch protection
On each app repo's main, require status checks: the TS CI job, botgumi/review, and each chosen platform's
CI (ios-ci, android-ci).
The merge policy only merges when all required checks are green.
6. Labels
Create the labels the orchestrator uses: botgumi, gate, track:{backend,ios,android,landing,dashboard,design,docs},
tier:{high,mid,low}, runtime:{claude,codex}.