-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
76 lines (61 loc) · 3 KB
/
.env.example
File metadata and controls
76 lines (61 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# DevForge environment. Copy to .env.local for local dev or .env for CI.
# scripts/local_dev.sh sources .env.local automatically.
# ---- Backend selection ----
DEVFORGE_BACKEND=local # local | aws
OPENAI_API_KEY=sk-proj-REPLACE_ME
# ---- Local mode ----
# Absolute path or relative-to-repo-root. Default: devforge/data/
# DEVFORGE_DATA_DIR=./data
# Secrets for local mode (env-var based).
OPENROUTER_API_KEY=sk-or-v1-REPLACE_ME
# Either paste the raw PEM (be careful about newlines) or point at a .pem file:
# GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
GITHUB_APP_PRIVATE_KEY_PATH=./secrets/github-app.pem
# GitHub App (from the App settings page)
GITHUB_APP_ID=REPLACE_ME
# Control-plane URL — scripts/install_github_app.py uses this.
CONTROL_PLANE_API=http://localhost:8001
# ---- Observability (optional) ----
# Sign up at langfuse.com -> create project -> copy keys here.
# When unset, tracing is silently disabled.
# LANGFUSE_PUBLIC_KEY=
# LANGFUSE_SECRET_KEY=
# LANGFUSE_HOST=https://cloud.langfuse.com
# ---- Per-agent model selection (overrides backend/worker/models.yaml) ----
# OpenRouter model slugs (e.g. anthropic/claude-sonnet-4-6, openai/gpt-4o,
# openai/gpt-5-mini, anthropic/claude-haiku-4-5). Leave unset to use YAML defaults.
#
# Quick way to swap every agent at once:
# DEVFORGE_MODEL_DEFAULT=openai/gpt-4o
# DEVFORGE_MODEL_DEFAULT_FALLBACK=anthropic/claude-sonnet-4-6,openai/gpt-5
#
# Or per-agent (highest precedence):
# DEVFORGE_MODEL_ENGINEERING_LEAD=anthropic/claude-sonnet-4-6
# DEVFORGE_MODEL_BACKEND_ENGINEER=anthropic/claude-sonnet-4-6
# DEVFORGE_MODEL_FRONTEND_ENGINEER=anthropic/claude-sonnet-4-6
# DEVFORGE_MODEL_QA_ENGINEER=anthropic/claude-haiku-4-5
#
# Per-agent fallback chains (comma-separated; empty clears the chain):
# DEVFORGE_MODEL_QA_ENGINEER_FALLBACK=openai/gpt-5-mini,anthropic/claude-sonnet-4-6
# Per-job cost cap in USD. Orchestrator halts a job that exceeds this.
# DEVFORGE_JOB_COST_CAP_USD=2.0
# Admin token gating /jobs/{id}/approve. Pick something long + unguessable.
# DEVFORGE_ADMIN_TOKEN=a-long-random-string
# ---- Frontend + Clerk ----
# Set this to enable Clerk JWT validation on the control plane (frontend uses it).
# When unset, /tenants and /jobs endpoints accept ONLY X-Admin-Token (CLI mode).
# CLERK_JWKS_URL=https://your-app.clerk.accounts.dev/.well-known/jwks.json
# Local-only escape hatch: bypass auth entirely. Refuses to engage when
# DEVFORGE_BACKEND=aws. Recommended for plain CLI dev.
# DEVFORGE_AUTH_DISABLED=1
# CORS allowlist (comma-separated). Default is localhost:3000 + 127.0.0.1:3000.
# DEVFORGE_CORS_ORIGINS=http://localhost:3000,https://devforge.app
# ---- AWS mode (populate after running scripts/deploy_aws.sh all) ----
# AWS_REGION=us-east-1
# AWS_REGION_NAME=us-east-1
# SAGEMAKER_ENDPOINT=devforge-embedding-endpoint
# VECTOR_BUCKET=devforge-vectors-<account-id>
# AURORA_CLUSTER_ARN=
# AURORA_SECRET_ARN=
# AURORA_DATABASE=devforge
# CONTROL_PLANE_API=https://<api-id>.execute-api.us-east-1.amazonaws.com