Skip to content

Commit 266040a

Browse files
stephanjclaude
andcommitted
docs: add parallel task execution section to SDD documentation
Document the new parallel task execution feature for CLI Runners, including layer-based dependency grouping, toolbar buttons, configuration settings (execution mode, max concurrency), and usage guidance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 3552605 commit 266040a

2 files changed

Lines changed: 62 additions & 2 deletions

File tree

docusaurus/docs/features/spec-driven-development.md

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
sidebar_position: 3
33
title: Spec-driven Development
44
description: Use Spec-driven Development (SDD) with Backlog.md to define tasks as structured markdown specs, then let the LLM agent implement them autonomously within your IDE.
5-
keywords: [devoxxgenie, spec-driven development, sdd, backlog.md, task specs, agent mode, acceptance criteria, milestones]
5+
keywords: [devoxxgenie, spec-driven development, sdd, backlog.md, task specs, agent mode, acceptance criteria, milestones, parallel execution, cli runners]
66
image: /img/devoxxgenie-social-card.jpg
77
---
88

@@ -454,9 +454,69 @@ For running multiple tasks sequentially with dependency ordering, progress track
454454

455455
Both the built-in LLM provider and external [CLI Runners](cli-runners.md) support batch execution.
456456

457+
## Parallel Task Execution with CLI Runners
458+
459+
When using [CLI Runners](cli-runners.md), you can run **independent tasks in parallel** — multiple CLI processes execute concurrently, each working on a separate task. This can dramatically speed up batch runs when your backlog contains tasks that don't depend on each other.
460+
461+
![Parallel Run buttons in the Spec Browser toolbar](/img/RunTasksInParallel.png)
462+
463+
### How It Works
464+
465+
The runner uses the same dependency graph as sequential execution (topological sort via Kahn's algorithm), but instead of executing tasks one at a time, it groups them into **layers**:
466+
467+
- **Layer 0**: Tasks with no dependencies — all run in parallel
468+
- **Layer 1**: Tasks whose dependencies are all in Layer 0 — run in parallel after Layer 0 completes
469+
- **Layer 2**: Tasks whose dependencies are all satisfied by Layers 0–1 — and so on
470+
471+
Within each layer, all tasks are independent of each other and execute concurrently as separate CLI processes.
472+
473+
```
474+
Example: Diamond dependency graph
475+
476+
TASK-1 ← Layer 0 (runs alone)
477+
/ \
478+
TASK-2 TASK-3 ← Layer 1 (run in parallel)
479+
\ /
480+
TASK-4 ← Layer 2 (runs after both complete)
481+
```
482+
483+
### Running Tasks in Parallel
484+
485+
The **DevoxxGenie Specs** toolbar provides two dedicated parallel run buttons (the green parallel-lines icons):
486+
487+
- **Run Selected (Parallel)** — runs only the checked tasks in parallel
488+
- **Run All (Parallel)** — runs all "To Do" tasks in parallel
489+
490+
These buttons are enabled when a CLI Runner is selected as the execution mode. Each CLI process streams its output into the **Run** tool window console, with output lines prefixed by the task ID (e.g., `[TASK-3] ...`) so you can distinguish which task produced which output.
491+
492+
### Configuration
493+
494+
Open **Settings** > **Tools** > **DevoxxGenie** > **Spec Driven Dev** to configure parallel execution:
495+
496+
| Setting | Description | Default |
497+
|---------|-------------|---------|
498+
| **Execution mode** | Choose between Sequential and Parallel | Sequential |
499+
| **Max concurrency** | Maximum number of CLI processes running at the same time (1–8) | 4 |
500+
501+
The max concurrency setting caps how many tasks within a single layer can run simultaneously. If a layer contains more tasks than the concurrency limit, excess tasks wait for a slot to open up.
502+
503+
:::note
504+
Parallel execution is designed for **CLI Runners** (Claude Code, Copilot, Codex, Gemini, Kimi). When using the built-in LLM provider, the message bus is single-threaded so tasks still execute sequentially regardless of the execution mode setting.
505+
:::
506+
507+
### When to Use Parallel Execution
508+
509+
Parallel execution works best when:
510+
511+
- You have **multiple independent tasks** that don't depend on each other's output
512+
- You're using **CLI Runners** — each task gets its own CLI process
513+
- Your tasks are **self-contained** — they modify different files or different parts of the codebase
514+
515+
Be cautious with parallel execution when tasks might modify the same files, as concurrent edits can lead to merge conflicts. Use `dependencies` in your task frontmatter to enforce ordering when tasks touch overlapping code.
516+
457517
## CLI Runners
458518
459-
Instead of using the built-in LLM provider, you can execute spec tasks via **external CLI tools** — such as Claude Code, GitHub Copilot CLI, OpenAI Codex CLI, or Google Gemini CLI. See the dedicated [CLI Runners](cli-runners.md) page for setup instructions, supported tools, and configuration details.
519+
Instead of using the built-in LLM provider, you can execute spec tasks via **external CLI tools** — such as Claude Code, GitHub Copilot CLI, OpenAI Codex CLI, Google Gemini CLI, or Kimi CLI. See the dedicated [CLI Runners](cli-runners.md) page for setup instructions, supported tools, and configuration details.
460520
461521
## Tips and Best Practices
462522
118 KB
Loading

0 commit comments

Comments
 (0)