# Quickstart

From zero to a Fayz app running in your browser in five minutes. You install the CLI, generate an admin app, install dependencies, start the dev server and see the thing work — all in mock mode, without setting a single environment variable.

## Prerequisites

- **Node ≥ 20** and **npm** (they come together). Check with `node -v`.
- A **Supabase** account — **optional**, only for the last step, when you want to swap the mock for real data. For the quickstart itself, Node is all you need.

## 1. Install the CLI

```bash
npm i -g @fayz-ai/cli
```

Confirm it worked with `fayz --version`.

## 2. Create the app

```bash
fayz create admin my-app
```

This generates a `my-app/` project — an admin app with the dashboard plugin already enabled, pointed at caret (`^`) ranges of a coherent set of `@fayz-ai/*` packages — the `stable` channel — and running in mock mode. The command doesn't install anything or start a server: it just writes the files and tells you the next steps.

## 3. Install and start the dev server

```bash
cd my-app
npm install
npm run dev
```

{% callout type="tip" %}
**Checkpoint.** Open `http://localhost:5173`. The app boots in **mock mode**: sample data, simulated auth, **zero env**. You can navigate the shell, open plugins and see real screens without touching Supabase. This is the starting point for every Fayz app — and it's where you customize theme, plugins and content before you even think about a backend.
{% /callout %}

Consuming the packages in code and want populated screens? Mock providers start out empty — see [Mock and sample data](/en/docs/apps/mock-and-sample-data) for the seed seams.

## What you just built

A complete Fayz app, described by `app.manifest.json`: the admin shell, the navigation, and the dashboard plugin — all rendered by the runtime from that manifest. Customizing from here is mostly editing the manifest: rename the app, change the theme, turn on more plugins. No rewriting screens.

## Next step

The tutorial takes this same app from the first command all the way to deploy — theme, plugins, real data and a plugin of your own — in seven steps.

{% cards %}
{% card title="Tutorial · 01 · Create the app" href="/en/docs/tutorial/01-create-the-app" icon="🧭" %}
Start the guided journey from zero to live.
{% /card %}
{% card title="The two paths" href="/en/docs/two-paths" icon="🍴" %}
Confirm the Fayz App is really what you want (vs. Headless).
{% /card %}
{% card title="Real data with Supabase" href="/en/docs/data/supabase" icon="🗄️" %}
For when you're ready to leave mock behind.
{% /card %}
{% /cards %}
