Overview
Boardwalk runs agent workflows: TypeScript programs that call models, run on schedules or webhooks, and keep a permanent record of every run. A workflow is plain code, so you author it in your own editor, with your own packages and tests, and run the exact same file on your laptop, on your own hardware, or hosted on Boardwalk.
What Boardwalk is
The control plane for agent workflows: the place your org builds, versions, triggers, and runs them. The CLI (@boardwalk-labs/cli) and SDK (@boardwalk-labs/workflow) are open source (MIT), and the same program runs identically under three engines: the CLI's embedded engine, a self-hosted server, and Boardwalk itself. Start with Concepts for the handful of nouns the rest of the docs use.
The shape of a workflow
A workflow is one TypeScript file with two parts: a meta export that declares the contract, and a script body that does the work. No YAML, no node editor, no framework to subclass.
import { agent, output } from "@boardwalk-labs/workflow";
export const meta = {
slug: "haiku",
triggers: [{ kind: "manual" }],
};
const poem = await agent("Write a haiku about a boardwalk at sunrise.");
output(poem);The file runs top to bottom each time the workflow runs. meta is a pure literal that Boardwalk reads to learn the schedule, declared secrets, and budget without executing your code; agent() calls a model, and durable primitives (secrets.get, sleep, workflows.call) do the rest. See Writing workflows for the full model.
The author loop
Install the CLI, then write, run, and ship from your terminal:
npm install -g @boardwalk-labs/cli
boardwalk login # browser OAuth, once
boardwalk dev ./index.ts # run it now, streaming the run log
boardwalk run ./index.ts --org your-org # deploy + trigger a real runboardwalk dev executes the file on your laptop and streams the run log. Because agent() uses Boardwalk's managed models by default, a one-time boardwalk login lets the local run reach them, or point agent() at your own provider and run with no account at all. Once deployed, a cron or webhook trigger fires the workflow on its own, and every run gets a live tail and a permanent record.
Where to next
- Concepts: the nouns the docs use.
- Writing workflows: the program model and the SDK surface.
- Inference: how
agent()picks a model: managed, any model, or your own key. - Triggers and Secrets & environments: wiring up schedules and credentials.
- Deploy & run and Runs & observability: shipping a workflow and watching it run.
- Orgs, roles & audit: members, roles, and the record of what happened.
- Self-hosting: run the whole thing on your own hardware.
- CLI, Manifest, and SDK reference: every command, field, and export.