Getting started
Louise is the unopinionated toolkit: primitives you assemble yourself. Astroid is the opinionated preset on top—a section library, a theme system, and a single typed config that generates the Louise wiring a site would otherwise write by hand.
Astro → renderer / router / build Louise → unopinionated primitives + framework glue (louise-toolkit) Astroid → opinions: theme, sections, config, scaffold (astroidjs)Dependencies flow one way—astroidjs → louise-toolkit, never the reverse.
Which one do I want?
Section titled “Which one do I want?”| Louise | Astroid | |
|---|---|---|
| You already have an Astro app | Yes, add it | No, it scaffolds a new one |
| You want to choose your own schema, routes, auth | Yes | No, it chooses for you |
| You want a running editable site today | assembly required | one command |
| You need a page-builder + section library | build it | ships 15 sections |
If you’re adding editing to an app you already have, use Louise directly. If you’re starting a brand-new site on Cloudflare, start here.
Scaffold
Section titled “Scaffold”pnpm create astroid my-siteEvery option is prompted for; in a non-TTY each prompt takes its default, so the command is CI-safe. The business facts have no default, so a blank answer leaves each out of the config. The target directory must be empty.
pnpm create astroid [directory] [options]
--name <name> Brand / site name --key <slug> Project key (slug); names the generated bindings --archetype <type> marketing | storefront | wholesale | portfolio --color <hex> Brand color --host <domain> Primary domain, for example, example.com --commerce <provider> square | stripe | fourthwall --square-locations <n> single | multi (multi-merchant; needs --commerce square) --map Self-hosted PMTiles/MapLibre location map --pwa Installable PWA (scoped service worker + manifest) --portal Customer/member portal (a second, isolated auth instance) --realtime Live multi-editor editing (a per-page Durable Object) --time-zone <zone> The business's IANA time zone, for example, Europe/Berlin --currency <code> Its ISO 4217 currency, for example, EUR (required with --commerce) --country <code> Its ISO 3166-1 alpha-2 country, for example, DE --locale <tag> The site's BCP 47 locale, for example, de-DE --credit-name <name> A "Site by <name>" credit in the footer --credit-href <url> Where the credit links (pairs with --credit-name) --app An app with no pages to edit (editor: false) --into <path> One app into an existing repository, beside anotherYou get a working floor, not a blank page: an inline-editable home page,
magic-link editor sign-in, the editor drawer wired up, migrations, and a
wrangler.jsonc with every binding stubbed.