prisma/prisma
How to contribute
Active contributors: jacek-prisma, Oleksii Orlenko, Kristof Siket, Søren Bramer Schmidt
The full external-facing rules live in CONTRIBUTING.md. This page summarizes them from the perspective of a contributor working inside the repo, with pointers to the deeper pages in this section.
Picking up work
Most non-trivial work tracks a GitHub issue. If you're picking up work yourself:
- Check the issues and discussions for an existing tracker.
- If you're a Prismanaut, you can attach
/integrationto your PR description to release a pre-release version to the npmintegrationtag (see Development workflow). - Set up your sandbox project under
sandbox/for reproductions (see Getting started).
PR expectations
Quoting CONTRIBUTING.md and adapting:
- Description — explain the change and link the tracking issue. Use
/integrationif you need a pre-release. - Tests — every change ships tests. Where they go depends on the change; see Testing.
- CI —
Lint,CLI commands, andAll pkgs (win+mac)GitHub Actions must pass. CI lives in.github/workflows/test.ymlplus the sub-workflows in the same directory. - Bundle size — the
size-limit report 📦comment must showpackages/cli/build/index.jsunder ~6MB. Limits are configured in the rootpackage.jsonsize-limitarray. - CLA — first-time contributors sign the Prisma CLA.
Commit message format
<type>(<package>): <subject>
<body>Types: feat, fix, docs, style, refactor, perf, test, chore. Package matches the directory name under packages/. Example: feat(client): add accelerateUrl option to constructor.
Definition of done
A change is done when:
- Source compiles (
pnpm buildorpnpm dev) without errors. - Lint is clean (
pnpm lint). - Tests for the affected package pass (
pnpm --filter @prisma/<pkg> test [pattern]). - CI green on the PR.
- PR description references the issue and lists any user-visible behavior change.
- If a change adds knowledge that future agents would want,
AGENTS.mdis updated. This is not optional for behavior changes — the AGENTS.md file is the running knowledge base.
Sub-pages
- Development workflow — branch / build / test / PR / merge cycle, including pre-release tags
- Testing — Jest vs Vitest, functional matrix, e2e, integration, fixtures
- Debugging — debugging recipes for the CLI, the client runtime, generators, and Studio
- Patterns and conventions — coding style, error handling, file naming
- Tooling — esbuild build pipeline, Turborepo, ESLint local rules, Prettier
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.