Skip to main content

Documentation Index

Fetch the complete documentation index at: https://smithers.sh/llms.txt

Use this file to discover all available pages before exploring further.

0.19.0

0.19.0 should be a minor release. Since 0.18.0, Smithers has exposed public Effect-based workflow builders, added Unix socket transport for the Gateway and its client, hardened the Gateway client’s response validation, and scaffolded a real Kanban UI into the default workflow pack. There are no intentional breaking changes, but the new public API surface — most notably Smithers.createWorkflow / Smithers.createComponent and the path listen option — is larger than a patch release.

Effect API

  • Smithers.createWorkflow and Smithers.createComponent are now public. The previously-internal _createWorkflow and _createComponent Effect builders are exported from the engine and re-exported through smithers-orchestrator. Authors can compose workflows with Effect, Layer, and Schema directly, without going through JSX.
  • New TypeScript surface for the Effect builder. The engine type bundle now exports BuilderApi, BuiltSmithersWorkflow, ComponentDefinition, ComponentDefinitionBuilder, StepOptions, and WorkflowDefinitionBuilder, so external callers can type Effect-based step bodies and component factories.
  • New Effect API docs section. A new docs page walks through the minimal Effect workflow, schemas, step bodies that return Effect values, sequence/parallel/loop/match nodes, and the runtime guarantees shared with the JSX surface (SQLite-backed steps, no re-runs on resume, schema-validated outputs).

Gateway

  • Unix socket transport. Gateway#listen now accepts a path option and listens on a Unix domain socket when provided. The gateway client understands matching ws+unix: base URLs, so browser-style and socket-based deployments can share the same RPC and WebSocket surface.
  • Hardened client response validation. SmithersGatewayClient now validates Gateway response frames against an explicit shape check before surfacing them, raising INVALID_GATEWAY_RESPONSE on malformed payloads, HTTP_ERROR on non-RPC HTTP failures, and a clear error when fetch is not available in the current environment. The WebSocketImpl field is now optional and populated lazily.
  • Connection-level robustness. SmithersGatewayConnection was tightened alongside the client (frame validation, error normalization), and a new test suite covers HTTP RPC paths, WebSocket request/response framing, and the gateway-react RPC and actions hooks.

CLI

  • smithers init scaffolds a Kanban gateway UI. New projects get a .smithers/gateway.ts entry, a .smithers/ui/kanban.tsx browser entry, and a gateway script so bun ./gateway.ts starts a local Gateway with the Kanban workflow mounted at /workflows/kanban.
  • Kanban UI dark theme. The scaffolded Kanban UI ships with a Linear-style dark theme: token-driven colors, refreshed metric tiles, run/board layout, and approval controls. The light/system color scheme is still honored, but the default look is dark.
  • Init E2E coverage. The CLI init test verifies the seeded gateway entry, Kanban UI file, dependency wiring, and that the generated .smithers/ typechecks.

Examples

  • New parallel-tickets example. examples/parallel-tickets.jsx plus five MDX prompts (triage, implement, research, review, merge) demonstrate a Triage → wave-by-wave parallel implement/review → MergeQueue pipeline. Tickets within a wave run concurrently in their own worktrees; waves merge back into main one at a time before the next wave starts. Implementer/researcher run on Claude (Sonnet/Haiku); the reviewer runs through the Pi/Codex CLI.

Docs

  • New Why React? page. A Learn-group page explains the agent-experience rationale for Smithers being a JSX runtime: agents are disproportionately good at writing React, and the runtime’s properties (durability, time travel, hot reload, composability) fall out of mapping orchestration onto that authoring model. Linked from the introduction.
  • Self-contained TOON API reference. research/toon-api.md is a briefing for an agent designing a Lisp front-end for Smithers — it inlines the spec, schemas, node kinds, compiler source, and fixtures of the retired .toon workflow format so the briefing has no external dependencies.
  • Regenerated llms-*.txt bundles. llms-full.txt and llms-observability.txt were rebuilt to pick up the Custom React UI section and the new listWorkflows / listApprovals RPC documentation introduced in 0.18.0.

Fixes

  • GUI .dmg link points at the correct host. The installation page and regenerated llms-*.txt bundles now use download.smithers.sh for the GUI download, replacing the get.smithers.sh URL that 404s.