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.
Install
Section titled “Install”pip install mixlar-sdkThat 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:
python -m mixlar_cliBoth invocations are identical in behavior.
The branded menu
Section titled “The branded menu”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.
mixlar-sdkSet 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.
NO_COLOR=1 mixlar-sdk validateFor a specific command’s flags, pass -h after the command name:
mixlar-sdk create -hmixlar-sdk emulate -hCheck the version
Section titled “Check the version”mixlar-sdk --versionCommands
Section titled “Commands”| 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) |
A typical loop
Section titled “A typical loop”-
Scaffold a package:
Terminal window mixlar-sdk create "My Plugin" --template fullcd my_plugin -
Lint it:
Terminal window mixlar-sdk validate -
Preview the widget without hardware:
Terminal window mixlar-sdk emulate --render preview.png -
Generate a signing key (once) and build a signed package:
Terminal window mixlar-sdk keygen --key-id my-keymixlar-sdk pack --sign my-key -
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:
create— the scaffolding wizard and template flagsvalidateandemulate— linting and the headless mock devicepack,sign,verify,keygen,publish— trust and distribution
If you’re new to the SDK entirely, start at Getting started.