Skip to content

CLI overview

The mixlar-sdk command line tool is how you scaffold, test, sign, and ship plugins for Mixlar Control and the M1X. It’s the same code the desktop app uses internally, so what you validate and emulate here behaves exactly like it will on a real device.

Terminal window
pip install mixlar-sdk

That installs the mixlar-sdk console script. You can also run it in place without installing, which is handy before pip install -e . or in CI:

Terminal window
python -m mixlar_cli

Both invocations are identical in behavior.

Run mixlar-sdk with no arguments (or -h/--help at the top level) and you get a branded launch screen listing every command, rather than a bare argparse usage dump. In a color-capable TTY it animates a short intro first.

Terminal window
mixlar-sdk

Set NO_COLOR (any value) to disable ANSI colors — the menu and every command’s output fall back to plain text. This is respected everywhere the CLI prints [ok] / [warn] / [error] style status lines, so it’s safe to export in CI logs.

Terminal window
NO_COLOR=1 mixlar-sdk validate

For a specific command’s flags, pass -h after the command name:

Terminal window
mixlar-sdk create -h
mixlar-sdk emulate -h
Terminal window
mixlar-sdk --version
command what it does
create scaffold a new plugin package from a template (macro, slider, widget, full)
validate lint plugin.json and every bundled widgets/<id>/widget.json
link copy (or symlink) a package into the app’s plugins directory
dev validate + link once, then watch the folder and re-sync on save
emulate run a package against a headless mock device — render a PNG or drive it interactively
pack zip a validated package into a .mixplugin, optionally signing it first
sign sign a package in place with a publisher key
verify check a package’s signature against the pinned publisher keyset
keygen generate an ed25519 publisher keypair
publish upload a .mixplugin to the marketplace (currently a stub until the endpoint ships)
  1. Scaffold a package:

    Terminal window
    mixlar-sdk create "My Plugin" --template full
    cd my_plugin
  2. Lint it:

    Terminal window
    mixlar-sdk validate
  3. Preview the widget without hardware:

    Terminal window
    mixlar-sdk emulate --render preview.png
  4. Generate a signing key (once) and build a signed package:

    Terminal window
    mixlar-sdk keygen --key-id my-key
    mixlar-sdk pack --sign my-key
  5. Copy it into the app’s plugins directory:

    Terminal window
    mixlar-sdk link

For active development, mixlar-sdk dev replaces the validate/link steps with a single command that watches your package folder and re-syncs on every save — see the individual command pages for details:

If you’re new to the SDK entirely, start at Getting started.