dobbe

dobbe workflow

Composable multi-step workflows that chain dobbe commands, conditions, and failure policies into repeatable pipelines.

Synopsis

dobbe workflow <subcommand> [OPTIONS]

Subcommands

Subcommand Description
create Create a new workflow definition
run Execute a workflow
list List all saved workflows
show Display a workflow definition
delete Remove a workflow
logs Show execution logs for a workflow

workflow create

Create a new workflow definition, optionally from a built-in template.

dobbe workflow create <name> [--from-template <template>] [--description <desc>]

Arguments

Argument Type Description
name str Unique name for the workflow

Options

Option Type Default Description
--from-template / -t str None Use a built-in template (see below)
--description / -d str "" Workflow description

Built-in Templates

Template Description Steps
vuln-scan-and-fix Scan for vulnerabilities, then resolve critical ones scan (command) -> check-scan (condition) -> resolve (command)
review-digest Generate a PR review digest and post summaries digest (command) -> post (command)

If --from-template is provided, the workflow is pre-populated with the template’s steps. The --description flag overrides the template’s default description.

Workflows are saved to ~/.dobbe/workflows.toml. If no template is used, the workflow is created with zero steps – edit the TOML file to add steps manually.


workflow run

Execute a saved workflow. Steps run sequentially; failure handling is governed by the on-failure policy.

dobbe workflow run <name> [--dry-run] [--on-failure <policy>] [--quiet]

Arguments

Argument Type Description
name str Name of the workflow to run

Options

Option Type Default Description
--dry-run bool False Simulate execution without running steps
--on-failure OnFailure workflow default Override the on-failure policy: stop, continue, notify
--quiet / -q bool False Minimal output (no per-step progress)

Execution Flowchart

┌──────────────────────────────────────┐
│     dobbe workflow run <name>         │
└──────────────────┬───────────────────┘
                   │
                   v
┌──────────────────────────────────────┐
│  Load workflow from                   │
│  ~/.dobbe/workflows.toml              │
└──────────────────┬───────────────────┘
                   │
             ┌─────┴──────┐
             │   Found?   │
             └─────┬──────┘
          yes |         | no
              v         v
              │     Exit with error
              │
              v
┌──────────────────────────────────────┐
│  Apply --on-failure override          │
│  (if specified, persists to TOML)     │
└──────────────────┬───────────────────┘
                   │
                   v
┌──────────────────────────────────────┐
│  For each step in workflow:           │
│                                       │
│  ┌─────────────────────────────┐      │
│  │ COMMAND step:               │      │
│  │   Execute dobbe command     │      │
│  │   Record duration + result  │      │
│  ├─────────────────────────────┤      │
│  │ CONDITION step:             │      │
│  │   Evaluate condition expr   │      │
│  │   e.g. previous.success     │      │
│  └────────────┬────────────────┘      │
│               │                       │
│         ┌─────┴──────┐                │
│         │  Success?  │                │
│         └─────┬──────┘                │
│      yes |         | no               │
│          v         v                  │
│     Next step   On-failure policy:    │
│                 ┌───────────────┐     │
│                 │ stop:     halt│     │
│                 │ continue: next│     │
│                 │ notify:  warn │     │
│                 │   then halt   │     │
│                 └───────────────┘     │
└──────────────────┬───────────────────┘
                   │
                   v
┌──────────────────────────────────────┐
│  Print summary:                       │
│    passed/total steps, duration       │
│  Exit 0 on success, 1 on failure      │
└──────────────────────────────────────┘

workflow list

List all saved workflows. Displays name, description, step count, on-failure policy, and creation date.

dobbe workflow list

No options.


workflow show

Display the full definition of a workflow, including all steps and their configuration.

dobbe workflow show <name>

Arguments

Argument Type Description
name str Name of the workflow to display

workflow delete

Remove a saved workflow from ~/.dobbe/workflows.toml.

dobbe workflow delete <name> [--force]

Arguments

Argument Type Description
name str Name of the workflow to delete

Options

Option Type Default Description
--force / -f bool False Skip confirmation prompt

workflow logs

Show the execution history for a workflow.

dobbe workflow logs <name> [--last N]

Arguments

Argument Type Description
name str Workflow name

Options

Option Type Default Description
--last / -n int 10 Number of recent runs to show

Output columns: Started, Status, Steps (passed/total), Duration, Error.


Step Types

Each step in a workflow has a step_type that determines how it is executed.

Step Type Value Description
COMMAND command Run a dobbe command (e.g. vuln scan, review digest)
CONDITION condition Evaluate a condition expression (e.g. previous.success == True)

Steps also support a per-step on_failure override and a timeout (default 600 seconds).


On-Failure Policies

The on-failure policy controls what happens when a step fails. It can be set at the workflow level (applies to all steps) or overridden per step.

Policy Behavior
stop Halt the workflow immediately on failure (default)
continue Log the failure and proceed to the next step
notify Warn about the failure, then halt

The --on-failure flag on workflow run overrides the workflow-level policy and persists the change to the TOML file.


Storage

Workflows are persisted in ~/.dobbe/workflows.toml. Each workflow definition includes:

Execution logs are stored separately and retrieved via workflow logs.


Examples

Create a workflow from a template

dobbe workflow create my-security-pipeline \
  --from-template vuln-scan-and-fix \
  --description "Nightly vulnerability scan and auto-fix"

Create a blank workflow

dobbe workflow create custom-pipeline --description "My custom pipeline"
# Then edit ~/.dobbe/workflows.toml to add steps

Run a workflow

dobbe workflow run my-security-pipeline

Dry-run to preview execution

dobbe workflow run my-security-pipeline --dry-run

Run with a different failure policy

dobbe workflow run my-security-pipeline --on-failure continue

Run quietly (CI-friendly)

dobbe workflow run my-security-pipeline --quiet

List all workflows

dobbe workflow list

View execution history

dobbe workflow logs my-security-pipeline --last 20

Delete a workflow without confirmation

dobbe workflow delete my-security-pipeline --force

See Also