Configuration
All environment variables, prompt placeholders, and available options.
Environment Variables
Required
| Variable | Description |
|---|---|
| GOOGLE_APPLICATION_CREDENTIALS_JSON | Full JSON content of Google Play service account key |
| OPENAI_API_KEY | OpenAI API key (sk-...) |
| GP_PACKAGE_NAME | Android package name (e.g., com.example.app) |
| GP_APP_NAME | App display name (used in prompts) |
| PROMPT_FILE | Path to your prompt template file |
| GITLAB_TOKEN | GitLab PAT with api scope (not required for --local mode) |
| LICENSE_KEY | Your ReviewBot license key |
Optional
| Variable | Default | Description |
|---|---|---|
| OPENAI_MODEL | gpt-4o-mini | OpenAI model to use |
| STYLE_EXAMPLES | empty | Example replies for style reference |
| GITLAB_DEFAULT_BRANCH | main | Default branch for MRs |
| GITLAB_MR_ASSIGNEE_ID | empty | User ID to assign MRs to |
| GITLAB_MR_REVIEWER_ID | empty | User ID for MR reviewer |
Prompt Placeholders
These placeholders in your prompt template are replaced automatically at runtime:
| Placeholder | Source |
|---|---|
| {{app_name}} | GP_APP_NAME env var |
| {{package_name}} | GP_PACKAGE_NAME env var |
| {{rating}} | Review star rating (1-5) |
| {{reviewer_name}} | Reviewer's display name |
| {{review_date}} | When the review was posted |
| {{device}} | Reviewer's device model |
| {{android_version}} | Reviewer's Android version |
| {{review_text}} | Full review text |
| {{tags}} | Auto-detected topics (bug, praise, feature_request, etc.) |
| {{confidence}} | Detection confidence (0.0-1.0) |
| {{tone}} | Suggested tone (apologetic / professional / friendly) |
| {{style_examples}} | STYLE_EXAMPLES env var content |
Tone Logic
Rating 1-2 →
apologetic "We're sorry to hear..." Rating 3 →
professional "Thank you for your feedback..." Rating 4-5 →
friendly "Thanks so much! We're glad..." Topic Detection
ReviewBot automatically detects these topics from review text:
bug crash, error, freeze, broken performance slow, laggy, battery drain accuracy wrong, incorrect, measurement feature_request "please add", "wish it had" ui_issue confusing, hard to use praise great, awesome, love, perfect refund money back, scam, waste question contains "?" or "how to" CLI Commands
# Generate - GitLab mode (creates MR)
reviewbot generate
# Generate - Local mode (outputs to file, no GitLab)
reviewbot generate --local --output /path/to/output
# Publish - reads from .reviewbot/suggestions/
reviewbot publish