From app-dev
Prisma ORM expertise for schema design, migrations, client usage, and deployment. Use when writing Prisma schemas, creating migrations, querying with Prisma Client, defining relations, or deploying database changes. Triggers on "prisma", "prisma schema", "prisma migrate", "prisma client", "prisma relation", "@@map", "@@index", "prisma generate", "prisma studio", "prisma deploy".
npx claudepluginhub iwritec0de/claude-plugin-marketplace --plugin app-devThis skill uses the workspace's default tool permissions.
You are a Prisma ORM expert for TypeScript applications.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
You are a Prisma ORM expert for TypeScript applications.
prisma generate after schema changes — the client is code-generated, not runtimemigrate dev in development — creates migration files and applies themmigrate deploy in production — applies pending migrations without creating new onesdb push in production — it doesn't create migration files and can lose data@@index for query performance — Prisma doesn't auto-create indexes on FKsprisma.$transaction() for consistencymodel User {
id String @id @default(uuid())
email String @unique
name String?
posts Post[]
profile Profile?
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
@@map("users")
@@index([email])
}
model Post {
id String @id @default(uuid())
title String
content String?
author User @relation(fields: [authorId], references: [id], onDelete: Cascade)
authorId String @map("author_id")
@@map("posts")
@@index([authorId])
}
Key attributes: @id, @unique, @default(), @map(), @relation(), @@map(), @@index(), @@unique(). Read reference/schema-patterns.md for all types and patterns.
| Type | Schema Pattern |
|---|---|
| One-to-One | FK with @unique on one side, optional ? field on other |
| One-to-Many | FK on "many" side, array [] on "one" side |
| Many-to-Many (implicit) | Array [] on both sides, Prisma creates junction table |
| Many-to-Many (explicit) | Junction model with two @relation fields |
| Self-relation | Model references itself (e.g., parent/children) |
// Create with relation
const user = await prisma.user.create({
data: { email: 'a@b.com', name: 'Alice', posts: { create: { title: 'Hello' } } },
include: { posts: true },
});
// Query with filtering
const posts = await prisma.post.findMany({
where: { author: { email: { contains: '@company.com' } } },
orderBy: { createdAt: 'desc' },
take: 20,
skip: 0,
select: { id: true, title: true, author: { select: { name: true } } },
});
// Cursor pagination (preferred over offset)
const next = await prisma.post.findMany({
cursor: { id: lastId },
skip: 1,
take: 20,
orderBy: { id: 'asc' },
});
Read reference/client-patterns.md for CRUD recipes, nested writes, transactions, and error handling.
# Development: create and apply migration
npx prisma migrate dev --name add_user_table
# Production: apply pending migrations
npx prisma migrate deploy
# Reset database (development only)
npx prisma migrate reset
# Generate client after schema change
npx prisma generate
# Browse database
npx prisma studio
Read reference/migration-workflow.md for CI/CD integration, handling drift, and rollback strategies.
prisma.$queryRaw for complex SQL not supported by clientprisma.$transaction([...]) for sequential, or prisma.$transaction(async (tx) => {...}) for interactiveprisma.$use() for logging, soft delete, audit trailspgbouncer=true in connection string for serverlessdb push in prod — no migration history, can drop columns@@index — Prisma doesn't auto-index foreign keysselect to reduce payloadinclude to eager-load relationsprisma migrate dev in CI — use prisma migrate deployreference/schema-patterns.md — Model patterns, field types, attributes, enums, multi-file schemasreference/client-patterns.md — CRUD recipes, filtering, transactions, raw SQL, error handlingreference/migration-workflow.md — Dev vs prod workflow, seeding, CI/CD, rollback