.astro components. Fimo adds Studio preview and editing without installing React or taking control of Astro routing.
Start a new Astro project with the opt-in first-party shell:
--framework is omitted.
Configure the runtime
fimo-astro at the same version as fimo, then add the Fimo integration beside the adapters and integrations the project already uses:
fimo-astro owns Fimo hosting for output: 'server' projects; content and components stay in fimo. Fimo loads its preview script only inside a Fimo preview, reports the current location to Studio, and uses full-page Astro navigation when Studio changes pages. You do not need to add a provider, preview URL, or script tag.
A static Astro site hosted elsewhere can import fimo from fimo/astro/config instead, which wires the preview connector and branch environment without a hosting adapter.
Generate content clients
Createsrc/schemas/<Uid>.json, then run:
<Uid>.ts module plus its public types. Fimo does not generate React hooks, .client.ts modules, or a client content registry.
Read and render content
Text, RichText, Image, StaticImage, Video, Date, Boolean, and Json. Pass tracked values directly so Fimo preserves their data-fimo-source metadata.
Routes and locales
The starter configures Astro’s native i18n router from.fimo/config.json: the default locale stays unprefixed and other locales use their Astro prefix. Use Astro.currentLocale for generated content reads, getLabels(), and document language. Existing sites can keep another Astro locale strategy; Fimo does not impose a router or provider.
Keep .fimo/config.json#routes aligned with the pages you want Studio to list. This is Studio metadata, not an Astro route manifest; Astro files, middleware, redirects, and 404s remain authoritative.
Client-island content hooks are not part of the Astro surface yet. Preserve existing islands and do not add React just to read Fimo content.
Content & CMS
Declare schemas and use generated collection or Single clients.