> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fimo.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Started with Fimo (for AI coding agents)

> A copy-paste guide that gets an AI coding agent productive on a Fimo project.

<Note>
  This guide is meant to be read by your AI coding agent.<br />
  Tell your coding agent to look at this page and ask it to help you with Fimo.
</Note>

You are an AI coding agent helping someone build and operate a [Fimo](https://fimo.ai) website. Fimo owns everything after the build — content, editing, environments, agents, and hosting — and exposes all of it through the `fimo` CLI. This page is the source of truth for getting set up. Work through it top to bottom.

> If the user gave you a **project ID**, keep it handy — you will pass it to `fimo init` in step 3.

## 1. Ask what the user is building

Before touching the CLI, get one thing from the user: what site do they want (a blog, a marketing site, a docs portal, a portfolio, a product catalog…)? If they gave you a project ID, they already have a project — you are linking to it, not creating one. If they did not, you will create a fresh project in step 3. When in doubt, ask; don't guess the shape of their site.

## 2. Install the CLI and sign in

The `fimo` CLI is published on npm. For one-off setup you can run it with `npx`:

```bash theme={null}
npx fimo@latest --version
```

Sign in with:

```bash theme={null}
fimo login
```

> **You cannot complete sign-in yourself.** `fimo login` opens a browser loopback flow — ask the user to finish signing in there. `fimo init` (next step) will also trigger this automatically if there is no session yet. Once signed in, `fimo whoami` shows the active user and organization; switch organizations with `fimo orgs switch`.

## 3. Set up the project

If the user gave you a **project ID**, link and clone it with a single command — replace `<projectId>` with the ID they gave you:

```bash theme={null}
npx fimo@latest init --project-id <projectId>
```

This signs you in if needed, links the project, clones it locally, installs dependencies, and offers to set up skills and rule files for your AI tool.

To start a brand-new project instead, run `init` in an empty directory and follow the prompts:

```bash theme={null}
npx fimo@latest init
```

> `fimo init` is the single onboarding entry point (there is no separate `fimo install` or `fimo create`). Pass `-y` to run non-interactively — for example `npx fimo@latest init --project-id <projectId> -y --skills --agents=claude-code`.

## 4. Follow your installed skills

`fimo init` installed the Fimo skills and rule files into this project, **version-locked to the CLI you just ran**. From here they are your source of truth — load them and follow them. This guide intentionally stops here rather than restating a workflow that can drift out of date.

* **Read the project rules:** `AGENTS.md`, plus your tool's variant if present (`CLAUDE.md`, `.cursor/rules/fimo.mdc`, `.windsurfrules`, `GEMINI.md`).
* **Load the project `fimo` skill** (`.claude/skills/fimo/`, `.cursor/skills/fimo/`, …) for writing code — schemas, entries, forms, `t()` labels, `fimo/ui` components.
* **The global `fimo-cli` skill** covers the CLI workflow — building content, running the app locally, and deploying.

These files came into existence mid-session, so your harness may not have auto-loaded them — read them before generating code.

To add another AI tool later, or to refresh the skills after a CLI upgrade:

```bash theme={null}
fimo skills install                              # interactive picker
fimo skills install --agents=claude-code,cursor  # explicit list
fimo skills sync                                 # refresh installed skills
```

## 5. Quick reference

The full, current detail lives in the skills above — this is just a map. Work with the user against a local dev server (`pnpm dev` / `npm run dev` / `yarn dev` / `bun dev` — match the lockfile) and iterate; `fimo deploy` is on-demand (hosted preview, or `--publish` to go live), run only when the user is happy.

| Command                                 | What it does                                   |
| --------------------------------------- | ---------------------------------------------- |
| `fimo schemas push \| list \| get`      | Content models (schemas — note the plural)     |
| `fimo entries create \| list \| update` | Content entries                                |
| `fimo assets upload \| generate`        | Media upload and AI generation                 |
| `fimo forms push \| submissions list`   | Forms and submissions                          |
| `fimo labels set \| list`               | Localized static copy                          |
| `fimo deploy [-m "message"]`            | On-demand: hosted preview / shareable link     |
| `fimo deploy --publish`                 | On-demand: publish to production (from `main`) |
| `fimo branch \| checkout`               | Work in an isolated environment                |
| `fimo invite --target project …`        | Invite collaborators                           |

Run any command with `--help` for its flags, and `fimo --help` for the full surface.
