Skip to main content

Init

drwn init creates the per-project config scaffold at <project>/.agents/drwn/config.json. In a TTY it runs guided setup; in non-interactive contexts it writes a minimal config.

Bootstrap a project from an interactive shell:

drwn init

When machine state is missing, guided init first offers the opt-out Recommended Darwinian Operator profile. It then prompts for project extensions such as Parallel and Beads. Project extension answers affect project config only.

For scripts and CI:

drwn init --non-interactive
drwn init --minimal

--non-interactive and --minimal are equivalent: both skip prompts and write the minimal first-supported project contract:

{
"schema": "drwn.project-config",
"schemaVersion": 1,
"workers": [],
"activeWorker": null
}

This is explicit empty project intent. Add one or more alternative roots with drwn add, then select at most one with drwn use before projection.

Force the guided flow even when invoked with flags:

drwn init --guided

Re-run setup on a project that already has a config:

drwn init --force
drwn init --force --guided

Without --force, drwn init refuses to overwrite an existing project config.

Skip pre-registering the default community card catalog:

drwn init --no-default-catalogs

By default, drwn init registers the public Curation Labs community card catalog into ~/.agents/drwn/catalogs.json so that drwn search card <query> works out of the box:

https://github.com/curation-labs/dm-cards-catalog-v1.git

The default catalog URL is configured in the packaged registry at defaults.communityCatalogUrl (currently https://github.com/curation-labs/dm-cards-catalog-v1.git). To swap it for a fork or a private catalog, edit registry/config.json and rerun drwn init. To disable the default registration entirely without using the flag every time, set defaults.communityCatalogUrl to null.

Side effects

  • Writes <project>/.agents/drwn/config.json.
  • Initializes missing strict drwn.machine V1 state. Prompt-free modes write explicit empty machine intent; guided mode may select the pinned Operator profile.
  • In guided mode, may add extensions.parallel and/or extensions.beads blocks based on prompt answers.
  • Registers the default @community card catalog under ~/.agents/drwn/ unless --no-default-catalogs is passed.
  • Reads <project>/.gitignore if present and warns when it appears to exclude .agents. The file is never mutated.

What you can edit afterward

The project overlay can:

  • declare alternative Worker roots and one selected root
  • enable or disable MCP servers for this project
  • add project-local MCP server definitions
  • enable extensions such as Parallel, Beads, or MarkItDown
  • include or exclude skills during write
  • enable or disable targets locally

See Per-project configuration and .ai/knowledges/02_per-project-config-guide.md for the full overlay model.

The Recommended Darwinian Operator profile pins @darwinian/operator@1.0.2 for machine-safe capability projection. It is not part of the project scaffold and is not a Worker. Machine capability output may remain ambient to project sessions, but project declarations never inherit it.