# ---------------------------------------------------------------------------
# .mam.env.example — committable template for the multi-agent-mux-* skills
#
# This file is tracked in git and contains NO secrets. To get a working local
# config, copy it to `.mam.env` (which is git-ignored) and edit as needed:
#
#     scripts/generate-env.sh        # creates .mam.env from this template if absent
#     # or manually:  cp .mam.env.example .mam.env
#
# Every variable below is OPTIONAL. The skills already resolve sane defaults
# (shown after each `#default:` line), so an unset/commented variable just keeps
# the built-in behaviour. Uncomment + edit only the ones you want to override.
#
# SECURITY: never put real secrets in this template. Secret-bearing vars use a
# `replace_me` placeholder — fill them in only in your local `.mam.env`.
# SECURITY NOTE:
# The default MQTT broker (broker.hivemq.com) is public and unencrypted. Job event
# payloads (including task details) sent to the default broker can be read by anyone.
# For production or private workloads, configure a private broker with TLS and Auth below.
# ---------------------------------------------------------------------------

# ===========================================================================
# Workspace / runtime paths
# ===========================================================================

# Single source of truth for the agent session registry YAML.
#default: <workspace>/.mam/agent-sessions.yaml
# AGENT_SESSIONS_YAML=/path/to/workspace/.mam/agent-sessions.yaml

# Root directory that holds Claude Code per-project conversation logs (*.jsonl).
#default: $HOME/.claude/projects
# CLAUDE_PROJECT_DIR=$HOME/.claude/projects

# Directory scanned for per-session launcher wrappers (~/.local/bin/<session>).
#default: $HOME/.local/bin
# LOCAL_BIN=$HOME/.local/bin

# Isolated Herdr session socket name (`herdr --session <name>`).
#default: mam-<workspace-slug>
# HERDR_SESSION_NAME=mam-multi-agent-mux

# Legacy Herdr server identifier (DEPRECATED: use HERDR_SESSION_NAME instead).
# Written into .mam.env by install.sh as an active default.
#default: multi-agent-mux
# HERDR_SERVER_NAME=multi-agent-mux

# Path to the Herdr Unix domain socket.
#default: $HOME/.config/herdr/herdr.sock
# HERDR_SOCKET_PATH=$HOME/.config/herdr/herdr.sock

# ===========================================================================
# delegate-job / MQTT broker
# ===========================================================================

# MQTT broker host the delegate-job publisher/subscriber connects to.
#default: broker.hivemq.com
# MQTT_BROKER=broker.hivemq.com

# MQTT broker port. Written into .mam.env by install.sh as an active default.
#default: 1883
# MQTT_PORT=1883

# MQTT reconnect retry interval (seconds).
#default: 2
# MQTT_RETRY_INTERVAL=2

# MQTT maximum reconnect retries.
#default: 5
# MQTT_MAX_RETRIES=5

# Broker auth username. Leave unset for anonymous brokers.
#default: (unset → anonymous)
# MQTT_USERNAME=replace_me

# Broker auth password. SECRET — fill in only in your local .mam.env, never commit.
#default: (unset → anonymous)
# MQTT_PASSWORD=replace_me

# Prefix for generated MQTT client ids (publisher/subscriber/monitor).
#default: hermes
# MQTT_CLIENT_ID_PREFIX=hermes

# Log level for MAM runtime components (DEBUG, INFO, WARN, ERROR).
#default: INFO
# MAM_LOG_LEVEL=INFO

# Retention period (days) for delegate-job event logs.
#default: 7
# MAM_EVENT_RETENTION_DAYS=7

# Garbage collection threshold (minutes) for old message buffer logs.
#default: 60
# MAM_BUFFER_GC_MINUTES=60

# Marker string used by loop delegation guard (O-3).
#default: (built-in guard marker)
# MAM_LOOP_GUARD_MARKER=mam_loop_active

# Path to a CA bundle for TLS broker verification (set MQTT_TLS=1 to use TLS).
#default: (unset → no custom CA)
# MQTT_CA_CERTS=/path/to/ca.crt

# Client certificate for mutual-TLS brokers.
#default: (unset → no client cert)
# MQTT_CERTFILE=/path/to/client.crt

# Client private key for mutual-TLS brokers. SECRET — keep the key file private.
#default: (unset → no client key)
# MQTT_KEYFILE=/path/to/client.key

# Directory for delegate-job audit logs (sits beside .mam/jobs/).
#default: <cwd>/.mam/delegate_job_logs
# DELEGATE_JOB_LOGS_DIR=/path/to/workspace/.mam/delegate_job_logs

# ==============================================================================
# deploy / distribution source (for forks/mirrors)
# ==============================================================================
# Note: These variables are read from the execution environment by deployment scripts.
# Since deploy/install.sh runs before .mam.env exists, you must pass them via export
# or prepended variables (e.g. MAM_REPO_URL=... bash deploy/install.sh).
# If you run a private mirror, we strongly recommend configuring all three variables.

# Distribution repository URL (cloned during recovery steps).
#default: https://git.godopu.com/tmpl/multi-agent-mux.git
# MAM_REPO_URL=https://git.godopu.com/tmpl/multi-agent-mux.git

# Distribution archive download URL (used for bootstrap extraction).
#default: https://git.godopu.com/tmpl/multi-agent-mux/archive/main.tar.gz
# MAM_ARCHIVE_URL=https://git.godopu.com/tmpl/multi-agent-mux/archive/main.tar.gz

# Distribution update/installer script URL.
#default: https://git.godopu.com/tmpl/multi-agent-mux/raw/branch/main/deploy/install.sh
# MAM_INSTALLER_URL=https://git.godopu.com/tmpl/multi-agent-mux/raw/branch/main/deploy/install.sh
