Choose a framework
Next.js App Router is the default for new sites. Select another framework during setup:
- npm
- Bun
- pnpm
- Yarn
Current adapter ranges depend on the version of
fimo installed in your project. Run fimo validate before changing
framework versions.Connect an existing application
From the application directory, run:- npm
- Bun
- pnpm
- Yarn
Framework guides
React Router
Vite with React
Astro
Next.js
SvelteKit
Agent best practices
The bundledfimo-code skill includes focused performance guidance for public
Astro, SvelteKit, and Next.js sites. Coding agents should load the integration
reference first, then the matching best-practices reference:
Shared project contract
Set the application’s production profile in.fimo/config.json:
astro, nextjs, nuxtjs, react-router, remix,
sveltekit, vite, and vue. Conventional projects use their package
scripts and framework defaults. Override commands only when the existing
application needs them:
- npm
- Bun
- pnpm
- Yarn
:locale?; Astro, Next.js, and SvelteKit use their native
route-boundary patterns. The default locale stays unprefixed, and existing
applications keep their current URL strategy.
In a linked checkout, Astro, SvelteKit, React Router, and Vite derive the
current Branch’s runtime aliases during development and production builds.
Next.js resolves the linked site and active Git branch in its root
FimoProvider, then passes only the public connection to the browser. Explicit
server overrides still take precedence.
Package surfaces
The component vocabulary stays value-first across frameworks:
<Text value={article.title} as="h1" />, <Image value={article.cover} />, and <RichText value={article.body} />.
<Date> and <DateTime> both render a <time> element and are available in
all four surfaces. Use <Date> for a date field, where the datetime
attribute is the calendar day, and <DateTime> for a datetime field, where it
is the full ISO instant.
Update Fimo packages
Keepfimo and its framework packages on the same exact version. Do not edit their versions directly in package.json. Run the latest CLI with the exact target version:
- npm
- Bun
- pnpm
- Yarn
--dry-run to inspect without changing anything, or --apply to run non-interactively. The command needs a clean git working tree, installs with your project’s package manager, runs fimo validate afterwards, and never commits, deploys, or publishes on its own.
The update adds missing framework packages before it rewrites imports. For
example, a Next.js project missing fimo-next receives fimo-next and
fimo-react at the target version before fimo/next imports move to
fimo-next.
React and Next.js projects pinned to a release from before framework packages
were split remain supported. The current CLI generates content clients against
their existing fimo/ui or fimo/next runtime, without installing
fimo-react or fimo-next or changing the project’s Fimo version. The
companion becomes required only after you update to a release that uses the
split packages.
Compatibility
The framework profile selects the integration; it does not promise every historical framework version. Current package ranges and tested baselines are:
Nuxt, Remix, and Vue currently have hosting detection only; they do not yet
have a Fimo content/runtime adapter.
What’s next
Content & CMS
Declare schemas and use generated content clients.
Locales
Connect Fimo to the application’s locale policy.
Deploy & publish
Preview the application and publish it.