Install the GitHub App
BugViper needs a GitHub App to receive webhook events, clone your repositories, and post inline review comments on pull requests.Follow the GitHub App setup guide to create and install the app on your account or organization. At the end of that guide you’ll have three values ready: your App ID, the path to your private key
.pem file, and your webhook secret.Configure environment variables
BugViper is configured through environment variables. Copy the example file and fill in your values:The three variables you must set before BugViper will start:
See the full environment variable reference for every available option, including the Firebase service account path, review model selection, and optional observability settings.
| Variable | What it does |
|---|---|
NEO4J_URI | Connection string to your Neo4j instance (e.g. bolt://localhost:7687) |
OPENROUTER_API_KEY | API key from openrouter.ai — used for LLM calls and embeddings |
GITHUB_APP_ID | The numeric App ID shown in your GitHub App settings |
Index a repository
With the API running, send a POST request to BugViper returns immediately with a job ID and a poll URL so you can track progress without blocking:Poll the
/api/v1/ingest/github to begin indexing. BugViper clones the repository, parses it with Tree-sitter across all 17 supported languages, and writes nodes and relationships into Neo4j.Replace YOUR_FIREBASE_TOKEN with a valid Firebase ID token from your authenticated session, and set owner and repo_name to match your target repository:poll_url until status becomes completed. A typical mid-sized repository finishes in under two minutes.Poll the
/api/v1/ingest/jobs/{job_id} endpoint every few seconds until status reaches "completed". You can also monitor progress from the BugViper dashboard.Trigger a review
Once a repository is indexed, BugViper can review any pull request in that repository. Open a pull request on GitHub and post the following comment:GitHub delivers the comment to BugViper via webhook. BugViper acknowledges with a 🚀 reaction on your comment, then the AI agent:
- Fetches the PR diff
- Explores the knowledge graph for context — call chains, class hierarchies, complexity scores
- Synthesizes findings into structured issues with confidence scores
- Posts each issue as an inline diff comment on the exact line where the problem was found
What happens next
After your first review, explore the other capabilities BugViper provides from the same indexed graph:Code search
Search your codebase by symbol name, content, or natural language intent — with an inline peek viewer anchored to the exact source line.
Ask Agent
Ask natural language questions about your codebase and get answers with cited source files and code.