Quickstart

Embed a first-run setup checklist in minutes. Free local/demo forever; BYO ($9.99) when you own progress; Hosted ($19.99) when Bootstrapware stores progress and summaries.

1. Install

pnpm add @bootstrapware/onboard

2. Choose a mode

Local / demo: createLocalAdapter (free).

BYO ($9.99): pass an OnboardAdapter plus hosted flow config for items and eligibility.

Hosted ($19.99): omit adapter; pass flowId + publishableKey.

Progress resolve order: explicit adapter → Hosted when flowId + publishable key and no adapter → local. Published config still loads whenever flowId + publishable key are set (Path C). See Modes.

3. Embed (local)

"use client";

import { Onboard, createLocalAdapter } from "@bootstrapware/onboard";
import "@bootstrapware/onboard/styles.css";

export function SetupChecklist() {
  return (
    <Onboard
      user={{ id: session.user.id, name: session.user.name }}
      workspaceKey={workspace.id}
      adapter={createLocalAdapter({ storageKey: "demo-onboard" })}
    />
  );
}

4. Embed (Hosted)

<Onboard
  flowId="flw_..."
  publishableKey="bsw_live_pub_..."
  user={currentUser}
  workspaceKey={workspace.id}
  authorToken={authorTokenFromBff}
/>

Live Hosted requires authorToken minted server-side. Test keys can write tokenless. MCP cannot mint keys.

5. Host-complete and facts

Call completeStep from your app when users finish real actions. Pass facts for reconciliation on mount. Never send host context through MCP.

Related: Modes · Identity · Adapter · Next.js guide · Live demo