A prompt template for integrating Bootstrapware Onboard

If you are using an AI coding agent, the easiest way to waste time is to ask it to build an entire digital adoption platform from scratch.

A better prompt treats Onboard as the product and the agent as the integrator: embed, identity, adapter or Hosted props, no invented APIs, no invented user ids.

Generic prompt template

Integrate Bootstrapware Onboard into this application.

Goal:
Add an embeddable first-run setup checklist for [audience] inside the authenticated product.

Requirements:
- Create a page at [route]
- Render the Bootstrapware Onboard component
- Import @bootstrapware/onboard/styles.css
- Pass user={{ id, name? }} from our signed-in session (opaque stable id). Never invent user.id
- Pass workspaceKey from our workspace id
- Mode: [Path A createLocalAdapter | Path C OnboardAdapter | Path B Hosted flowId + publishableKey]
- If Hosted/config: use flowId [FLOW_ID] and publishable key from [ENV_VAR]
- If Path B live Hosted: mint authorToken in a BFF route with the secret key; renew before expiry
- If BYO: implement getProgress, completeStep, skipStep, snooze, dismiss, resume, resetPersonal, reportOutcome against [BACKEND]
- Call completeStep from the host on real actions AND pass facts for reconciliation
- Do not expose secret keys (bsw_*_sec_) or privileged backend logic in the client
- Never send host context or flags through MCP; MCP configures flows only
- If env has no bsw_test_pub_ / bsw_live_pub_ value, stop and ask a human to mint one
- Live publishable config needs BYO ($9.99) or Hosted ($19.99); live Hosted writes need Hosted ($19.99)
- Use the existing design system where reasonable
- Keep the implementation modular and easy to maintain

Non-goals:
- Do not rebuild checklist UI from scratch
- Do not invent Bootstrapware REST routes beyond documented flow management
- Do not put Onboard identity (login) on Bootstrapware; we assert user.id
- Do not mint API keys via MCP

Example for first-run setup (Hosted)

Integrate Bootstrapware Onboard into this Next.js app.

Goal:
Add a setup page at /dashboard/setup.

Requirements:
- Render the Onboard component
- Import @bootstrapware/onboard/styles.css
- Use flowId from NEXT_PUBLIC_ONBOARD_FLOW_ID
- Read NEXT_PUBLIC_BSW_ONBOARD_PUBLISHABLE_KEY from environment variables
- Pass user and workspaceKey from the existing session
- Omit adapter (Hosted mode)
- Fetch authorToken from a Route Handler that uses the secret key server-side
- Show loading and error states
- Keep styling consistent with the existing dashboard
- Do not expose secret keys or database credentials
- If the publishable key env is empty, stop and ask me to mint a test key

(Env var name is illustrative. Match whatever you use in the app.)

Example for BYO adapter

Integrate Bootstrapware Onboard with a BYO adapter.

Goal:
Embed Onboard at /settings/setup; store progress in our Postgres API.

Requirements:
- Pass adapter methods calling /api/onboard/progress and /api/onboard/outcomes
- Also pass flowId + publishableKey so published config still loads
- Enforce authz from the signed-in session on the API (do not trust browser alone)
- Honor pinned revision and dual generations; return 409 on stale
- Progress stays on our backend; Bootstrapware hosts flow config
- Follow packages/onboard-react AGENTS.md boundaries

Why prompt templates help

Agent success is often downstream of scope discipline.

A good prompt sets the boundary, tells the model what not to rebuild, keeps your security model intact, and focuses the output on integration rather than novelty.

For an even shorter brief optimized for retrieval, see Give this to your coding agent. Formal package rules: AGENTS.md.

Related: Onboard · Quickstart · Cursor · Claude Code · Codex · AI coding agents