Build Brand with Astro, as static files on its Worker
Context and Problem Statement
Brand sets the standard for the other eleven sites. Today those sites run two Astro majors, four CSS strategies, three package managers and two wrangler formats. What is Brand built with?
Considered Options
- Astro, static output, served by the Worker’s static assets
- Astro with the Cloudflare adapter, rendering on request
- Another framework (Next.js, SvelteKit)
Decision Outcome
Chosen option: “Astro, static output, served by the Worker’s static assets”,
because every site already uses Astro, and Brand has nothing that needs to be
rendered on request. The Worker runs code only for /, to send each visitor
to their language.
- Astro 7, TypeScript, pnpm,
wrangler.jsonc. - Content as data files validated by a schema; the build fails on a missing translation or an unknown reference.
- Locales
es,en,pt, all prefixed, with translated paths. - No CSS framework. Styles use CSS custom properties, the format proposed for the shared tokens.
Consequences
- Good, because the build is plain files: fast, cacheable, nothing to break at runtime.
- Neutral, because the site wears a neutral ink look until the parent brand is defined.