Miravo

Custom Content

Fork built-in models and templates, shadow them locally, and run your own registry content.

Fork built-in content when you need a local starting point. Write from scratch when your plant, members, or lifecycle model diverge from the built-in catalog.

Technical details

Know the resolution order

centrifugal-pump.twin.yaml
my-plant.miravo.yaml

Miravo resolves content in this order: working directory, local registry, then built-in catalog. Higher layers shadow lower layers by name.

Fork built-in content into the local registry

Create the first local copy with miravo fork model.

miravo fork model centrifugal-pump

Overwrite an existing local copy.

miravo fork model centrifugal-pump --force

Copy the template and its referenced models with miravo fork template.

miravo fork template smart-factory

Copy only the referenced models.

miravo fork template smart-factory --models-only

Run local files directly

miravo start validates and boots a local template.

miravo start --template ./my-plant.miravo.yaml --dry-run
miravo start --template ./my-plant.miravo.yaml

Set MIRAVO_HOME to move the local registry and persisted state under another base directory.

MIRAVO_HOME=/data/miravo miravo start --template ./my-plant.miravo.yaml

Local shadowing is exact-name shadowing. If you fork centrifugal-pump.twin.yaml, that local file wins over the built-in model with the same name.

Reference

Path or commandNotes
~/.miravo/registry/local/models/Local .twin.yaml registry
~/.miravo/registry/local/templates/Local .miravo.yaml registry
miravo fork model <name>Copy one built-in model into local registry
miravo fork template <id>Copy one template and its referenced models
miravo start --template <path> --dry-runValidate local content without starting
MIRAVO_HOMEMove registry and persisted state under another base directory

Was this page useful?

Last updated on