- analyze a codebase
- propose a fix
- apply the fix
- run validation
- ask for approval
- resume later if the process crashes
The Three Surfaces
CLI
The CLI is the operations surface. You use it to scaffold workflow packs, launch runs, inspect state, read logs, answer approvals, send signals, and recover from failure. Start with CLI Quickstart if that is your immediate job.JSX API
The JSX API is the authoring surface. You describe the workflow as a tree of<Workflow>, <Task>, and control-flow components, and Smithers repeatedly renders that tree as outputs become available.
Start with JSX API if you are building workflows.
Runtime
The runtime is the durable engine beneath both surfaces. It validates structured output, persists it to SQLite, emits events, and resumes safely after interruption. Start with Workflows Overview if you want the model before the mechanics.What Happens During a Run
- Smithers renders your workflow tree with the current
ctx. - It finds the tasks that are ready to execute.
- It runs those tasks and validates their outputs.
- It persists the outputs and runtime metadata to SQLite.
- It renders again with the updated state.
When Smithers Is the Right Tool
Use Smithers when:- order matters across multiple AI or compute steps
- you need resumability or crash recovery
- humans must approve or answer questions mid-run
- different tasks need different models, tools, or policies
- you want the workflow itself to stay readable and testable
Read Next
- Installation to get the workflow pack into your project.
- Quickstart for the fastest first run.
- CLI Quickstart to learn the operational flow.
- JSX Quickstart to build a workflow from scratch.
- Workflows Overview for the mental model.
- Execution Model to understand how renders, state, and resumability fit together.