Skip to content

Getting Started

Prerequisites

  • Node.js >=20
  • pnpm >=10

Install

bash
pnpm install

Run the platform

The fastest way to get everything running:

bash
pnpm run favn

This interactive command walks you through local development and publishing with keyboard-friendly prompts.

Or run directly:

bash
# Local development (full host + all features)
pnpm run dev

# Standalone feature HMR
pnpm run dev -- --feature dashboard

# Publish a feature to CDN
pnpm run publish -- --feature feature-dashboard

Equivalent explicit forms via favn:

bash
pnpm run favn -- --action dev
pnpm run favn -- --action dev --feature dashboard
pnpm run favn -- --action publish --feature feature-dashboard

pnpm run flow remains available as a compatibility alias.

Operator channel moves and rollback are handled in the Admin UI (/_admin). Use CLI channel commands only as an explicit fallback:

bash
pnpm run channel:fallback -- --feature feature-dashboard --version 1.0.1 --to stable

What you'll see

After starting, open these URLs:

URLWhat it shows
http://localhost:3000/_adminAdmin dashboard — loaded features, versions, signatures, routes
http://localhost:3000/_examplesSource-to-route mapping for all example features
http://localhost:3000/dashboardExample feature: Dashboard
http://localhost:3000/referenceExample feature: SDK reference (event bus, store, server functions)

Create your first feature

bash
pnpm run create-feature my-feature

This scaffolds a complete feature project in examples/feature-my-feature/ with manifest, Vite config, server functions, and publish script.

Then develop with hot-reload:

bash
pnpm run dev:feature examples/feature-my-feature

How features reach the host

examples/* are source projects. The host never serves source directly.

  1. pnpm run build produces client + server bundles.
  2. pnpm run publish:local signs and copies artifacts into artifacts/feature-*/<version>/.
  3. Host discovers artifacts, route-mounts featureType: domain features, and exposes featureType: facet features through the SDK module registry.

Next steps