Installation
Install the package
npm install @usebetterdev/tenantpnpm add @usebetterdev/tenantyarn add @usebetterdev/tenantbun add @usebetterdev/tenantThe main package (@usebetterdev/tenant) includes the core library and all adapters via subpath exports. The CLI (@usebetterdev/tenant-cli) is used via npx for generating migrations and verifying your setup — no installation required.
Peer dependencies
You need a database driver and (optionally) a framework. Install the ones you use:
ORM adapter
npm install drizzle-orm pgImport: @usebetterdev/tenant/drizzle
npm install @prisma/clientImport: @usebetterdev/tenant/prisma
Framework adapter
npm install honoImport: @usebetterdev/tenant/hono
npm install expressImport: @usebetterdev/tenant/express
Next.js is already installed in your project.
Import: @usebetterdev/tenant/next
Requirements
- Node.js 22+ (also supports Bun and Deno)
- PostgreSQL 13+ (RLS, session variables,
SET LOCAL) - TypeScript 5+ (recommended, but not required)
Subpath exports
All adapters are available through the umbrella package via subpath exports:
| Import | Contents |
|---|---|
@usebetterdev/tenant | Core: betterTenant, getContext, runAs, runAsSystem |
@usebetterdev/tenant/drizzle | drizzleAdapter, createGetTenantRepository |
@usebetterdev/tenant/prisma | prismaAdapter, createGetTenantRepository |
@usebetterdev/tenant/hono | createHonoMiddleware |
@usebetterdev/tenant/express | createExpressMiddleware |
@usebetterdev/tenant/next | withTenant |
Next steps
- Quick Start — wire up a working multi-tenant app