# Host scripts **Status:** S0b–S2 implemented. S3–S7 pending. All scripts wrap **`nemohermes` / `openshell` / Docker**. No parallel control API. ## Entrypoints | Script | Role | Status | |--------|------|--------| | `bootstrap.sh` | Host prereqs; install Docker if missing | ✅ S0b | | `install.sh` | Staged installer (S0b–S2) | ✅ S0b–S2 | | `install/s1-env.sh` | S1: create/validate `.env` | ✅ S1 | | `install/s2-models.sh` | S2: model + vision config + smoke | ✅ S2 | | `upgrade.sh` | Snapshot, pull pins, migrate, re-apply policy, doctor | ⏳ Pending | | `doctor.sh` | Health checks | ⏳ Pending | | `connect/*.sh` | Operator connect helpers (Square, QBO, Vagaro, channels) | ⏳ Pending | ## Shared library | File | Purpose | |------|---------| | `lib/common.sh` | Logging, CLI detection, env loading, repo root | | `lib/env.sh` | `.env` validation and creation helpers | | `lib/vision_smoke.sh` | Vision capability smoke test | ## Usage ```bash # Bootstrap (Docker if missing) ./scripts/bootstrap.sh # Full install (S0b–S2) ./scripts/install.sh # Individual stages ./scripts/install.sh --stage s1 # env only ./scripts/install.sh --stage s2 # models only # Or via Make make bootstrap make install make install-s1 make install-s2 ``` ## Design reference See [docs/INSTALL.md](../docs/INSTALL.md), [docs/UPGRADE.md](../docs/UPGRADE.md), [design/updates-lifecycle.md](../design/updates-lifecycle.md).