Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
prisma avatar

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)
At a glance

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
From the docs

What prisma-client-api-constructor says it does

adapter (Required in v7)
SKILL.md
Prevent multiple client instances in development
SKILL.md
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-client-api-constructor

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs14
repo stars8
Last updatedFebruary 9, 2026
Repositoryprisma/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

SKILL.mdMarkdownGitHub ↗

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
LevelDescription
queryAll SQL queries
infoInformational messages
warnWarnings
errorErrors
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))

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.

Databasesdatabases

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.