# Arbiter Environment Configuration # Copy this file to .env and fill in your values # All variables are prefixed with ARBITER_ unless noted # ============================================================================= # Database # ============================================================================= # PostgreSQL connection URL (required) ARBITER_DATABASE_URL=postgresql+asyncpg://arbiter:arbiter@localhost:5432/arbiter # Connection pool settings ARBITER_DATABASE_POOL_SIZE=5 ARBITER_DATABASE_MAX_OVERFLOW=10 # ============================================================================= # Redis # ============================================================================= # Redis connection URL (required) ARBITER_REDIS_URL=redis://localhost:6379/0 # Connection pool size ARBITER_REDIS_MAX_CONNECTIONS=10 # ============================================================================= # LLM Configuration # ============================================================================= # API keys (at least one required) - NOT prefixed with ARBITER_ OPENAI_API_KEY=sk-... # ANTHROPIC_API_KEY=sk-ant-... # Default model for agents ARBITER_DEFAULT_MODEL=gpt-4o # Request settings ARBITER_LLM_TIMEOUT=60 ARBITER_LLM_MAX_RETRIES=3 # ============================================================================= # Cost Controls # ============================================================================= # Maximum tokens per review ARBITER_MAX_TOKENS_PER_REVIEW=50000 # Maximum cost per review in USD ARBITER_MAX_COST_PER_REVIEW_USD=0.50 # Response cache TTL in hours ARBITER_CACHE_TTL_HOURS=24 # ============================================================================= # GitHub Integration # ============================================================================= # GitHub API token for fetching diffs and posting comments ARBITER_GITHUB_TOKEN=ghp_... # Webhook secret for HMAC verification ARBITER_GITHUB_WEBHOOK_SECRET=your-webhook-secret # GitHub API base URL (for GitHub Enterprise) ARBITER_GITHUB_BASE_URL=https://api.github.com # ============================================================================= # GitLab Integration # ============================================================================= # GitLab API token for fetching diffs and posting comments ARBITER_GITLAB_TOKEN=glpat-... # Webhook token for verification ARBITER_GITLAB_WEBHOOK_TOKEN=your-webhook-token # GitLab instance base URL ARBITER_GITLAB_BASE_URL=https://gitlab.com # ============================================================================= # API Settings # ============================================================================= # OpenAPI metadata ARBITER_API_TITLE=Arbiter API ARBITER_API_VERSION=0.5.0 # CORS allowed origins (JSON array) ARBITER_CORS_ORIGINS=["http://localhost:3000"] # Rate limiting ARBITER_API_RATE_LIMIT_PER_MINUTE=60 # ============================================================================= # Worker Settings # ============================================================================= # Maximum concurrent jobs per worker ARBITER_WORKER_MAX_JOBS=10 # Job timeout in seconds ARBITER_WORKER_JOB_TIMEOUT=300 # Retry attempts on failure ARBITER_WORKER_RETRY_ATTEMPTS=3 # ============================================================================= # Integration Settings # ============================================================================= # API request timeout for platform integrations ARBITER_INTEGRATION_TIMEOUT=30 # Retry attempts for platform API calls ARBITER_INTEGRATION_MAX_RETRIES=3 # Context name for commit status checks ARBITER_STATUS_CHECK_CONTEXT=arbiter # ============================================================================= # Feature Flags # ============================================================================= # Post review comments on PRs/MRs ARBITER_POST_COMMENTS=true # Update commit status checks ARBITER_UPDATE_STATUS=true # Enable follow-up question handling in PR comments ARBITER_FOLLOWUP_ENABLED=true # Minimum confidence to process a follow-up question (0.0 - 1.0) ARBITER_FOLLOWUP_CONFIDENCE_THRESHOLD=0.5 # Maximum tokens per follow-up response ARBITER_FOLLOWUP_MAX_TOKENS_PER_RESPONSE=2000 # ============================================================================= # Paths # ============================================================================= # Directory containing prompt templates ARBITER_TEMPLATES_DIR=templates # Output format (rich, json, markdown) ARBITER_OUTPUT_FORMAT=rich