Native plugins

Build, verify, inspect, install and remove AU, VST3, CLAP and AAX plugins with the maru plugin commands.

The maru plugin commands build a module into native plugins for a DAW, check them, and manage the plugins Maru installs on your machine. Native builds need the native compiler toolchain, which the maruaudio npm package does not include yet: in this release, maru plugin build stops with exit code 4 and says the toolchain is missing. maru doctor reports which platform SDKs and compilers are present.

Build

bash
maru plugin build --format vst3

maru plugin build compiles the module's programs, packages its face and resources, and produces a plugin bundle for each requested format: Audio Unit, VST3, CLAP and AAX where the module and platform support them, and a standalone app. maru plugin build --help lists the formats and the options for building several formats or modules at once.

The plugin identity, parameter list and saved-state format come from the module declaration. Keep the module's identity stable across releases: hosts use it to find the plugin in saved sessions, and parameters are matched by their stable position, so add new parameters at the end rather than reordering existing ones.

Verify and inspect

bash
maru plugin verify-formats   # check the built formats against the module
maru plugin inspect <bundle> # inspect one built or installed plugin

maru plugin verify-formats loads the built formats and compares their behavior with the module's reference output. maru plugin inspect reports what a single plugin bundle contains and how it behaves in a headless host, which helps when a DAW refuses to load it. It is separate from maru doctor, which checks your machine rather than a plugin.

Then test the plugin in real hosts: Testing your VST walks through a first host check.

Install and remove

bash
maru plugin install          # build and install the module's plugins for this user
maru plugin list             # plugins installed by Maru
maru plugin uninstall <id>   # remove one installed plugin

maru plugin install places the plugin bundles in your system's standard plugin folders and records what it installed. maru plugin list shows those records, and maru plugin uninstall removes exactly the bundle a record owns; it never touches plugins that Maru did not install.

Formats and signing

Which formats a module can produce depends on the module, the platform and the SDKs available. AAX builds need Avid's SDK and produce development bundles for testing; distributing an AAX plugin also needs Avid signing. Code signing and notarization for distribution follow your platform's requirements. The module page and verification report state which formats a release supports.