isostate Get started →

Use The CLI

Use @sebastianwessel/isostate-cli when you want repeatable build-time checks for .isostate.yaml files, compiled runtime bundles, or static website output. The CLI is dev-time tooling. Do not ship it to the browser.

Run Without Installing

bunx --package @sebastianwessel/isostate-cli isostate validate scene.isostate.yaml
bunx --package @sebastianwessel/isostate-cli isostate compile scene.isostate.yaml --out public/scene.isostate.js
bunx --package @sebastianwessel/isostate-cli isostate inspect public/scene.isostate.js

The same commands work with npx:

npx --package @sebastianwessel/isostate-cli isostate validate scene.isostate.yaml

Install In A Project

npm install --save-dev @sebastianwessel/isostate-cli

Then call the isostate binary from package scripts or CI:

isostate validate scene.isostate.yaml
isostate compile scene.isostate.yaml --out public/scene.isostate.js
isostate bundle scene.isostate.yaml --out public/isostate/scene
isostate inspect public/isostate/scene/scene.isostate.js

Commands

validate

Checks YAML syntax, scene schema, semantic references, asset declarations, routes, layers, and lifecycle deltas.

bunx --package @sebastianwessel/isostate-cli isostate validate scene.isostate.yaml

Use this as the fastest CI check for authored YAML.

compile

Compiles a YAML scene into a browser-loadable runtime bundle. Use JavaScript output when you want direct import usage.

bunx --package @sebastianwessel/isostate-cli isostate compile scene.isostate.yaml \
  --out public/scene.isostate.js

Use JSON output when your app loads scene data separately:

bunx --package @sebastianwessel/isostate-cli isostate compile scene.isostate.yaml \
  --out public/scene.isostate.json \
  --format json

bundle

Writes deployable static output: the standalone browser runtime, compiled scene bundle, copied referenced assets, and a manifest with digests.

bunx --package @sebastianwessel/isostate-cli isostate bundle scene.isostate.yaml \
  --out public/isostate/scene \
  --asset-dir assets/isostate \
  --public-asset-base ./assets

See Deploy Static Bundle for the full output layout and runtime boundary.

inspect

Reads a compiled bundle and prints metadata such as format, version, digest, scene count, layers, assets, and floor size.

bunx --package @sebastianwessel/isostate-cli isostate inspect public/scene.isostate.js
bunx --package @sebastianwessel/isostate-cli isostate inspect public/scene.isostate.json

Use this in troubleshooting when a deployed page loads a stale or unexpected bundle.

CI Pattern

bunx --package @sebastianwessel/isostate-cli isostate validate scene.isostate.yaml
bunx --package @sebastianwessel/isostate-cli isostate compile scene.isostate.yaml --out public/scene.isostate.js
bunx --package @sebastianwessel/isostate-cli isostate inspect public/scene.isostate.js

For static sites, prefer bundle over hand-copying files.