Skip to main content
Push a config schema to Miru.

Requirements

  • The schema file must be committed to a local Git repository
  • The Git repository must have a remote URL (GitHub, GitLab, Bitbucket, etc.) configured
  • The schema must be annotated with its config type (see annotations below)

Usage

miru schema push PATH
Arguments
PATH
string
required
The relative or absolute file system path of the schema file to push.
Flags
--language, -l
string
The language the schema is written in. The language is auto-detected but may be overridden with this flag if needed.Examples: jsonschema, cue

Annotations

config type
required
The config type is a required annotation that identifies the config type to which a schema belongs. Below is the syntax for annotating your schema with the config type slug.
x-miru-config-type: "{config-type-slug}"
Examples: mobility, safety-features, perception
instance file path
The instance file path is the file system location that config instances (for this schema) are deployed to relative to the /srv/miru/config_instances directory.This annotation is optional and defaults to {config-type-slug}.json, which deploys config instances to /srv/miru/config_instances/{config-type-slug}.json on a given device.
x-miru-instance-filepath: "{instance-file-path}"
Examples: /v1/mobility.json, /safety.json, configs/perception.json

Examples

If the schema content does not match any existing schemas, a new schema is created.
command
$ miru schema push communication.yaml
🔍 Collecting Git Info...
    commit: df48a89cc19751f84cfbdc5908896235418a6719
    origin: [email protected]:mirurobotics/getting-started.git
    file path: jsonschema/communication.yaml
    message: refactor: drop watchdog timeout from 5s to 2s

🟢 communication SCH-9Kd4W successfully created
    language: jsonschema
    format: yaml
    created: Nov 20, 2025 at 3:45 PM PST
    instance file path: /communication.json