# ⚡ KNELPerfHub — content for performance.knownelement.com > The Grav site at > [performance.knownelement.com](https://performance.knownelement.com) > **pulls its pages from this repo**. Publishers push; the site never runs > foreign tooling. ![license](https://img.shields.io/badge/license-AGPLv3-blue) ## Flow ```mermaid flowchart LR S[📡 scrapers/collectors
KNELPerf + SITER-Solar tooling] --> P[📝 grav-publish.sh
renders pages, git push] P --> R[📦 this repo] -->|host-side git pull every 5 min
no container execs| G[🌐 Grav
cache.check=file] ``` - Publishing = commit markdown to this repo (bash only; house rules). - The Cloudron VPS runs a systemd timer that `git pull`s this repo into the Grav pages dir (public repo → plain HTTPS, no deploy keys). - Grav's `cache.check.method: file` picks changes up automatically — the app container executes nothing but its own PHP. ## Layout - `01.home/` — site landing page - `performance/` — auto-published dashboard (ERCOT risk, arbitrage verdict, baseline index) + reports - `02.typography/` — theme demo (from the Grav skeleton; removable) Work tracking: [Redmine #826](https://projects.knownelement.com/issues/826) > **Docs live on Discourse — this repo is the executable source of truth.**