fimo init. The application owns its route modules and rendering choices; Fimo connects content, labels, Studio navigation, and hosting.
Install the runtime packages together. Keep all four on the same Fimo release:
Configure the runtime
Set the production profile:ssr: false merely to add Fimo.
Connect the application
UseFimoProviders from fimo-react-router around the existing application. It supplies labels, editing context, and a React Query fallback. Keep an application-owned React Query provider above it when the project already has one.
FimoProviders also owns the optional Studio preview runtime. Application code does not read Fimo preview environment variables or inject a preview script. FimoScripts in the document shell remains responsible only for JSON-LD and the development error overlay.
Application code renders tracked values with components from fimo-react:
Routes, locales, and SEO
A route that owns its locale segment registers it directly. React Router spells the omittable segment:locale?, which is the same segment .fimo/config.json spells :locale:
FimoProviders wrapper into this boundary rather than nesting two providers:
/pricing and /blog/hello use the configured default. /es/pricing and
/es/blog/hola pass es. Keep the application responsible for validating
supported locale parameters, redirects, links, document language, and SEO.
<FimoLink> remains available when its locale-preserving behavior matches the
application. Route meta exports remain responsible for SEO.
The optional .fimo/config.json#routes catalog helps Studio navigate semantic pages. It does not replace src/routes.ts or generate production rewrites.
Labels and locales
Configure supported locales and keep the application’s URL policy.