endurance-coach-run-and-operatelisted
Install: claude install-skill maxeskell/personal-training-app
# Run & operate the Endurance Coach
**Use this when** you need to run, serve, deploy, or operate the app on the Mac: start or restart the
dashboard, ship a branch to `main`, work out which process is serving port 3000, install/uninstall a
launchd or cron job, or find where an output file lands.
**Don't use this when** you need the *rules* of shipping (branch-then-ship, code+docs-together,
green-before-commit → `endurance-coach-change-control`), env-var meanings (→ `endurance-coach-config-and-flags`),
first-time build/OAuth setup (→ `endurance-coach-build-and-env`), a live failure to triage
(→ `endurance-coach-debugging-playbook`), or a health/cost/read measurement (→ `endurance-coach-diagnostics-and-tooling`).
**Jargon, defined once.** *launchd* = macOS's per-user service manager (`launchctl` is its CLI; a service
is a `.plist` "LaunchAgent"). *Agent/label* = one launchd service, named e.g. `com.endurance-coach.dashboard`.
*KeepAlive* = launchd restarts the process if it exits. *RunAtLoad* = start it at login/load. *pm2* = a
third-party Node process manager (an alternative to launchd, never run alongside it). *tsx* = the TypeScript
runner; the app runs source directly via `tsx`, so restarting a service = picking up the latest code (no
build step). *ship* = the deploy: gate → merge your branch into `main` → restart the dashboard → back up to
GitHub. *The Mac* = the author's machine at `/Users/maxeskell/dev/personal-training-app`; a **web/cloud
session cannot reach it** — th