Synopsis
Arguments
Prerequisites
murmur init checks these prerequisites before starting:
- Project root — The directory contains at least one recognized project marker (
.git,go.mod,package.json,pyproject.toml,Cargo.toml,Gemfile, orMakefile). - Claude Code —
claudeis on yourPATH. Install withnpm install -g @anthropic-ai/claude-code. - Claude authentication —
claude auth statussucceeds. Runclaude auth loginif not. - MCP server — The murmur MCP server is configured in Claude Code. Run
claude mcp add murmur -- murmur mcpif not. - murmur setup — A valid
.murmur/murmur.yamlexists. Runmurmur setupfirst.
What it does
The onboarding session runs as an interactive Claude Code conversation. The persona drives a workflow that:- Inspects the repo to understand languages, frameworks, and build tools.
- Creates a provisioning script (
.murmur/provisioning.sh) that installs dependencies and prepares the environment. - Validates the script by running a bake-iterate-fix loop until the image builds cleanly.
- Creates the recipe and workspace in the catalog.
- Optionally runs a smoke test by spawning a test agent.
murmur init persists the workspace name to murmur.yaml so that murmur spawn uses it by default.
The onboarding session runs on your machine, not in a sandbox. Read-only operations and writes to
.murmur/ are auto-approved. Other operations prompt you for confirmation.Why murmur init passes --dangerously-load-development-channels
Under the hood,
murmur init launches Claude Code with --dangerously-load-development-channels server:murmur. The flag opts the session into Claude Code’s channel transport, which Murmur uses to stream real-time events (bake progress, smoke-test status, child lifecycle) from the control plane into your conversation as <channel> tags. Without it the onboarding persona can’t observe the bake-iterate-fix loop or the test spawn, and the session falls back to blind polling.The dangerously- prefix is Claude Code’s wording for an opt-in developer feature, not a security warning specific to Murmur. The same flag is also used by murmur director and by every interactive agent VM that Murmur spawns, so all sessions can post to and receive from server:murmur.When Claude Code prompts you to confirm channels, say yes and opt in. The wizard can’t observe the bake without it.Examples
Onboard the current repo
Onboard a different directory
Onboard with explicit names
Replace an existing recipe and workspace
Errors
Related
- Recipes — what a recipe defines
- Workspaces — concept overview
- Agent personas — how personas guide agent behavior
murmur setup— configure your developer profile (prerequisite)murmur spawn— start an agent in the workspace created by init- Catalog: recipe — the recipe resource
- Catalog: workspace — the workspace resource