Skip to content

Migration

The specification is versioned, and PO9 keeps a compatibility promise: a skin built for one format version keeps working. When you’re ready to adopt newer features, migrate.

There is only one format version (schemaVersion: 1), so nothing needs migrating yet. Additive changes (new optional --dream-* tokens) never require migration — a v1 skin stays valid. When you edit a skin, re-run the Validator to confirm it’s still valid:

Terminal window
npx po9-skin validate ./my-skin

A migrate command that rewrites schemaVersion and applies mechanical token changes (with a --dry-run preview) is planned for the first breaking format bump. It doesn’t ship in the Creator Kit yet.

  • Backward-compatible changes (new optional tokens) never require migration.
  • Breaking changes only land on a new format version (schemaVersion: 2) and always ship a migrator. See Versioning.