SuperAPI AI 工具集

btst-integration

前端与建站

查看项目

更新于 10-15 20:06

技能介绍

用途:指导开发者在已有应用中手动集成 BTST 库,完成插件注册、CSS 导入、适配器与鉴权配置、路由挂载及数据库 schema 生成。

主要能力:安装 @btst/stack、@tanstack/react-query 及一个 @btst/adapter-*(prisma、drizzle、kysely、mongodb;memory 仅限开发测试);在 lib/stack.ts 注册后端插件并导出 handler 与 dbSchema;在 lib/stack-client.tsx 注册客户端插件;通过 createBackendStack 配置 basePath、plugins、adapter、auth;用框架入口工厂挂载 API 与页面路由;在全局 CSS 中为每个插件添加 @import;用 @btst/cli 生成 schema 并执行迁移。

使用方式:先满足前置条件(shadcn/ui 启用 CSS 变量、Sonner Toaster、Tailwind v4),安装依赖;后端插件从 @btst/stack/plugins/{plugin}/api 导入,客户端从 .../client 导入,复合名用 camelCase(如 aiChat);页面布局需 "use client",依次包裹 QueryClientProvider 与 StackProvider;API 路由用 toNextRouteHandlers 等工厂,页面路由用 createNextPage 等工厂;CLI 示例:npx @btst/cli generate --config=lib/stack.ts --orm=prisma --output=schema.prisma,Kysely 迁移用 npx @btst/cli migrate --config=lib/stack.ts --database-url=...。

适用场景:在 Next.js、React Router、TanStack 等框架的现有应用中接入 BTST 插件体系。

限制与注意:memory 适配器不可用于生产;Next.js 下需将实例固定到 globalThis;省略 auth 会保持宽松的无鉴权兼容;插件标签不构成强制边界;CLI 直接执行配置文件,lib/stack.ts 内应使用相对导入;Kysely 生成需提供 DATABASE_URL;插件需前后端同时注册,否则路由缺失或数据请求 404;缺少 CSS 导入会导致 UI 静默失效。完整代码形态见 REFERENCE.md。