# {{project_name}} — environment template
LEAFMESH_LICENSE_KEY=

OPENAI_API_KEY=
ANTHROPIC_API_KEY=

REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

PAGER_WEBHOOK=
# SLACK_DELIVERY_CHANNEL is the channel_id the escalation `channel`
# target posts to (configs/config.yaml manager.escalation.targets).
SLACK_DELIVERY_CHANNEL=
# SLACK_BOT_TOKEN / SLACK_SIGNING_SECRET are fields of a `channels:
# {slack: {...}}` block (ChannelConfig) — they are NOT auto-consumed by
# the escalation channel target. Add a channels: block to configs/
# config.yaml to actually deliver Slack messages, then these apply.
SLACK_BOT_TOKEN=
SLACK_SIGNING_SECRET=

# ── Dev store ──
# The full chain runs day-0 on Tier 1 alone against a seeded dev store
# (agency/_shared/store.py, JSON under ./data/) — a brief, research corpus,
# client account context and prior deliverables for one realistic
# engagement. In production, replace each store read/write with the
# matching connector call (CRM / KB / deliverables archive / PSA); the
# function signatures are the contract. The vars below front those
# systems but setting them alone does nothing until store.py is wired.

# PSA connectors — n8n workflows fronting YOUR systems of record.
# Hours/utilisation: Harvest, Toggl, ClickTime, Tempo, Kantata, ...
PSA_TIMESHEET_WEBHOOK_URL=
PSA_TIMESHEET_AUTH_TOKEN=
# Engagement sweep: your PSA / project tracker (Kantata, Asana, Jira, ...)
PSA_STATUS_SWEEP_WEBHOOK_URL=
PSA_STATUS_SWEEP_AUTH_TOKEN=

LEAFMESH_ENV_TOKEN=development
