← ClaudeAtlas

endurance-coach-config-and-flagslisted

Load this for ANY question about the Endurance Coach app's environment variables / feature flags / config knobs — "what does COACH_X do", "what is the default for AIE_MCP_URL / GARMIN_MCP_ARGS / COACH_MCP_TOKEN", "how do I add a new env var / flag", "which flags are experimental or dangerous", "why is medical data hidden on the MCP server", "how do I turn on LAN / phone access", "how do I expose the MCP server to Claude Cowork", "why won't the HTTP MCP server start (token too short)", "is COACH_DEPLOY_BRANCH dead code", "audit config drift / is a var undocumented", configuring weather (COACH_WEATHER_LAT/LON, COACH_SWIM_MIN_WATER_C), Garmin (GARMIN_ENABLED + the uvx pin), the intent router (COACH_INTENT_ROUTER / COACH_LOCAL_INTENT), MCP auth (COACH_MCP_AUTH / READONLY / PROFILE_WRITE / FILE_ACCESS / EXPOSE_MEDICAL), pricing overrides (COACH_PRICE_*), timeouts, or where config.ts parses each var. Also: "which file reads this env var", "why is config.ts not the only parser". Don't load for HOW to run/serve/ship
maxeskell/personal-training-app · ★ 0 · Data & Documents · score 70
Install: claude install-skill maxeskell/personal-training-app
# Endurance Coach — config and flags **Use this when** you need the effect, default, consumer file, and safety class of any environment variable / feature flag in this repo; when adding a new flag (the definition-of-done); or when auditing whether config has drifted (a var read in code but undocumented, or documented but dead). **Don't use this when** the task is *operating* the app (starting the dashboard, `npm run ship`, the launchd services) → **`endurance-coach-run-and-operate`**; or *setting up from a fresh clone* (Node/OAuth/Garmin auth) → **`endurance-coach-build-and-env`**. This skill is the catalog and the add-a-flag/drift discipline, not the runbook. Repo root everywhere below: `/Users/maxeskell/dev/personal-training-app`. --- ## Jargon, defined once - **env var / flag** — a `NAME=value` line in `.env` (gitignored; copy from `.env.example`) or exported in the shell. The app reads it via `process.env.NAME`. - **`config.ts`** — `src/config.ts`, the central typed config object. It is the *primary* parser: it reads most env vars, applies defaults, and exports a frozen `config`. A handful of files read `process.env` directly by design (listed below) — `config.ts` is not the *only* parser. - **safety class** (this skill's column): **production** = safe default, meant to be tuned; **advanced** = works but you must know what you're doing (local LLM, embeddings, tunnels); **security** = widens the attack surface if set — safe default is OFF/localhost. - **MOD