The marketing site, published at https://openpreflight.xyz. Astro + Tailwind v4, static output. Positioning pages plus a branded 404; how-to lives on docs.openpreflight.xyz. The product it describes is v2.1.3 (GitHub Release).
Reference documentation lives on a separate site, openpreflight/docs, at docs.openpreflight.xyz. Keep the copy here to positioning and link out for anything a reader would need to follow. Instructions duplicated here would go stale first.
npm ci
npm run devsrc/pages/index.astro: the marketing homepagesrc/pages/: Product, Why, Self-hosted, Security, and the other hub routessrc/pages/404.astro: branded not-foundsrc/layouts/MarketingPage.astro: header/footer chrome for inner pages; the pages themselves compose full-bleed sectionssrc/lib/site.ts:siteSectionsis the canonical site map. The header nav, the footer, and the 404 all render it, so a route cannot exist without being reachable from every pagesrc/components/marketing/: the subpage system:PageHero,Section,Card/Grid,Steps,MarkList,CodePanel,CheckRunPanel,Callout,Faq,Prose,CtaLink/Actionssrc/components/blocks/,src/components/ui/: Rivelle blocks and primitives used by the homepage templatesrc/layouts/Layout.astro: head, meta, OG tags, header/footer chromesrc/styles/global.css: product-green palette, JetBrains Mono, light/dark viaprefers-color-schemepublic/: favicon set,og.png,robots.txtscripts/: reproducible favicon, Open Graph, and README banner generation
public/favicon.svg is the mark source. The generators create the favicon
set, static Open Graph image, and README banners; available sibling docs and
operator worktrees are synchronized automatically.
pnpm run brand
pnpm run check-brandAll brand generators use Sharp. Available sibling docs and operator worktrees are synchronized; commit regenerated PNGs with their source changes.
The positioning text tracks the code repo's README. When that changes, change it here too, and prefer its phrasing over rewriting it into marketing voice.
Cloudflare Pages. Root directory is the repository root, build command
pnpm run build, output dist. This repository uses pnpm. There is a
pnpm-lock.yaml and CI runs pnpm install --frozen-lockfile. Sitemap is
generated by @astrojs/sitemap.
MIT licensed.