doppels command you run in that project.
What a Space is — and is not
A Space defines the scope of discovery. The CLI finds your Capability and Recipe manifests by convention — scanning thecapabilities/ and recipes/ directories — rather than requiring you to enumerate them in the Space manifest. This means adding a new Capability or Recipe is as simple as dropping a file in the right directory; no Space edits required.
A Space does not contain Organization information. That comes from doppels context, which holds your local authentication and org selection. The same Space YAML can therefore be applied in different Organizations without modification — useful when you want the same automation library available in a staging org and a production org.
A Space also has no metadata.version. Unlike Capabilities and Recipes, a Space represents mutable runtime state (run history, local configuration) rather than a publishable definition with a stable public contract.
Initializing a Space
Run this command once in any project directory where you want to use Doppels:doppels validate to confirm everything is well-formed.
Space manifest
The Space manifest is a single YAML file at the root of your project:labels map is free-form. Use it to annotate the Space with environment information, team ownership, or any other metadata that helps you organize runs and audits.
Field reference
string
required
Always
doppels.so/v1alpha1. Identifies the schema version.string
required
Always
Space.string
required
A machine-readable identifier for this Space. Used in CLI output and coordination contexts.
string
A human-readable label for this Space shown in
doppels describe and any UI surfaces.object
An arbitrary map of string key–value pairs. Use labels to tag the Space with environment, team, or project metadata. Labels have no effect on CLI behavior in the current version.
What to commit and what to gitignore
Thecapabilities/ and recipes/ directories are the source of truth for your automations. Commit them to your repository like any other source code — review them in pull requests, tag them with releases, and share them with teammates.
The .doppels/ directory holds runtime data: run history, logs, and produced artifacts. It is specific to the machine and session where runs happen and should not be committed. Add it to your .gitignore:
Using a Space across Organizations
Because the Space manifest does not embed an Organization identifier, you can apply the same manifest in multiple Doppels organizations by switching context:capabilities/ and recipes/ remain unchanged.
Capabilities
Learn how Capability manifests define the public contract your Space exposes.
Recipes
See how Recipe manifests implement Capabilities within your Space.
How It Works
Understand where Spaces fit in the full Doppels execution model.
Git Workflow
Best practices for versioning your Space, Capabilities, and Recipes in Git.