Common options
webstorio init
<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
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
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
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).
webstorio generate
.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
sign in if needed, approve the CLI on a consent screen, and a token is
stored securely. Requires @webstorio/cli 0.2.0 or newer (older clients
cannot complete the code-exchange login flow).
For CI, set WEBSTORIO_CLI_TOKEN to a token minted via webstorio login.
Tokens expire on the same schedule as dashboard sessions; revoke them from
Profile → CLI tokens or with webstorio logout.
webstorio logout
Revoke the current CLI token on the server and remove the stored token from
this machine.
webstorio status
push, schema push, schema pull, or schema push --prune). See
Deploying.
For line-by-line patches of pages, components, and effective config settings,
use webstorio diff.
webstorio diff
webstorio.config.ts settings that push
syncs (name, description, features, branding). Unchanged items are summarized.
Remote does not store the TypeScript config file itself — the config section is
a normalized JSON snapshot of those syncable fields, not comments or local
pages: / components: paths.
diff is read-only. Use status for a compact change
list, then diff when you want to inspect the patch before
push.
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. After sync, the CLI prints the public
website URL so you can open it directly.
