# Disinto — Environment Configuration # Copy to .env and fill in your values. # NEVER commit .env to the repo. # ── Per-project config ──────────────────────────────────────────────────── # Project-specific settings (CODEBERG_REPO, PROJECT_REPO_ROOT, PRIMARY_BRANCH, # WOODPECKER_REPO_ID) now live in projects/*.toml — see projects/harb.toml # for an example. Do NOT set them here; they leak into every session. # ── Auth tokens ─────────────────────────────────────────────────────────── # Dev-agent token: push branches, create PRs, merge PRs. # Use the dedicated bot account (e.g. factory_bot / disinto_dev). # Branch protection: this account must be in the merge whitelist. CODEBERG_TOKEN= # Review-agent token: post review comments and submit formal approvals. # Use the human/admin account (e.g. johba). # Branch protection: this account must be in the approvals whitelist. REVIEW_BOT_TOKEN= # Comma-separated Codeberg usernames to filter from issue comments. # The token owner is auto-detected; add extra bot accounts here if needed. CODEBERG_BOT_USERNAMES= # ── Woodpecker CI ───────────────────────────────────────────────────────── WOODPECKER_TOKEN= WOODPECKER_SERVER=http://localhost:8000 # WOODPECKER_REPO_ID — now per-project, set in projects/*.toml [ci] section # Woodpecker Postgres (for direct DB queries) WOODPECKER_DB_PASSWORD= WOODPECKER_DB_USER=woodpecker WOODPECKER_DB_HOST=127.0.0.1 WOODPECKER_DB_NAME=woodpecker # ── Matrix (optional — real-time notifications & escalation replies) ────── MATRIX_HOMESERVER=http://localhost:8008 # Dendrite/Synapse URL MATRIX_BOT_USER=@factory:your.server # bot's Matrix user ID MATRIX_TOKEN= # bot's access token MATRIX_ROOM_ID= # coordination room ID (!xxx:your.server) # ── Project-specific secrets ────────────────────────────────────────────── # Store all project secrets here so formulas reference env vars, never hardcode. # Example: BASE_RPC_URL for on-chain evolution scripts. BASE_RPC_URL= # ── Tuning ──────────────────────────────────────────────────────────────── CLAUDE_TIMEOUT=7200 # max seconds per Claude invocation