Create a project

Create a runnable effect or instrument project with maru init or npm create maru, then open it in the workbench.

maru init creates a module project from a starter template. The project is a working module with a sound and a face, so you change something that runs rather than fill in an empty one.

bash
maru init my-delay
cd my-delay
npm install
maru dev

maru init writes into the directory you name, or into the current directory when you name none. It refuses a directory that is not empty unless you pass --force. Pass --install to install dependencies right away; by default it does not.

Without the CLI installed, npm create maru does the same thing. It runs maru init from the latest maruaudio package and accepts the same options after --:

bash
npm create maru@latest my-delay
npm create maru@latest my-synth -- --kind processor-instrument --install

Choose a starter

The default starter is a Processor effect: audio in, audio out, with its sound processing in TypeScript you edit directly. Choose another with --kind:

bash
maru init my-synth --kind processor-instrument

In a terminal, maru init without --kind shows a numbered list of starters to pick from. With --kind or --yes, or when an agent or CI runs it, it never asks. maru init --help lists the kinds. Processor starters come first; the Graph starters effect and instrument wire included audio nodes and suit a simple chain of nodes that already exist. Project structure explains the files a starter contains and which of them you change.

Start from an existing module

Published modules are a good starting point when one already does most of what you want. Browse the module library, or list modules and examples from the terminal:

bash
maru module list
maru module examples

maru module spec <slug> and maru module params <slug> show a module's declaration and parameters, and maru module files and maru module read show its source, which you or your agent can use as a reference for your own project.

Next steps

Open the Development workbench with maru dev, and ask your coding agent to read https://maru.audio/llms.txt and the project's AGENTS.md before it makes the first change. When the module sounds right, continue with Check, build and export.