- Add setup_forge() to bin/disinto: provisions Forgejo via Docker, creates admin + bot users (dev-bot, review-bot), generates API tokens, creates repo, and pushes code — all automated - Rename env vars: CODEBERG_TOKEN→FORGE_TOKEN, REVIEW_BOT_TOKEN→ FORGE_REVIEW_TOKEN, CODEBERG_REPO→FORGE_REPO, CODEBERG_API→ FORGE_API, CODEBERG_WEB→FORGE_WEB, CODEBERG_BOT_USERNAMES→ FORGE_BOT_USERNAMES (with backwards-compat fallbacks) - Rename API helpers: codeberg_api()→forge_api(), codeberg_api_all() →forge_api_all() (with compat aliases) - Add forge_url field to project TOML; load-project.sh derives FORGE_API/FORGE_WEB from forge_url + repo - Update parse_repo_slug() to accept any host URL, not just codeberg - Forgejo data stored under ~/.disinto/forgejo/ (not in factory repo) - Update all 58 files: agent scripts, formulas, docs, site HTML Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
57 lines
3.4 KiB
Text
57 lines
3.4 KiB
Text
# Disinto — Environment Configuration
|
|
# Copy to .env and fill in your values.
|
|
# NEVER commit .env to the repo.
|
|
|
|
# ── Per-project config ────────────────────────────────────────────────────
|
|
# Project-specific settings (FORGE_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.
|
|
|
|
# ── Forge (Forgejo) ─────────────────────────────────────────────────────
|
|
# Base URL for the local Forgejo instance. disinto init provisions this.
|
|
FORGE_URL=http://localhost:3000
|
|
|
|
# ── Auth tokens ───────────────────────────────────────────────────────────
|
|
# Dev-agent token: push branches, create PRs, merge PRs.
|
|
# Use the dedicated bot account (e.g. dev-bot).
|
|
# Branch protection: this account must be in the merge whitelist.
|
|
FORGE_TOKEN=
|
|
|
|
# Review-agent token: post review comments and submit formal approvals.
|
|
# Use the review bot account (e.g. review-bot).
|
|
# Branch protection: this account must be in the approvals whitelist.
|
|
FORGE_REVIEW_TOKEN=
|
|
|
|
# Comma-separated forge usernames to filter from issue comments.
|
|
# The token owner is auto-detected; add extra bot accounts here if needed.
|
|
FORGE_BOT_USERNAMES=
|
|
|
|
# ── Backwards compatibility ───────────────────────────────────────────────
|
|
# If CODEBERG_TOKEN is set but FORGE_TOKEN is not, env.sh falls back to
|
|
# CODEBERG_TOKEN automatically (same for REVIEW_BOT_TOKEN, CODEBERG_REPO,
|
|
# CODEBERG_BOT_USERNAMES). No action needed for existing deployments.
|
|
|
|
# ── 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
|