
Prisma Client Api Constructor
- 14 installs
- 8 repo stars
- Updated February 9, 2026
- prisma/cursor-plugin
prisma-client-api-constructor configures PrismaClient with adapters and logging.
About
The prisma-client-api-constructor skill explains PrismaClient options in Prisma ORM v7. Adapter instances such as PrismaPg are required with connectionString from DATABASE_URL. accelerateUrl pairs with @prisma/extension-accelerate for prisma:// URLs. log arrays or event emit configs feed $on handlers. errorFormat selects pretty, colorless, or minimal output. transactionOptions set maxWait, timeout, and isolationLevel defaults. Singleton patterns use globalThis guards for development hot reload in plain Node and Next.js lib/prisma.ts examples. Query and log event samples show duration and parameter printing for observability during local debugging. Requires driver adapter in Prisma ORM v7 examples. Documents accelerateUrl with withAccelerate extension. Covers log levels and event emit configuration. Shows Node and Next.js singleton client patterns. Sets default transactionOptions on construction. Singleton PrismaClient with adapter and logging configured. User configures PrismaClient adapter, logging, or singleton module. Teams bootstrapping Prisma in Node or Next.js apps.
- Requires driver adapter in Prisma ORM v7 examples.
- Documents accelerateUrl with withAccelerate extension.
- Covers log levels and event emit configuration.
- Shows Node and Next.js singleton client patterns.
- Sets default transactionOptions on construction.
Prisma Client Api Constructor by the numbers
- 14 all-time installs (skills.sh)
- Ranked #604 of 911 Databases skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
prisma-client-api-constructor capabilities & compatibility
- Capabilities
- constructor options table · singleton and next.js patterns · query event subscription setup
- Works with
- postgres · vercel
- Use cases
- database · api development
What prisma-client-api-constructor says it does
adapter (Required in v7)
Prevent multiple client instances in development
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-client-api-constructorAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 14 |
|---|---|
| repo stars | ★ 8 |
| Last updated | February 9, 2026 |
| Repository | prisma/cursor-plugin ↗ |
How do I instantiate PrismaClient in v7?
Configure PrismaClient construction with v7 adapters, logging, Accelerate, and singleton patterns.
Who is it for?
Teams bootstrapping Prisma in Node or Next.js apps.
Skip if: Skip when client instance already matches project conventions.
When should I use this skill?
User configures PrismaClient adapter, logging, or singleton module.
What you get
Singleton PrismaClient with adapter and logging configured.
Files
PrismaClient Constructor
Configure Prisma Client when instantiating.
Basic Instantiation (v7)
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })Constructor Options
adapter (Required in v7)
Driver adapter instance:
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })accelerateUrl (For Accelerate users)
import { withAccelerate } from '@prisma/extension-accelerate'
const prisma = new PrismaClient({
accelerateUrl: process.env.DATABASE_URL, // prisma:// URL
}).$extends(withAccelerate())log
Configure logging:
const prisma = new PrismaClient({
adapter,
log: ['query', 'info', 'warn', 'error'],
})Log levels
| Level | Description |
|---|---|
query | All SQL queries |
info | Informational messages |
warn | Warnings |
error | Errors |
Log to events
const prisma = new PrismaClient({
adapter,
log: [
{ level: 'query', emit: 'event' },
{ level: 'error', emit: 'stdout' },
],
})
prisma.$on('query', (e) => {
console.log('Query:', e.query)
console.log('Duration:', e.duration, 'ms')
})errorFormat
Control error formatting:
const prisma = new PrismaClient({
adapter,
errorFormat: 'pretty', // 'pretty' | 'colorless' | 'minimal'
})transactionOptions
Default transaction settings:
const prisma = new PrismaClient({
adapter,
transactionOptions: {
maxWait: 5000, // Max wait to acquire transaction (ms)
timeout: 10000, // Max transaction duration (ms)
isolationLevel: 'Serializable',
},
})Singleton Pattern
Prevent multiple client instances in development:
// lib/prisma.ts
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined
}
function createPrismaClient() {
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL!
})
return new PrismaClient({ adapter })
}
export const prisma = globalForPrisma.prisma ?? createPrismaClient()
if (process.env.NODE_ENV !== 'production') {
globalForPrisma.prisma = prisma
}Next.js Pattern
// lib/prisma.ts
import { PrismaClient } from '@/generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const createAdapter = () => new PrismaPg({
connectionString: process.env.DATABASE_URL!
})
const prismaClientSingleton = () => {
return new PrismaClient({ adapter: createAdapter() })
}
declare const globalThis: {
prismaGlobal: ReturnType<typeof prismaClientSingleton>
} & typeof global
const prisma = globalThis.prismaGlobal ?? prismaClientSingleton()
export default prisma
if (process.env.NODE_ENV !== 'production') {
globalThis.prismaGlobal = prisma
}Query Events
Listen to query events:
const prisma = new PrismaClient({
adapter,
log: [{ level: 'query', emit: 'event' }],
})
prisma.$on('query', (e) => {
console.log('Query:', e.query)
console.log('Params:', e.params)
console.log('Duration:', e.duration)
})Log Events
prisma.$on('info', (e) => console.log(e.message))
prisma.$on('warn', (e) => console.warn(e.message))
prisma.$on('error', (e) => console.error(e.message)){
"name": "prisma-client-api-constructor",
"version": "7.0.0",
"author": "prisma",
"license": "MIT"
}Related skills
FAQ
What does prisma-client-api-constructor do?
prisma-client-api-constructor configures PrismaClient with adapters and logging.
When should I use prisma-client-api-constructor?
User configures PrismaClient adapter, logging, or singleton module.
Is this skill safe to install?
Review the Security Audits panel on this page before installing in production.