fayzfayz sdk
PTEN

01 · Create the app

Generate the project with the CLI, install the dependencies and run it in mock mode. By the end of this step you have a Fayz app opening in your browser — with no environment variables to configure.

Generate the project

The CLI creates a repo-per-app project. The shape is fayz create <type> <name>, where the type is storefront, admin or member and the name is kebab-case. Run it with npx so you don't install anything globally:

npx @fayz-ai/cli create admin my-store

Exact output:

✓ Created admin app "my-store"

  cd my-store
  npm install
  npm run dev

The command has no flags — it prints the manual next steps instead of running them.

Install and run

Follow the three steps the CLI printed:

cd my-store
npm install
npm run dev

The app is a Vite project. The dev server starts on http://localhost:5173.

✓ You should see: Vite announcing Local: http://localhost:5173/ in the terminal and, when you open the URL, the app's initial screen with the name my-store. No env was needed — the backend is in mock mode.

For sample data when consuming the packages in code (mock providers start out empty), see Mock and sample data.

What got generated

The command creates a small, readable app. Every file has a job:

FileWhat it's for
app.manifest.jsonThe app config: surfaces, plugins, theme, locale and backend.provider. The file you'll edit most.
src/main.tsxEntry point. Mounts the app from the manifest.
src/plugins.generated.tsMaps the manifest's plugins to the platform factories (generated — don't edit by hand).
src/registry.tsxYour custom code: your own blocks, pages and components.
src/lib/fayz-runtime.tsThe app runtime (see note below).
vite.config.ts · index.html · tsconfig.jsonStandard config for a Vite + React app.
.env.exampleTemplate for the Supabase variables — you copy it to .env.local in step 05.
AGENTS.mdA guide for AI agents (or humans) working on the app — an open standard, not tied to any vendor.

Today the local app renders an anchor screen that confirms the manifest wiring; the full runtime (shell, navigation, plugin screens) is provided by the Fayz platform. The manifest edits in the next steps are the real configuration that runtime consumes — which is why this whole tutorial is driven from app.manifest.json.

Leave npm run dev running: the next steps edit the manifest and you reload the page to see the effect.


Next: 02 · Explore the anatomy →