schema init
Fetches the current schema of a Storyblok space and writes it as TypeScript files using @storyblok/schema helpers. This is a one-time bootstrap step for adopting an existing space in code.
The command generates one file per block, one file per datasource, an aggregate folders.ts for component groups, and a root schema.ts that wires everything into a single exported schema object. Blocks are mirrored into subdirectories that follow their component group hierarchy:
.storyblok/└── schema/ ├── blocks/ │ ├── <block-name>.ts │ └── <group-slug>/ │ └── <block-name>.ts ├── datasources/ │ └── <datasource-slug>.ts ├── folders.ts └── schema.tsAfter bootstrapping, treat the local files as the source of truth and use schema push for further changes.
Prerequisites
Section titled “Prerequisites”- The
@storyblok/schemapackage must be installed in the target project:npm install @storyblok/schema.
storyblok schema init [flags]| Flag | Type | Description |
|---|---|---|
--space, -s |
integer | Required. The ID of the Storyblok space to read the schema from. |
--out-dir |
string | Optional. Output directory for generated files. Defaults to .storyblok/schema. |
Examples
Section titled “Examples”The following examples assume that a space has been defined in a configuration file.
# Bootstrap a local TypeScript schema from a spacestoryblok schema init# Bootstrap into a custom output directorystoryblok schema init --out-dir src/schemaWas this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window).Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community