Skip to content

Quick Start

Install

Terminal window
cd DWS/site
npm install

Create a Worker Definition

Terminal window
# Scaffold a minimal job spec
npx dws init ./my-worker

This creates four files:

my-worker/
├── jobspec.json # Manifest
├── workers/
│ └── worker.json # Worker descriptor
├── workflows/
│ └── simple.json # Single-phase workflow
└── intents/
└── operational/
└── example.json # Example intent

Understand the Files

jobspec.json is the manifest. It names the worker and declares which version of the DWS spec it targets:

{
"name": "my-worker",
"version": "0.1.0",
"dws_version": "1.0.0",
"description": "A digital worker defined with DWS.",
"domains": ["general"],
"default_workflow": "simple"
}

workers/worker.json is the worker descriptor. It defines identity, authority, boundaries, model requirements, and escalation behaviour. Think of it as the job description.

workflows/simple.json defines how work flows through phases. The default is a single phase: execute the intent and produce output.

intents/operational/example.json is a work order. It states what should be accomplished and how success is measured.

Validate

Terminal window
npx dws validate ./my-worker

The validator checks:

  • Schema compliance for all JSON files
  • Referential integrity (worker roles match workflow assignments, skills exist, etc.)
  • Structural completeness (at least one worker, one workflow, one intent)

Compile to a Runtime

Terminal window
# Target Claude Managed Agents
npx dws compile ./my-worker --target managed-agents
# Target CrewAI
npx dws compile ./my-worker --target crewai
# Target Docker (self-hosted)
npx dws compile ./my-worker --target docker

The compile step translates the portable job spec definition into runtime-specific configuration. One definition, any platform.

Next Steps