# ─────────────────────────────────────────────────────────────────────────
# WHAT BELONGS IN THIS FILE — and what does NOT
#
# This file is for the DEPLOYMENT'S OWN identity and its model keys. That is
# all. Provider credentials do NOT live here.
#
#   HERE, in .env
#     LEAFMESH_LICENSE_KEY, LEAFMESH_ENV_TOKEN
#     the ports, REDIS_* / Postgres  (the store the vault itself lives in)
#     your model provider key(s): OPENAI_API_KEY / ANTHROPIC_API_KEY /
#       GOOGLE_API_KEY …  (these are read from the environment as the mesh
#       starts, so they must be here — the vault is read too late for them)
#
#   NOT HERE — in the VAULT, added on Studio's Infrastructure page
#     every channel credential  (Slack bot_token / signing_secret / app_token,
#       Teams, Discord, Cliq, WhatsApp, Email)
#     every connector credential (MCP, Zapier, Composio, n8n, custom)
#     Config then names it:  connection: "slack-workspace"
#
# Why it matters: since 2.4.180 the mesh REFUSES TO BOOT if it finds a
# provider credential written into config — and `${ENV_VAR}` does not help,
# because substitution happens before the check runs, so the check sees the
# token itself. `connection:` is the only path that works.
#
# Note: a value is EMPTY here, never a comment. `KEY=   # explanation` is read
# by python-dotenv as the COMMENT being the value.
# ─────────────────────────────────────────────────────────────────────────

# {{project_name}} — environment. Copy to .env and fill in.  cp env .env

# ── Required ──
LEAFMESH_LICENSE_KEY=
# planner + reviewer LLMs AND the Claude Agent SDK
ANTHROPIC_API_KEY=
# (manager)
OPENAI_API_KEY=

# ── State store ──
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

# ── Developer + QA agents (Claude Agent SDK) ──
# Host prerequisite: `pip install claude-agent-sdk` + the Claude Code CLI
# on the host (the customer's environment provides these).
# absolute path to the repo checkout the developer works in (QA reads the same)
DEV_REPO_PATH=
# gh CLI auth — for opening the PR
GH_TOKEN=
# git user.name / user.email must be configured in that environment.
QA_DISCIPLINE=backend         # the qa_agent's lane: backend | api | frontend
                              # (duplicate the qa_agent block per discipline to run all three)

# ── Tuning (optional) ──
DEV_SQUAD_MAX_WIP=1           # max tickets in flight at once (serial by default)

# ── Connectors (inert until set) ──
# ticket pull + status write-back + bug filing (PO / planner / QA)
JIRA_MCP_URL=
# reviewer pulls the PR diff
GITHUB_MCP_URL=
# Event broker — Jira pushes "assigned/created" events here (planner/QA/PO listen_events).
# Defaults to local Redis; point at your bus in prod (see brokers: in config.yaml).
JIRA_EVENTS_REDIS_URL=redis://localhost:6379
