Skip to content

brood.yaml

name: string # Project name (required)
provider: string # Default LLM provider (required)
hives: object # Map of hive name → hive config (required)
# Full: provider/model
provider: cerebras/llama-3.3-70b
# Aliases
provider: fast # → cerebras/llama-3.3-70b
provider: smart # → openai/gpt-4o
provider: local # → ollama/llama3.3
# Provider only (uses catalog default model)
provider: cerebras # → cerebras/llama-3.3-70b
provider: groq # → groq/llama-3.3-70b
provider: anthropic # → anthropic/claude-sonnet
provider: openai # → openai/gpt-4o
provider: ollama # → ollama/llama3.3
hives:
my-hive:
acp: string | object # ACP protocol (file path, URL, or inline)
agents: array # Agent definitions
dances: string # Dance file path (ESM module)
variables: object # Variable overrides for protocol
workspace: string # 'real' (default) or 'memfs'
plugins: array # Additional incubator plugins
CanonicalAlias
acpspec, protocol
agentsworkers
danceslogic
agents:
- role: string # Role name from ACP spec (required)
type: string # worker | drone | claude | mock (default: drone)
provider: string # Override default provider
tools: array # Filter propolis tools (worker type only)
wake_on: object # Reactive sleep/wake config
agents: number # Agent count (0 = human-controlled)
ValueDescription
workerIn-process agent with propolis tools (file, shell, git, web, PTY)
droneMCP subprocess with ACP-only tools
claudeClaude Code instance via Agent SDK
mockTesting agent with action sequences (no LLM)

Available tools to filter:

tools:
- read_file
- write_file
- patch_file
- list_files
- glob
- grep
- shell
- git_status
- git_diff
- git_commit
- git_log
- fetch
- scrape

Omit tools to allow all propolis tools.

wake_on:
types: [task.assigned, review.requested] # Event types to wake on
timeout: 300000 # Max sleep time (ms)

Glob patterns supported: turn.* matches turn.player_2.

- role: test_bot
type: mock
behavior:
- action: publish
type: greeting
data: { message: "Hello!" }
- action: set_state
key: last_event
value: $last.type # Template: previous action result
- action: claim
resource: task-1

$last.field resolves to a field from the previous action’s result.

name: code-review-team
provider: cerebras/llama-3.3-70b
hives:
review:
acp: code-review.acp.yaml
dances: review-logic.js
variables:
max_reviewers: 3
target_branch: main
workspace: real
agents:
- role: author
type: worker
provider: anthropic/claude-sonnet
tools: [read_file, write_file, patch_file, shell, git_status, git_diff, git_commit]
- role: reviewer
type: drone
wake_on:
types: [code.submitted, revision.complete]
- role: lead
type: drone
provider: anthropic/claude-opus