Skip to main content
Use feature schemas to keep Content & CMS types, Form & Survey forms, and App Data tables in your repo — then sync them with the CLI.

Enable schemas in config

Set schemasDir in webstorio.config.ts (relative to the config file):
Enable the matching website features before syncing that kind (content, form_and_survey, app_data).

Folder layout

Each *.json file is one definition, upserted by key.

File shape

Forms may also use the dashboard export shape:
Full schemasDir notes: Configuration.

Commands

--prune (and webstorio push --prune-schemas) deletes remote schemas whose keys are not present locally — use carefully. Options reference: webstorio schema.

How this fits with push

When schemasDir is set:
  1. webstorio push syncs pages/components/features/branding as usual.
  2. Then it upserts local schemas (unless you manage them only with webstorio schema push).
When schemasDir is absent, remote CMS / form / App Data definitions are left unchanged. webstorio status also diffs schemas when schemasDir is set — see Deploying.

Typical workflow

  1. Enable features and set schemasDir: "schemas".
  2. npx webstorio schema pull (or author JSON files by hand).
  3. Edit fields locally; npx webstorio schema diff to review.
  4. npx webstorio schema push — or include schemas in a normal npx webstorio push.
Page code still reads live data through the Client SDK (getContentEntries, getFormSchema, App Data methods, and so on).