Repolode
prisma

prisma/orm

TypeScript ORM for Node.js that gives type-safe database access across PostgreSQL, MySQL, SQLite, MongoDB and other databases.

Stars
47,683
Forks
2,527
Open issues
2,785
Last commit
13 hours ago

What is it?

Prisma is an object-relational mapper for Node.js and TypeScript. It lets developers read and write data through a typed API instead of hand-written SQL strings, with the schema or contract serving as the source of truth for models and relations.

The repository holds Prisma 8, a TypeScript rewrite built around a minimal core with a public extension SPI. Existing extensions add pgvector and PostGIS column types, BM25 full-text search indexes, Supabase auth and storage tables, JSON validation with arktype, and searchable encryption. PostgreSQL and MongoDB are the primary supported databases, SQLite is in progress as a proof of concept, and MySQL is planned after it.

The project includes a CLI with an interactive scaffolder (`npm create prisma`) and an `orm init` command for adding Prisma to an existing project. It also ships agent skills for Claude Code, Cursor, Copilot and Devin so AI assistants can work with the schema and queries. Prisma 8 is currently a release candidate, and Prisma 7 remains on its own branch.

Key features

  • 01Type-safe database queries generated from your schema
  • 02Supports PostgreSQL and MongoDB as first-class databases, with SQLite in progress
  • 03Extension SPI for adding column types and integrations such as pgvector and PostGIS
  • 04Scaffolds new apps with `npm create prisma` and adds to existing projects with `orm init`
  • 05Ships agent skills for Claude Code, Cursor, Copilot and Devin

Use cases

  • Building a Next.js, NestJS or SvelteKit app that needs a typed PostgreSQL data layer
  • Adding vector similarity search to a PostgreSQL-backed application via the pgvector extension
  • Working with MongoDB from TypeScript using a typed client
  • Letting AI coding assistants read and modify a database schema and queries safely

Quick start

  1. 1

    Check that Node.js 24 or newer is installed

  2. 2

    Scaffold a new project with the interactive scaffolder

    npm create prisma
  3. 3

    Or add Prisma 8 to an existing project from the repo root

    npx prisma orm init
  4. 4

    Install the agent skills

    npx prisma skills sync

Things to know

  • Prisma 8 is a release candidate, so breaking changes may still occur before the 8.0.0 final release.
  • Only PostgreSQL and MongoDB have first-class support; SQLite is a proof of concept and MySQL is not yet supported.
  • Requires Node.js 24 or newer.

Topics

FAQ

What is orm?
TypeScript ORM for Node.js that gives type-safe database access across PostgreSQL, MySQL, SQLite, MongoDB and other databases. Prisma is an object-relational mapper for Node.js and TypeScript. It lets developers read and write data through a typed API instead of hand-written SQL strings, with the schema or contract serving as the source of truth for models and relations.
Is orm free to use? What license does it have?
orm is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is orm still maintained?
Actively maintained. The last commit to orm was on Oct 20, 2026.
What can I use orm for?
Building a Next.js, NestJS or SvelteKit app that needs a typed PostgreSQL data layer Adding vector similarity search to a PostgreSQL-backed application via the pgvector extension Working with MongoDB from TypeScript using a typed client Letting AI coding assistants read and modify a database schema and queries safely
How do I install orm?
Check that Node.js 24 or newer is installed Scaffold a new project with the interactive scaffolder: npm create prisma Or add Prisma 8 to an existing project from the repo root: npx prisma orm init Install the agent skills: npx prisma skills sync
Where can I get orm?
The source code and installation instructions are on GitHub: https://github.com/prisma/orm

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects