Skip to main content

Contributing

❤️ Sustainability Matters – Sponsorship directly funds maintenance, regression fixes, and new feature velocity.

Tests use Vitest; comprehensive generation tests cover multi-provider & feature flags. pnpm test runs every test file — there is no curated-subset script, because a hand-maintained file list drifts and quietly stops running new tests. Narrow it on the command line instead: pnpm test tests/config.test.ts, or pnpm test -t 'some test name'.

A Vitest globalSetup builds lib/ once before the workers spawn, so you don't need a separate build step first. It also sweeps the test-env-* scratch directories before and after each run; set KEEP_TEST_ENVS=1 to keep them for debugging. No database is needed — the provider suites only run prisma generate, they never connect.

Always use pnpmnpm and npx are not supported in this repo.

Typical workflow:

pnpm install
pnpm build
pnpm test

pnpm test does not run lint or type checking. Run those separately:

pnpm format      # or format:check
pnpm lint
pnpm typecheck

All four (format, lint, typecheck, test) should pass before you open a PR. PRs target master and commits follow Conventional Commits (type(scope): subject).

Add new config surface:

  1. Extend parser + defaults.
  2. Write focused test (see tests/config.test.ts).
  3. Update docs (this site) & add recipe if relevant.

Semantic release determines version bumps from conventional commits.

note

Pro features live in the private src/pro git submodule. Core contributors do not need it — building and testing the free generator works without it. Team members with access run pnpm setup to initialise the submodule and pnpm sync:pro to update it.

Docs site preview: pnpm docs:dev, production build: pnpm docs:build.

See CONTRIBUTING.md for the full workflow, commit scopes, and release process.


Support Roadmap & Impact

Sponsorship accelerates:

  • Prisma release compatibility validation
  • Performance profiling & optimization
  • Advanced JSON / Bytes features & recipes
  • Documentation polish & DX tooling
Become a Sponsor