How-to recipes
A progressive ladder of task recipes — assemble drover's elements into real agents, simple to complex.
The guides document each element on its own; the examples are minimal demos. These recipes sit in between: each one is a real task, built by assembling several elements, and they climb in difficulty. Read them in order and every recipe reuses what the last one taught.
Each page ends with two things: a What you assembled recap naming the elements you wired, and a Level up card pointing at the next rung.
The ladder
| Level | Recipe | What you assemble |
|---|---|---|
| 1 | Classify and extract | input/output schema + model alias + quota — no tools |
| 2 | Read & search a codebase | built-in read/grep/ls + a read-only just-bash mount + the event stream |
| 3 | A coding agent | read-write mount + bash/edit + safety plugins + a postSuccess test step |
| 4 | Enrich a single lead | MCP search tools / network allowlist + grounded output + a cost ceiling |
| 5 | An assistant that learns | memory scopes + ambient instruction files + storage |
| 6 | A research team | subagents + registry + shared memory + a trace |
| 7 | A durable batch service | queue + worker pool + run API + crash recovery |
How to read these
-
Start at your level
New to drover? Begin at Level 1 — it is the quickstart agent with the schema contract explained. Already shipping agents? Jump to the recipe whose task matches yours; each lists its assumed prior rungs.
-
Run the code
Every snippet is runnable TypeScript on Bun. Set
OPENROUTER_API_KEYonce and the default model aliases resolve. Copy a recipe, change the schema, and you have a starting point. -
Follow the cross-links
A recipe shows you how to assemble an element; the linked guide explains what it is. When a recipe wires memory, Memory has the full contract.
The shape every recipe shares
A drover agent is always the same four moves, and the ladder just adds elements to each:
- Define a
defineAgent({ ... })spec — the typed input/output contract. - Wire the deps a run needs — a sandbox, a registry, storage, memory, MCP.
- Run it with
runAgent(spec, input, options). - Read the result and the event stream.