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. When you first create a Fimo account, Studio opens a guided Welcome project. It is a working tutorial you can edit, preview, and explore before connecting your own code.

Create a project

The interactive setup signs you in, creates the project, 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 npm, pnpm, Yarn, or Bun. Select one explicitly when you do not want the prompt:
Commit the selected lockfile. If the project 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 projects. 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 project. It does not replace your application or change its framework. To clone a Fimo project 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 project in Fimo to a running local site, follow Work on your project locally.

Move a project to another organization

Run this from the project directory, or pass the project ID explicitly:
--to accepts an organization ID or slug. You need full access on the project 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 project 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 project invites are revoked, and you keep full access. When you run the command inside the project, .fimo/project.json is updated to the new organization.
Integrations do not move with the project. A connection is an agreement between a provider and the organization that made it, so the transfer disconnects every integration on the project and deletes its stored credentials before the project changes hands. Reconnect them in the new organization afterwards.
While the transfer is running, Fimo Studio and other CLI actions for that project return a temporary project_transfer_in_progress error. Retry after the transfer finishes. An expired transfer automatically stops blocking the project. Some state cannot follow a project 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 project 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.