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)
name-check check whether a plugin id is available in the registry
validate lint plugin.json, bundled widgets, and permissions vs. actual capability use
scan static security scan — capabilities used and risky code, checked against declared permissions
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
login sign in to your mixlar.net account (required to publish)
agree read & accept the developer agreement (no-malware pledge)
bump bump the plugin version (patch/minor/major or --set), optionally --publish
publish submit a plugin to the Mixlar registry (review, then signed & listed)
  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.