# Native plugins

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

Canonical: https://maru.audio/docs/native-plugins
Documentation index: https://maru.audio/llms.txt

The `maru plugin` commands build a module into native plugins for a DAW, check
them, and manage the plugins Maru installs on your machine. Install the native
compiler components and your target platform's SDK before building.
[`maru doctor`](https://maru.audio/docs/cli.md#check-this-machine) reports which platform SDKs and
compilers are present and how to resolve missing prerequisites.

> **In the Help Center:** [Use Maru with a DAW](https://maru.audio/help/daw-integration.md) for installing and using released plugins in a DAW.

## 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 module verify src/index.ts # check existing source-module format builds
maru plugin inspect <bundle> # inspect one built or installed plugin
```

`maru module verify` checks the existing source-module build packages, artifact
identity, embedded interface and qualification reports. `maru plugin
verify-formats` is a separate build-and-qualify suite with project requirements;
consult the installed command's help before using it. `maru plugin inspect`
reports what a single bundle contains and how it behaves in a headless host.
It is separate from `maru doctor`, which checks the machine.

Then test the plugin in real hosts: [Testing your VST](https://maru.audio/docs/testing-your-vst.md)
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; distributing an AAX plugin also
needs Avid signing and validation in Pro Tools. Code signing and
notarization for distribution follow your platform's requirements. The module
page and verification report state which formats a release supports.

## Prepare downloads and CI

[Package and release audio plug-ins](https://maru.audio/docs/packaging-and-releasing-plugins.md)
covers native platform runners, GitHub Actions, complete bundles, archives,
installers, signing, hardware targets and retrieving test artifacts.
