BugViper integrates with GitHub through a GitHub App — a first-class GitHub integration that acts under its own identity rather than a personal access token. The app receives webhook events when pull request comments are posted, clones repositories for analysis, and writes inline review comments back to your PRs. This guide walks you through creating the app, granting it the right permissions, and connecting it to your BugViper instance.Documentation Index
Fetch the complete documentation index at: https://personal-ce79cb71.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Step 1: Create a GitHub App
- Go to GitHub.com → your profile photo → Settings → Developer settings → GitHub Apps
- Click New GitHub App
- Fill in the app registration form:
- GitHub App name: choose a unique name (e.g.
bugviper-yourorg) - Homepage URL: the URL of your BugViper frontend (e.g.
https://bugviper.yourcompany.comorhttp://localhost:3000for local development) - Webhook URL: your BugViper instance URL followed by
/api/v1/webhook/onComment— for examplehttps://bugviper.yourcompany.com/api/v1/webhook/onComment - Webhook secret: generate a random secret string. You can use
openssl rand -hex 20to produce one
- GitHub App name: choose a unique name (e.g.
Step 2: Set repository permissions
Under Permissions & events → Repository permissions, grant the following access levels:| Permission | Access level |
|---|---|
| Contents | Read |
| Issues | Read & Write |
| Pull requests | Read & Write |
| Metadata | Read |
| Commit comments | Read & Write |
- Issue comment — triggers the review pipeline when
@bugviper reviewis posted - Pull request — triggers incremental graph updates when a PR is merged
- Push — triggers incremental graph updates when code is pushed to a branch
Step 3: Generate and download the private key
After saving the app:- Scroll down to the Private keys section of your app’s settings page
- Click Generate a private key
- GitHub downloads a
.pemfile — save it somewhere safe on the server that runs BugViper (e.g./etc/bugviper/your-app-name.private-key.pem)
Step 4: Install the app on your account or organization
- In your GitHub App settings, click Install App in the left sidebar
- Choose the account or organization where your repositories live
- Select All repositories or choose specific repositories you want BugViper to access
- Click Install
Step 5: Note your App ID
- Return to your GitHub App settings (Settings → Developer settings → GitHub Apps → your app)
- At the top of the page, copy the App ID — it’s a numeric value like
123456
Environment variables
Once you’ve created and installed the app, set these three variables in your.env file:
GITHUB_APP_ID is the numeric ID from your app’s settings page. GITHUB_PRIVATE_KEY_PATH is the absolute path to the .pem file you downloaded. GITHUB_WEBHOOK_SECRET is the random string you generated when creating the app — it must match exactly what you entered in the GitHub App webhook configuration.
Verify the connection
After setting the environment variables and restarting BugViper, open a pull request on a repository the app has access to and post:- Your GitHub App webhook URL matches your BugViper instance URL +
/api/v1/webhook/onComment - ngrok (or your reverse proxy) is running and forwarding traffic to the BugViper API port
- The Recent Deliveries tab in your GitHub App settings shows the webhook was delivered successfully
Next step
Configure the remaining environment variables your BugViper instance needs:Configure environment variables
Reference for all BugViper environment variables — Neo4j, OpenRouter, Firebase, and review agent settings.