Skip to main content
Use fimo init for a new site. Use fimo link when you already have an application and want to keep its code and Git history.

Create a site

The interactive setup signs you in, creates the site, asks for a framework and package manager, installs dependencies, and can set up Fimo skills for your coding agent. Next.js App Router is the default. You can choose React Router, Vite with React, Astro, or SvelteKit:
--framework react-router selects Fimo’s canonical React Router template. The default Next.js shell is also React-based, but uses the Next.js App Router. See Frameworks before choosing an integration.

Choose a package manager

The setup can use pnpm, npm, Yarn, or Bun. The tabs in the create-site command pass the matching --package-manager value, so setup does not need to ask again. Omit the option when you want the interactive picker. Commit the selected lockfile. If the site has no lockfile, set an exact packageManager value in package.json. fimo validate reports missing or conflicting package-manager signals before a deploy. Fimo currently supports pnpm 11.x and earlier for publishable sites. fimo validate rejects pnpm 12 or newer. Pin an exact supported version, reinstall dependencies, and commit the updated lockfile before deploying.

Connect an existing application

Run this in the application’s root directory:
The command links the folder to a new or existing Fimo site. It does not replace your application or change its framework. To clone a Fimo site that already has code, use:
fimo clone fetches the code and links the folder, but does not install dependencies. For the full path from a site in Fimo to a running local site, follow Work on your site locally.

Move a site to another organization

Run this from the site directory, or pass the site ID explicitly:
--to accepts an organization ID or slug. You need full access on the site and admin or owner access in both organizations, and the destination organization needs an active plan: your personal organization qualifies on Free, a team organization needs a paid plan. The site keeps its ID, code, content, history, domains and URLs. Idle and paused agents move with it, keeping their definitions, paused state, schedules and webhook URLs. New runs belong to the destination organization; past runs and charges remain with the previous organization. Everyone who had access through the previous organization loses it, pending site invites are revoked, and you keep full access. When you run the command inside the site, .fimo/project.json is updated to the new organization.
Integrations do not move with the site. A connection is an agreement between a provider and the organization that made it, so the transfer disconnects every integration on the site and deletes its stored credentials before the site changes hands. Reconnect them in the new organization afterwards.
While the transfer is running, Fimo Studio and other CLI actions for that site return a temporary project_transfer_in_progress error. Retry after the transfer finishes. An expired transfer automatically stops blocking the site. Some state cannot follow a site across organizations, so the transfer is refused until you clear it: Add the global --json flag for the machine-readable result. A refusal is reported as error.code with the API’s own reason in error.details.reason:

Continue building

After setup, enter the site and use its selected package manager:
Your coding agent should read AGENTS.md, then load the fimo-code skill before changing content models, forms, or framework integration. For non-interactive setup and all available flags, see the CLI reference.

What’s next

Add content

Create editable page and collection content.

Add a form

Collect and review submissions.

Set up your coding agent

Connect a coding tool to Fimo on this machine.