BTST

Plugins

Available plugins and features for BTST

BTST ships installable capabilities with different boundaries. Full-stack plugins register backend and client behavior. OpenAPI is backend-only, Route Docs is client-only, UI Builder is client-only and depends on CMS, and Better Auth UI is a companion for an application that already runs Better Auth.

Every capability below is released and installable. Choose a page to see its actual payload and prerequisites; the catalog does not mix roadmap ideas into the available inventory.

Representative decision guides

These three entries establish the decision pattern for a complete feature, a workflow-heavy feature, and an intentionally one-sided plugin.

Real BTST Blog page with three published product-update posts in the generated Next.js application.
Full-stackReleased · Preview

Blog

Publish and manage a content section inside the React application you already run.

Requires
A BTST database adapter
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Blog
Real BTST Form Builder with Email, Text Area, and Select fields on the canvas and in the live form preview.
Full-stackReleased · Preview

Form Builder

Let operators design forms visually, publish them inside your app, and collect validated submissions.

Requires
A database adapter with isolated transaction support
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Form Builder
Real Scalar API reference generated by the backend-only BTST OpenAPI plugin.
Backend-onlyReleased · Preview

OpenAPI

Expose an OpenAPI 3.1 contract for registered BTST routes and, when useful, an interactive API reference.

Requires
A registered BTST backend stack to inspect
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore OpenAPI

More released plugins

Real authenticated BTST AI Chat shell with an empty conversation-history sidebar, attachment control, and a product-context prompt ready to send.
Full-stackReleased · Preview

AI Chat

Add a streaming conversation surface while choosing the model, access policy, and operating limits yourself.

Requires
An AI SDK language model; A database adapter with isolated transaction support for authenticated persistence
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore AI Chat
Two real BTST CMS states showing code-defined content types in the dashboard and stored Product records in the generated application.
Full-stackReleased · Preview

CMS

Define structured content in TypeScript and give operators generated forms for managing it.

Requires
A BTST database adapter; Code-defined Zod content types
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore CMS
Real BTST UI Builder editing a release-evidence page with layers, canvas, status, and component properties.
Client-onlyDependentReleased · Preview

UI Builder

Let operators compose pages visually, store the layout through CMS, and render it on routes you own.

Requires
The CMS plugin, added automatically by the CLI
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore UI Builder
Real BTST Kanban board with To Do, In Progress, and Done columns containing prioritized tasks.
Full-stackReleased · Preview

Kanban

Add boards, columns, tasks, priorities, and drag-and-drop workflows inside your product.

Requires
A database adapter with isolated transaction support
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Kanban
Real BTST Comments moderation page showing an approved discussion attached to the shipping-plugin-catalog Blog resource.
Full-stackReleased · Preview

Comments

Attach threaded discussion and moderation to a resource your application already owns.

Requires
A BTST database adapter; An adopter-owned host resource
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Comments
Real BTST Media library showing the checked-in product-proof image after upload, metadata registration, and search.
Full-stackReleased · Preview

Media

Upload, organize, register, and reuse media through a library that runs with your storage.

Requires
An isolating Prisma, Drizzle, or Kysely database adapter for persistent writes; A configured media storage adapter
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Media
Real BTST Route Docs page generated from the client stack, with registered plugin routes, paths, and parameter context.
Client-onlyReleased · Preview

Route Docs

Generate an explorable reference for the client routes already registered in your BTST stack.

Requires
Registered BTST client routes to inspect
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Route Docs
Client-onlyCompanionReleased · Preview

Better Auth UI

Add auth and account routes to a BTST client stack that already has a Better Auth backend.

Requires
An existing Better Auth backend and browser client; The supported @btst/better-auth-ui and Better Auth package cohort
Maintained paths
Next.js 15+ App Router · React Router v7 · TanStack Start
Explore Better Auth UI

Build a plugin

Versioned technical metadata

Build-time consumers can import PLUGINS and the PluginDecisionMeta type from @btst/codegen/meta. The contract carries technical inventory such as topology, relationship, maturity, dependencies, maintained integrations, and canonical docs, demo, and source identifiers. Audience copy, workflow wording, and calls to action remain presentation-owned.

Prop

Type

Consumers that cannot wait for a package release can read the checked-in plugin-decisions.json during their build or content-validation step. Pin the raw URL to a commit when reproducibility matters. The same artifact is published as @btst/codegen/plugin-decisions.json; check schemaVersion before consuming its eleven released plugins records. Do not fetch it from the browser at runtime.

After changing PLUGIN_DECISIONS, regenerate and verify the artifact from the repository root:

pnpm --filter @btst/codegen plugin-decisions:generate
pnpm --filter @btst/codegen plugin-decisions:check