Skip to main content

Set Up Your Machine

Set up drwn once per machine. After this path you will have an installed CLI, a machine state root under ~/.agents/drwn, explicit machine capability intent, and a reviewed first projection into downstream tool config.

Prerequisites

  • Bun 1.2+
  • npm (for the published package and npm-backed skill bundles)
  • Node.js (for optional MCP servers that spawn Node processes)

The published package and checkout mode both run the TypeScript CLI through Bun.

Install

curl -fsSL https://bun.sh/install | bash
npm install -g darwinian
drwn --version

Confirm the install

drwn status summarizes the effective harness for the current directory. Outside any configured project it reflects machine state only.

drwn status
drwn status --json

You should see the resolved store path under ~/.agents/drwn, the list of enabled targets (claude, codex, cursor), and counts for skills and MCP servers. If store.initialized is false, the first store-mutating command will initialize it; nothing is broken.

Inspect machine inventory

Repository skills and bundled registry MCP definitions are immutable discovery inputs. Installed packages and MCP records are standalone inventory. Listing them shows what is available before you decide what to activate.

drwn machine skill list
drwn machine mcp list

Drill into a single entry to see what it does:

drwn machine skill show <name>

Initialize Machine Intent

Prompt-free setup creates strict empty drwn.machine V1 intent:

drwn init --non-interactive
drwn machine skill list
drwn machine mcp list

Interactive drwn init offers the opt-out Recommended Darwinian Operator profile. The immutable @darwinian/operator@1.0.2 pin contributes 17 approved machine-safe skills and zero MCP servers.

Add Explicit Machine Capabilities

Decide which skills and MCP servers should be visible in machine sessions:

drwn machine skill enable <skill-name>
drwn machine mcp enable <server-name>

For example, to select a code reviewer skill and the context7 documentation MCP server:

drwn machine skill enable reviewer
drwn machine mcp enable context7
drwn machine skill list
drwn machine mcp list

You can remove a default the same way:

drwn machine skill disable <skill-name>
drwn machine mcp disable <server-name>

Preview, then write

drwn write --scope machine --dry-run shows the exact changes the write would make to ~/.claude, ~/.codex, and ~/.cursor. Read it before running the write.

drwn write --scope machine --dry-run
drwn write --scope machine

Verify

After the first write, confirm the downstream state matches:

drwn status
drwn doctor
ls ~/.claude/skills
ls ~/.codex/skills

drwn doctor is report-only. It reports invalid capability IDs, missing or changed profile bytes, and projection ownership conflicts without repairing them. The downstream skill directories should contain copied skill directories for selected skills.

If a destination already exists without a matching global write-record entry, the write fails with MACHINE_PROJECTION_CONFLICT. Do not use force to claim it. Move, remove, or reconcile foreign state explicitly; force repairs only drift in prior drwn-owned output.

Cross-References