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.
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 --:
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:
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:
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.