Getting started
Requirements
Section titled “Requirements”- Node ≥ 22.13 (
.nvmrc), pnpm ≥ 10 (corepack enableornpm i -g pnpm) - For PDFs and tests: Playwright Chromium (
pnpm exec playwright install chromium)
Commands
Section titled “Commands”| Command | What it does |
|---|---|
pnpm dev | Astro dev server for apps/site (landing, /docs, /reports, /tools, /design) — the public audience |
pnpm dev:internal | The same, as the internal site: adds src/content/internal and private bundles, with the internal labelling (D11) |
pnpm build | Static build → apps/site/dist (public audience), then the report exports next to each page: self-contained HTML always, PDF when Playwright Chromium is installed |
pnpm build:internal | The internal audience build (CSDR_AUDIENCE=internal); pnpm test:audience then checks its labelling |
pnpm preview | Serve the build |
pnpm check | The gate: astro check + tsc for packages + ESLint (PatternFly import allowlist) + raw-class allowlist + palettes + audience rules (D11) |
pnpm test | Playwright + axe accessibility on every surface, report-metadata assertions, and the PDF/HTML export gate |
pnpm test:vr | Visual regression of the chrome and one page per surface (Linux CI; VR=1 to force locally) |
pnpm pdf [--only <slug>] | Re-render the report PDFs against an existing apps/site/dist (pnpm build already does this) |
pnpm icons find <term> | Search the 2,885 PatternFly icons |
pnpm pf:example <Component> [section] | Print PatternFly React’s shipped example markdown for a component |
pnpm deploy / pnpm deploy:internal | wrangler deploy by hand (engineers; needs wrangler login). Normally CI deploys both sites on merge to main — see Deploy |
Layout
Section titled “Layout”apps/site/ the one Astro project — pages, layouts, content, data loaders, public data bundlespackages/theme/ PatternFly tokens (light+dark), base-min, fonts, Starlight bridge, editorial + print layerspackages/chrome/ Masthead, Footer, Wordmarkpackages/editorial/ Figure, Table, StatTile, Callout, Ref, KeyMessages, DataDownload, Authors, Icon + remark-crossrefpackages/charts/ chart theme (from PF chart tokens), ECharts SSR, Chart / LineChart / BarChart, ChartIslanddesign/ COMPONENTS.md (the allowlist explained) + allowlist.json (the allowlist enforced)templates/ new-report / new-analysis / new-tool scaffolds used by the skillsdocs/decisions/ D1–D13, the panel-reviewed decisions this template implementsscripts/ export-html, build-pdf, check-classes, icons, pf-example, serve-dist