> ## 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.

# Work on your project locally

> Bring a project that already lives in Fimo onto your machine, run it with your coding agent, and push changes back.

Every Fimo project has its own repository, whether it started in Studio or from the CLI. One command brings it onto your machine with dependencies installed and your coding agent ready. Studio shows that command behind the **Clone** button in the project header, filled in for the open project and Branch, so you can copy it or open it straight in Claude Code, Codex, Cursor, or Copilot.

<Steps>
  <Step title="Sign in">
    You do not need a global install:

    ```bash theme={null}
    npx fimo@latest login
    ```
  </Step>

  <Step title="Set up the project on your machine">
    Pass the project ID. Studio shows it in the ready-made command; `npx fimo@latest projects list` prints it too.

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

    The command works whatever state the project is in. If the project already has code, it clones the repository into `my-site`. If the project was created in Studio and never deployed, it scaffolds a fresh site into that folder and pushes the first commit. Either way it installs dependencies and offers to connect your coding agent.

    To start from a Branch other than `main`, add `--branch <name>`.

    <Note>
      Only members with manage access to the project can set it up locally. Ask a project admin for access if the command
      is refused.
    </Note>
  </Step>

  <Step title="Run it">
    Move into the folder and start the framework's own dev server with the package manager that matches the lockfile:

    ```bash theme={null}
    cd my-site
    pnpm dev
    ```

    Use `npm run dev`, `yarn dev`, or `bun dev` if the project uses that package manager instead. There is no `fimo dev`: the site runs exactly as it would without Fimo, and connects to the project through `.fimo/project.json` and the active git branch.
  </Step>

  <Step title="Work with your coding agent">
    The project ships with `AGENTS.md` and `CLAUDE.md`, which point the agent at the Fimo instructions it needs. If you skipped the skills step during setup, or a teammate uses a different tool, follow [Set up your coding agent](/docs/ai/connect-agents).
  </Step>

  <Step title="Push your work back">
    When a change is ready for review, deploy it to Preview:

    ```bash theme={null}
    npx fimo@latest deploy -m "feat: update the homepage"
    ```

    Fimo commits pending changes, pushes them, and returns Preview and Studio links. Publishing to production is a separate, deliberate step. See [Deploy and publish](/docs/deploy/overview).
  </Step>
</Steps>

## Code only, without installing

To fetch the repository and link the folder without installing dependencies, use `fimo clone`:

```bash theme={null}
npx fimo@latest clone <projectId> [directory]
```

It stops if the project's repository has no commits yet. In that case use `fimo init --project-id` as shown above, which scaffolds and pushes the first commit.

## Already have the folder?

If the application is already on your machine and you want to connect it to a project without replacing its code, use `fimo link` from the folder. See [Projects and onboarding](/docs/cli/projects).

## What's next

<Columns cols={3}>
  <Card title="Set up your coding agent" icon="plug" href="/docs/ai/connect-agents">
    Give the agent Fimo skills and the rules for this project.
  </Card>

  <Card title="Work in Branches" icon="code-branch" href="/docs/environments/overview">
    Propose changes in isolation and merge them when they are ready.
  </Card>

  <Card title="Deploy and publish" icon="cloud-arrow-up" href="/docs/deploy/overview">
    Move from a hosted Preview to production on your terms.
  </Card>
</Columns>
