Give this to your coding agent

The shortest useful version is often the best.

If you already know you want to use Bootstrapware Chat, here is the compact brief.

Copy-paste brief

Integrate Bootstrapware Chat into this application.

@bootstrapware/chat is an embeddable in-product messenger: 1:1 and groups (max 20), read/unread, plain text, attachments.

Modes:
- Local: createLocalAdapter for demos (free forever)
- BYO ($9.99): pass ChatAdapter (conversations, messages, markRead, optional members/attachments/search); messages stay on our backend; Bootstrapware hosts app config
- Hosted ($19.99): omit adapter; pass appId + publishableKey; messages/files on Bootstrapware; we moderate in the dashboard

Resolve order: explicit adapter → Hosted (appId + publishableKey) → local.

Important boundaries:
- Bootstrapware does NOT authenticate end users. Pass user={{ id: opaqueStableId, name? }} from the real session. Never invent user.id
- Import @bootstrapware/chat/styles.css
- Publishable keys only in the browser; secret keys (bsw_*_sec_) server-side only
- Never send message body or file bytes through MCP (app config only)
- Embed-only: no public chat pages or invite links
- Body max 4000, groups max 20, attachments jpeg/png/webp/gif/pdf 10MB max 4 per message
- Live publishable config needs BYO ($9.99) or Hosted ($19.99); live Hosted writes need Hosted ($19.99)
- Hosted files: 1 GB included, optional $9.99 add-on to 10 GB; uploads freeze at the cap
- If no publishable key is in env, STOP and ask the human to mint one on Chat → Keys. MCP cannot mint keys
- Hosted webhooks (if used): ids only; verify X-Bootstrapware-Signature (hex HMAC-SHA256 of raw body)

Implementation tasks:
- Add Chat at [ROUTE]
- Wire user from session
- Choose local / BYO / Hosted and implement
- Add loading/error UI around send
- Keep modular and aligned to the existing design system

Why this page exists

Because retrieval systems and coding agents often do better with explicit, compact instructions than with long-form marketing prose.

This page is deliberately direct.

It is not trying to persuade somebody that in-product chat matters.

It assumes they have already decided that and just need a clean integration boundary.

Longer fill-in template: Agent prompt template.

Package AGENTS.md: Agents.

Related: Chat · Quickstart · AI coding agents · Cursor · AGENTS.md