# AGENTS.md ## Project purpose VyOS community website (community.vyos.net). A static site built by the [soupault](https://soupault.net) static-site generator from HTML pages plus SASS-built CSS. Deployed via AWS Amplify (`amplify.yml` present). ## Tech stack - Static-site generator: soupault (OCaml). - HTML templates under `templates/`, content under `site/`. - Sass for stylesheets (`sass/main.sass` → `build/main.css`). - Soupault plugins under `plugins/` (Lua). - AWS Amplify deploy spec: `amplify.yml`. - `release-status.toml` for the per-train release banner data. - `.mergify.yml` present (commands-only; no automated rules). ## Build / test / run ``` # Site soupault # → build/ # CSS sass -I sass/ sass/main.sass > build/main.css # Combined make all ``` ## Repository layout - `templates/` — page skeletons including `main.html`; soupault inserts page content into `div#content`. - `site/` — actual page content (Markdown + HTML). - `sass/` — SASS sources. - `fonts/` — static assets. - `plugins/` — soupault Lua plugins. - `scripts/` — helper scripts. - `soupault.toml` — site config; markdown extensions, strict mode, etc. - `amplify.yml` — Amplify build pipeline (calls `make all`; installs soupault 5.3.0, sass 1.32.8, and Python packages pygithub/jinja2 in preBuild). - `release-status.toml` — release-train metadata feed for the site. ## Cross-repo context Static site, independent of the VyOS image build. Sibling corporate web properties live under `sentrium/*` (`next-js-vyos` is the main vyos.io site on Next.js + DatoCMS + Vercel; `community.vyos.net` is the older soupault-based community site). May be consumed by `vyos/amplify-build-status` (also in this chunk) for build-status gating. ## Conventions - Commit / PR title format: `component: T12345: description` (Phorge task ID mandatory). Enforced by `vyos/.github` reusable workflows where consumed. - **Branch model differs:** `main` is the staging branch (auto-deployed to staging.vyos.net); `production` is the production branch. - `.mergify.yml` provides Mergify commands (`merge`, `rebase`, `update`, `backport`) but has no automated PR rules. ## Notes for future contributors - This repo's branch model is `main` (staging) → `production` (live), **not** the `current`/`sagitta`/`circinus` train naming used by VyOS image repos. - soupault is the build dependency, not Hugo or Jekyll. Install from soupault.app. - License: see `LICENSE` (none committed; treat as VyOS-default).