ReviewBot

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