# PYRE Status Dashboard A static, self-contained dark "ember"-themed page the team uses to track PYRE MVP progress. It is a **snapshot**, not live telemetry. ## Files - **`status.json`** — the single source of truth. All content on the page (phases, checklists, infra, dates, links) comes from here. - **`index.html`** — the prebuilt rendered page. Committed so the page works even before anyone runs the generator. Self-contained: inline CSS, no external requests, no JS. - **`README.md`** — this file. ## Editing & regenerating 1. Edit **`status.json`** — flip an item's `"done"` to `true`, update a phase `"state"` (`todo` / `in_progress` / `done`), or bump `"updated"`. 2. Regenerate the page from the repo root: ```bash node scripts/gen-status.mjs ``` The generator is dependency-free (plain Node ESM, no npm install). It reads `infra/status/status.json` and rewrites `infra/status/index.html`, recomputing the overall % complete from the item done-counts. It prints the output path when finished. 3. Commit the regenerated `index.html` alongside the `status.json` change so the prebuilt page stays consistent with the data. ## Deployment The provision script deploys `infra/status/*` to `/var/www/feedthepyre/status`, and nginx serves it as the site root (`feedthepyre.com`) until the real PYRE app ships. Because `index.html` is prebuilt and self-contained, deployment is a plain file copy — no build step or generator run is required on the server.