Skip to main content

Common options

webstorio init

Scaffold a new project into <directory>: webstorio.config.ts, package.json, tsconfig.json, styles.css (Tailwind), a pages/home.tsx, components/_header.tsx + components/_footer.tsx, plus a README.md and .gitignore. The directory is created if missing, and existing files are never overwritten. The directory name seeds the default project name and subdomain.

webstorio update

Scan every page and component, resolve each first-class library to the version the server compiles against (the compatibility manifest), write them into package.json devDependencies, and install. Existing first-class versions are realigned. Other installed packages are left alone and still bundled into pages on push when imported. The package manager is detected from packageManager in package.json or a lockfile (pnpm-lock.yaml, yarn.lock, bun.lockb, package-lock.json), defaulting to npm.

webstorio dev

Start the local preview server with file watching and live reload. Fully offline in empty, dummy, and local modes. See Local development for details on data modes.

webstorio schema

Manage feature schemas under schemasDir (requires schemasDir in config). Enable the matching website features (content, form_and_survey, app_data) before syncing definitions for that kind. How-to: Feature schemas.

webstorio seed

Upload fixtures from dev.fixturesDir into the remote project. Supports CSV and JSON layouts described in Local development. Syncs assets/ first and rewrites image paths/filenames to hosted URLs. Not part of push. Existing content entries (by slug), categories (by key), and App Data rows that hit unique constraints are skipped (no upsert yet).
Push schemas (and enable features) before seeding so content types / tables exist.

webstorio generate

Scaffold local feature pages that mirror the dashboard create-page flows (CMS, forms, store, auth). Writes .tsx modules under pages/, enables the matching feature flag, and registers routes in webstorio.config.ts. This does not call remote create-page APIs — preview with webstorio dev and sync with webstorio push. Existing slugs / files are skipped. Define matching schemas under schemas/ (or the dashboard) for CMS and forms before or after generating pages.

webstorio login

Authenticate the CLI through your browser. The CLI opens a Webstorio URL, you approve, and a token is stored securely (OS keychain when available, otherwise a 0600 file under ~/.webstorio/).

webstorio logout

Revoke the current CLI token on the server and remove the stored token from this machine.

webstorio status

Show the project, login state, and a read-only diff against the remote (changed pages, components, assets, and schemas). Unchanged items are summarized on one line. See Deploying.

webstorio push

Compose every page and component and sync them to your Webstorio project. The project is resolved by the subdomain in your config and created automatically if it doesn’t exist yet. Before syncing, push always runs the project’s lint and typecheck scripts (from package.json) and aborts if either fails. Output reports only what changed, grouped by pages, components, assets, features, branding, and schemas (created, updated, or error). Unchanged items are summarized on one line.