doppels CLI is the primary interface for validating and running your Capabilities locally. You use it to initialize a Space, check your manifests for correctness, inspect Capability contracts, execute Recipes, browse run history, and manage telemetry consent — all from your terminal, all on your own machine. This page lists every command, its purpose, and its available flags.
Global flags
These flags are available on the root command itself, independent of any subcommand.Most commands also accept
--json to emit machine-readable JSON output. The flag is documented individually for each command where it is supported.doppels spaces init
Initializes a new Space in the current directory. Creates the capabilities/, recipes/, and .doppels/ directories that the CLI expects when discovering manifests and storing run history.
Run this once in any project directory before adding your first Capability or Recipe manifests.
doppels validate
Validates all Capability and Recipe manifests discovered under the current Space. The validator checks schema compliance, Capability–Recipe references, expression syntax, step ordering, approval declarations, and return type matching.
Run validate before every commit to catch errors early, and after any manual edit to a manifest.
doppels validate works fully offline — no network connection is required.doppels capabilities list
Lists all Capabilities discovered in the current Space. Use --json to get a machine-readable list suitable for piping into other tools.
doppels describe capability/<name>
Displays the public contract of a Capability — its inputs, declared outputs, and version. Use this to confirm what a Capability expects before running it, or to review it in scripts and CI pipelines.
<name> with the machine-readable metadata.name value from the Capability manifest.
doppels run capability/<name>
Executes a Capability locally using the Recipe that provides it. Each run is recorded under .doppels/runs/ with its inputs, outputs, logs, and any captured artifacts.
Flags
doppels run works fully offline — no network connection is required.doppels runs list
Lists the history of local runs recorded under the current Space. Each entry shows the run ID, Capability name, status, and timestamp.
doppels runs show <run-id>
Shows the full details of a specific run — inputs provided, outputs returned, step results, and overall status. Use the run ID from doppels runs list.
doppels runs logs <run-id>
Streams or displays the captured stdout and stderr logs from a specific run. Useful for debugging a failed step or reviewing what a script actually printed.
doppels telemetry
Manages your telemetry opt-in status. Consent is stored in your local profile.json and persists across projects. You can also set the environment variable DOPPELS_TELEMETRY=0 to disable telemetry regardless of your stored consent setting.