What workflows are
A workflow is a named pipeline defined by two JSON files:workflow.json holds the pipeline (form, requirements, and tasks) and manifest.json holds the metadata used by dotbot list. dotbot ships with these built-in workflows:
start-from-prompt is the default workflow recorded for a new project. Each workflow declares its name and version, a form configuration for the launch dialog, environment and tooling requires, and a tasks list.
Anatomy of a workflow.json
Thestart-from-prompt workflow shows the structure. Each task names a type, the prompt file or script it runs, its dependencies, and how its output is committed:
start-from-jira also declare environment variables, MCP server dependencies, and CLI tool requirements under a requires block:
Task types
Every entry intasks has a type field that selects the executor dotbot uses to run it. Executors are a plugin system indexed by task_type, so each type has its own contract.
The
script, mcp, task_gen, and barrier types run deterministically without a provider session and skip verification hooks. They still run inside the task’s isolated git worktree, so their output is committed the same way as any other task.What stacks are
A stack is a named extension that overlays technology-specific content on top of a workflow. Stacks can add:- Skills — reusable guidance injected into the agent prompt, for example how to write Entity Framework migrations
- Hooks —
Start-Dev.ps1,Stop-Dev.ps1, and numbered verify scripts - MCP tools — additional tools the MCP server discovers
- Recipes — agent personas and prompts tailored to the technology
How stacks compose with extends
Stacks can declare anextends field to automatically pull in a parent stack. dotnet-blazor and dotnet-ef both extend dotnet:
dotnet-blazor, dotbot resolves and applies the dotnet parent first. You do not need to list both.
Settings merge order
Each workflow and stack can ship its ownsettings/settings.default.json. These overlay through a deep merge, with later layers taking precedence:
.bot/.control/settings.json wins last.
Installing workflows and stacks
Usedotbot init with --workflow and --stack flags to install into a project:
.bot/content/workflows/<name>/, and stacks under .bot/content/stacks/<name>/. You can add, remove, list, and run workflows independently:
dotbot registry add to link a git-hosted or local registry, then list and update registered registries with dotbot registry list and dotbot registry update.