Bedrock Flows

Getting started

Get the Bedrock Flows stack running locally, then take it online for a team.

There are two ways to run Bedrock Flows: local (just you, nothing to sign up for) and online (behind sign-in, for a team to review). Start local — it needs nothing but Node.

Prerequisites

For local development, that is all you need:

  • Node.js v18 or newer
  • npm (ships with Node)

You don't need any accounts, API keys, or a Cloudflare login to run a project locally.

Local — no accounts

Scaffold a new project, install, and run:

npx bedrock-flows create my-flows
cd my-flows
npm install
npm run dev

npm run dev is one command that runs everything — the worker, the dashboard, and the design-system storybook together. Then open:

http://localhost:5173

A built-in dev session lets you view the project immediately — there's nothing to sign up for. The first run generates apps/worker/.dev.vars automatically, so there's no setup step.

You edit two folders:

  • prototypes/ — wireflow prototypes (one folder per flow; _shared/ holds the page templates).
  • design-system/ — versioned design systems.

Upgrade the platform later with:

npm install @obra-studio/bedrock-flows@latest

Online — for a team, behind sign-in

To put flows online so a team can review them behind sign-in, you additionally need:

  • A Cloudflare account (the flows deploy to a single Cloudflare Worker — KV, D1, and secrets).
  • (Optional) Postmark or Resend, to email invites. Without an email provider, sign-in still works — you just share links by hand instead of emailing them.
  • (Optional) A Google OAuth client, to enable Google sign-in.

Stand up the backend, then deploy:

bedrock-flows setup my-flows     # creates KV + D1 + secrets, then deploys
npm run deploy                   # ship subsequent changes

bedrock-flows setup provisions this project's own Cloudflare resources (KV namespaces, a D1 auth database, secrets) and does the first deploy. After that, npm run deploy builds and ships your changes (wrangler deploy under the hood).

Useful setup flags:

bedrock-flows setup my-flows --domains=acme.com,example.com   # restrict signup to these domains
bedrock-flows setup my-flows --google                         # enable Google sign-in
bedrock-flows setup my-flows --dry-run                        # print every action without executing

On this page