Runtime-editable content for the HomeRunner dashboard. Editing a file here via the GitHub web UI goes live in the dashboard within ~10 minutes — no dashboard deploy needed.
pms-guidance/<slug>.<locale>.md
legal/terms-of-service.<locale>.md
<slug>must match a registered guide in the dashboard (src/content/pms-guidance/slugs.ts). Adding a file for an unregistered slug does nothing — the dashboard registry is the source of truth for which PMSes have guidance.<locale>is a BCP-47-ish code (en,fr,pt-BR). Only locales in the dashboard's supported-locales allowlist are served (enat launch). Missing locales fall back toen.legal/terms-of-service.<locale>.mdis the Terms of Service shown in the dashboard's registration +/tosacceptance popup. Editing it is a legal version bump: the dashboard pins atos_document_hash(Central config) computed from this file's bytes, so any change here must be paired with a version+hash bump inhomerunner-central(config/homerunner.php) or existing acceptances silently stay valid against stale terms.
- Markdown only — GFM (headings, lists, links, bold/italic, code,
blockquotes, tables). Raw HTML is rendered as inert text, images are
stripped, and links must be
https:ormailto:. - No frontmatter. Structured data (PMS name, docs/admin URLs, credential field labels) lives in the dashboard repo and is PR-gated there. Only the prose body lives here.
- Drift warning: if a guide references credential field names ("paste it into the API Key field"), those labels are defined in the dashboard's frontmatter. Renaming a field in the dashboard requires updating the prose here too — there is no automated check.
- Keep files under 200 KB (the dashboard rejects oversized content).
The dashboard's session-gated route handler
(/api/content/pms-guidance/[slug]) reads files via the GitHub Contents API
using a fine-grained read-only PAT, cached 10 minutes. The bundled copy in
the dashboard repo is the instant-paint default and offline fallback —
refresh it when a guide is substantially rewritten.