Setup
Most projects should usebunx smithers-orchestrator init — it scaffolds everything below.
To embed into an existing codebase:
tsconfig.json:
jsxImportSource is the only non-standard line — it routes JSX through smithers-orchestrator/jsx-runtime instead of React DOM.
Optional MDX prompts: add bun add -d @types/mdx and a preload.ts that calls mdxPlugin(), register it in bunfig.toml as preload = ["./preload.ts"].
Verify with bunx tsc --noEmit and bunx smithers-orchestrator --help.
A minimal workflow
outputs.analysis is the typed reference for the Zod schema — typos are compile errors.
Reactivity
The tree re-renders on every frame, so branching is a normal JSX conditional:report Task doesn’t exist in the plan until analysis completes. No placeholder, no skipped node — the conditional IS the dependency.
Read next
- Tour — six-step worked example with agents, schemas, approvals, resume.
- How It Works — the render → execute → persist loop.
- Components — full prop surface for every JSX element.