Skip to main content

What This Package Is

@elata-biosciences/create-elata-demo is a CLI scaffolder that generates ready-to-run Elata web apps. Use it when you want a clean scaffolded app or a consumer-facing reference project.

When To Use It

Use this package when you want:
  • the fastest path to a working Elata app
  • a reference project that matches the published package surface
  • a known-good baseline before integrating packages into an existing app
Do not start with repo-internal demos when this package already covers your use case.

Templates

The scaffolder exposes three user-facing app starters:
TemplateDescription
rppg-demoReact + Vite rPPG starter app
eeg-demoReact + Vite EEG starter app with synthetic data and browser EEG wiring
eeg-bleMuse-compatible EEG starter with Chrome or Bluefy-on-iOS Web Bluetooth guidance
Short aliases are also supported:
AliasResolves to
rppgrppg-demo
eegeeg-demo
bleeeg-ble
bleeeg-ble

Install And Invocation

This package is usually invoked without installing it permanently:
pnpm create @elata-biosciences/elata-demo my-app
pnpm dlx @elata-biosciences/create-elata-demo my-app

List Available Templates

pnpm dlx @elata-biosciences/create-elata-demo -- --list-templates

# Interactive template chooser
pnpm create @elata-biosciences/elata-demo my-app

# rPPG starter app (alias)
pnpm create @elata-biosciences/elata-demo my-app -- --template rppg

# EEG starter app
pnpm create @elata-biosciences/elata-demo my-app -- --template eeg-demo

# EEG starter app (alias)
pnpm create @elata-biosciences/elata-demo my-app -- --template eeg

# EEG starter app with BLE alias
pnpm create @elata-biosciences/elata-demo my-app -- --template eeg-ble

# Short BLE alias
pnpm create @elata-biosciences/elata-demo my-app -- --template ble
When the CLI is run interactively without --template, it prompts you to pick a template. In non-interactive runs, it falls back to rppg-demo. If you omit the project directory, the CLI also prompts for the project name.

What You Get

Each generated app includes:
  • a minimal Vite + React app shell
  • Elata packages pinned to a compatible set of versions
  • a template-specific README.md
  • a build script that type-checks and runs vite build
After scaffolding:
cd my-app
pnpm install
pnpm run dev

What Happens Behind The Scenes

The scaffolder binary:
  1. Prompts for the app type first when running interactively without --template
  2. Prompts for projectName when missing
  3. Validates the selected starter name
  4. Copies the chosen template into the target directory
  5. Renames _gitignore to .gitignore
  6. Rewrites placeholders like __APP_NAME__ and package-version placeholders

Workspace Caveat

If you scaffold a new app inside another pnpm workspace and that app is not added to the workspace globs, run this from the parent directory:
pnpm --dir my-app --ignore-workspace install
pnpm --dir my-app --ignore-workspace run dev

Repo Verification

The package is tested from the repo with:
pnpm --dir packages/create-elata-demo test
./run.sh test create-elata-demo
The second command also smoke-tests each template by scaffolding, installing dependencies, and running a build.

When To Use The Scaffolder vs. Examples

If you want…Use
A clean, self-contained scaffolded app with pinned depscreate-elata-demo
A full product-shaped reference with routing, game loops, and chartsExample Apps
To modify the SDK itselfIn-repo dev demos (eeg-demo/, packages/rppg-web/demo/)

Next

Build Your First App

Scaffold and run a starter app

Choose A Package

Package decision guide

Example Apps

Full reference implementations