# Quickstart

> Install the maru CLI, create a module, shape it with an agent, and hear it in the workbench.

Canonical: https://maru.audio/docs/quickstart
Documentation index: https://maru.audio/llms.txt

For the agent-driven web editor, start with [Studio workflow](https://maru.audio/docs/studio-workflow.md).
This quickstart covers the local path, with a coding agent or by hand. Both
paths edit projects built on the same SDK, DSP and UI contracts.

> **In the Help Center:** [Beta and early access](https://maru.audio/help/beta-and-early-access.md) for what is available to whom.

> **Availability.** The `maruaudio` package is published on npm, but the local
> workbench and plug-in builds also need a toolchain that is provided to
> developers in the selected-developer beta. Without it, the workbench and
> plug-in builds are unavailable; `maru doctor` reports what this machine can
> do. Studio and the
> [hosted connector](https://maru.audio/docs/mcp.md) work without it.

If you use a coding agent, [connect it first](https://maru.audio/docs/mcp.md) and ask:

```text
Create a new Maru effect project called my-delay and open the dev workbench.
```

To do it yourself, you need Node.js and a terminal. Install the CLI, create a
project and open the workbench:

```bash
npm i -g maruaudio
maru init my-delay
cd my-delay
npm install
maru dev --open
```

The workbench opens with the module already connected to the appropriate audio
or MIDI inputs. The default starter is a Processor effect: its sound processing
is in `src/dsp/processor.ts`, its parameter schema in `src/contract.ts` and its
face in `src/ui/`. The workbench rebuilds affected
sources as you edit. [Create a project](https://maru.audio/docs/create.md) describes the starters,
and [Project structure](https://maru.audio/docs/project-structure.md) the files.

Run `maru doctor` at any point to see what this machine can do and what is
missing.

## Start from a prompt

Install the [Maru agent skill](https://maru.audio/docs/skills.md) with
`npx maruaudio skill install`, then give your agent a concrete musical goal
and a short interface direction:

```text
Use the maru-agent skill. Read https://maru.audio/llms.txt.

Turn this starter into a warm stereo delay. Add time, feedback, tone, width,
and mix controls. Build a responsive React interface with a delay-tap display.
Run maru module check before stopping.
```

The agent can use the included nodes and UI components, or add ordinary web
libraries for animation, WebGL, and 3D. You stay in the loop by listening and
directing the result.

## Check the module

```bash
maru module check
```

The check validates the module contract, face and build in order, and runs
the starter's qualification render. To render your own audio through it, see
[rendering a Processor offline](https://maru.audio/docs/export.md#check-the-module). In the
workbench, also check input, output, controls, presets and state recall.
[Check, build and export](https://maru.audio/docs/export.md) covers the full set of module commands.

## Native plugins

```bash
maru plugin build --format vst3
```

Native builds need a compiler toolchain that the `maruaudio` npm package does
not include yet, so in this release the command stops with exit code 4 and
says what is missing. Available formats vary by module and platform; the build
only presents targets the project supports. [Native plugins](https://maru.audio/docs/native-plugins.md)
explains building, verifying and installing, and
[Testing your VST](https://maru.audio/docs/testing-your-vst.md) loading the result in a host.

Next, read [Working with coding agents](https://maru.audio/docs/working-with-coding-agents.md),
[How it works](https://maru.audio/docs/how-it-works.md), or the [CLI overview](https://maru.audio/docs/cli.md). If you
have built plugins with another framework, start with
[Constraints for plugin developers](https://maru.audio/docs/constraints-for-plugin-developers.md).
