Prisma Client

Auto-generated, type-safe database client for Node.js and TypeScript.

Library
npm
v7.10.1
47,662 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 100
Maintenance 100
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
85 /100 Excellent
Architecture 90
Code Quality 85
Innovation 88
Learning Curve 78

Prisma Client is the auto-generated, type-safe query builder at the heart of Prisma ORM. Instead of hand-writing SQL or wiring up a schema-less query builder, you define your data model once in a Prisma schema file, run prisma generate, and get back a fully-typed client tailored to your exact models, relations, and fields — with autocompletion for every query, filter, and result shape in your editor.

It ships as a thin runtime package: the generated client delegates the actual database work to a query engine (native Rust binary or WASM, or a JS driver adapter for edge/serverless runtimes), so the JavaScript/TypeScript surface stays small while still supporting PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, CockroachDB, and MongoDB through one consistent API.

What You Get

  • A fully-typed CRUD and relational query API generated directly from your Prisma schema, with autocompletion for models, fields, filters, and nested relations
  • First-class TypeScript types for every query result, including partial selects and included relations, so mismatched fields fail at compile time instead of runtime
  • Pluggable driver adapters (@prisma/adapter-pg, @prisma/adapter-neon, @prisma/adapter-libsql, etc.) for running in edge and serverless runtimes without the native query engine binary
  • A client extensions API ($extends) for adding custom methods, computed fields, query middleware, and result transformations without forking the generated client
  • Built-in support for interactive and sequential transactions, raw SQL escape hatches ($queryRaw/$executeRaw), and OpenTelemetry-based query tracing

Common Use Cases

  • Type-safe data access layer for REST, GraphQL, or gRPC backends built on Node.js or TypeScript
  • Database client for serverless and edge functions (Vercel, Cloudflare Workers, Netlify) via driver adapters instead of the native engine binary
  • Rapid CRUD scaffolding for full-stack frameworks like Next.js, where the generated types flow straight into API routes and server components
  • Multi-database projects that need one consistent query API across Postgres in production and SQLite in local development or tests

Under The Hood

Architecture: Prisma Client is generated code, not a static library — running prisma generate reads your schema.prisma (and, since v7, prisma.config.ts) and emits a client tailored to your exact data model into the packages/client output. At runtime, the published @prisma/client package (packages/client/src/runtime/getPrismaClient.ts, ~1,150 lines) wires together the generated model API with the DMMF (Data Model Meta Format, an AST of your schema shipped from the Rust/WASM query engine), a request pipeline, and a pluggable Engine interface. Query execution is delegated to either a native binary engine, a WASM query-compiler, or a JS driver adapter (@prisma/adapter-pg, -neon, -libsql, -d1, -planetscale, -mssql, -mariadb, -better-sqlite3) — the same generated client code runs against any of them, which is how Prisma supports both traditional Node servers and edge/serverless runtimes from one API surface.

Tech Stack: The whole client package is TypeScript (98.95% of the repo by bytes) built with a custom helpers/build.ts (via tsx), Jest for unit/functional tests, and pnpm workspaces (pnpm-workspace.yaml) tying together ~40 packages under packages/ — client, client-common, client-engine-runtime, client-generator-js/-ts, internals, migrate, engines, and the per-database adapter-* packages. @prisma/client’s own runtime dependency footprint is intentionally minimal (@prisma/client-runtime-utils as its only non-peer dependency), with prisma and typescript as optional peer dependencies — the generator and CLI tooling live in separate packages so the installed client stays lean.

Code Quality: The client package has substantial automated test coverage — 49+ .test.ts files under packages/client/src/__tests__ covering DMMF parsing, raw-parameter serialization/deserialization, log-level resolution, type declarations, and dedicated types/ and integration/ suites, run through Jest with dotenv-loaded database credentials for integration tests and a separate test:functional harness for cross-database behavior. Source is organized by concern under src/runtime/core/ (engines, extensions, transaction, tracing, jsonProtocol, errors, model), which keeps the large runtime file (getPrismaClient.ts) focused on orchestration rather than implementation detail.

API Design: The generated API mirrors your schema directly — prisma.user.findMany({ where, include }) — so there’s near-zero boilerplate between defining a model and querying it, and results are typed down to the exact shape of the select/include you passed. The $extends mechanism and typed raw-SQL helpers (sql template tag, $queryRaw) give escape hatches without breaking type safety, and the required prisma generate step (rather than a fully dynamic client) is the main learning-curve cost, since it means the client is only ever as current as your last generate.

Used by 76 apps in this directory

TypeScript
96%
Apache 2.0

Pezzo

AI Development · Monitoring

3,278

Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.

View details
59
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 96%
Updated 2 months ago
TypeScript
58%
MIT

PortNote

Networking

1,258

Centralized web dashboard to document, track, and auto-scan port assignments across all your servers and VMs — no more spreadsheets.

View details
35
Repo Health
47
Technical
75
Dependency
Built with
TypeScript 58%
JavaScript 36%
Updated 1 years ago
TypeScript
81%
AGPL 3.0

Postiz

Automation · Social Media

37,683

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
92
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 81%
JavaScript 11%
Updated 1 weeks ago
TypeScript
96%
Apache 2.0

rakazo

AI Agents · AI Assistants

5,488

An open-source platform for persistent AI teammates that own their own conversations, memory, routines, and computers — self-hosted, model-agnostic, and available on web, desktop, and mobile.

View details
82
Repo Health
91
Technical
70
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
96%
Apache 2.0

rakazo

AI Agents · AI Assistants

5,488

An open-source platform for persistent AI teammates that own their own conversations, memory, routines, and computers — self-hosted, model-agnostic, and available on web, desktop, and mobile.

View details
82
Repo Health
91
Technical
70
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
95%
AGPL 3.0

Rallly

Scheduling

5,318

Self-hostable group scheduling polls that eliminate back-and-forth emails and find the best meeting time for everyone.

View details
91
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 95%
Updated 1 weeks ago
TypeScript
95%
AGPL 3.0

Rallly

Scheduling

5,318

Self-hostable group scheduling polls that eliminate back-and-forth emails and find the best meeting time for everyone.

View details
91
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 95%
Updated 1 weeks ago
TypeScript
96%
Other

Refly

AI Development · Automation · No Code Platforms

7,537

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
68
Repo Health
76
Technical
63
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
98%
MIT

sigle

Blogging

489

A decentralized, open-source writing platform that permanently stores your stories on the Stacks blockchain and Arweave — where Web3 content creators own their words forever.

View details
81
Repo Health
78
Technical
69
Dependency
Built with
TypeScript 98%
Updated 2 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers