Skip to content

refactor: rename Prisma Next to Prisma ORM across the repo - #265

Merged
wmadden-electric merged 3 commits into
mainfrom
claude/prisma-next-to-orm-8-8ed295
Aug 26, 2026
Merged

refactor: rename Prisma Next to Prisma ORM across the repo#265
wmadden-electric merged 3 commits into
mainfrom
claude/prisma-next-to-orm-8-8ed295

Conversation

@wmadden-electric

@wmadden-electric wmadden-electric commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Retires the pre-release "Prisma Next" naming across the repo now that the product shipped as Prisma ORM (v8) and the source repo moved to prisma/orm.

Naming decisions (settled with Will)

The ORM-managed database is the default, so it takes the unmarked names:

Before After
@prisma/composer-prisma-cloud/prisma-next @prisma/composer-prisma-cloud/orm
pnPostgres() (ORM-managed) postgres() (exported from /orm)
pnContract() dataContract()
postgres() (unmanaged, main entry) rawPostgres()
node kind 'prisma-next' / 'postgres' 'postgres' / 'raw-postgres'
alchemy type 'PrismaNext.Migration' 'PrismaOrm.Migration'

Compatibility

  • PrismaOrm.Migration: existing stacks carry PrismaNext.Migration rows in alchemy state. A one-entry on-read rewrite in legacy-resources.ts (the same mechanism as the upstream-provider adoption) renames the row type with props untouched, so the next deploy adopts it without churn. Covered by a new test.
  • Node kinds: not persisted — serialize/deserialize happen inside one deploy run, so no handling needed.
  • prisma.config.ts: examples and fixtures renamed from prisma-next.config.ts, matching every scaffolded project. Release 0.15.0: ORM family to 8.0.0-rc.8, engine to 0.3.0 #263 had parked the examples on the old filename because the standalone prisma-composer bin rejects a config carrying a section it doesn't mount (CLI.CONFIG_UNKNOWN_SECTION); this PR fixes that properly — the bin now declares the orm section via a section-only command family with a pass-through validator, so a shared prisma.config.ts loads while a genuinely unknown key still errors (tested). Existing state rows store the old configPath; it is only re-read when extension packs are declared, and redeploying after renaming the file writes the new path.

Deliberately unchanged

  • The // use prisma-next PSL pragma and emitted contract headers — still what the upstream toolchain (8.0.0-rc) emits and expects.
  • @prisma-next/* npm package names in historical incident notes (gotchas.md) — factual identifiers of published artifacts.
  • The #pn-gotchas Linear link and dependency-cruiser entity kind postgres-database (Management API vocabulary).

Also in this PR

  • agent-os removed (per operator direction): the agent-os/ product notes, the .claude/agents/agent-os/ and .claude/commands/agent-os/ definitions, the detect-inert-diff allowlist entry, and the ADR pointers into the deleted notes.

Breaking changes

@prisma/composer-prisma-cloud consumers must update imports: /prisma-next/orm, pnPostgrespostgres, pnContractdataContract, plain postgresrawPostgres. Downstream updates to prisma/create-prisma (prisma/create-prisma#72), prisma/prisma-examples (prisma/prisma-examples#8597), and prisma/web (prisma/web#8196) follow once this publishes as 0.16.0 (0.15.0 shipped from main without this rename).

Verified: full turbo build + typecheck + test green (106 tasks), biome lint clean, lint:deps (dependency-cruiser + architecture coverage + vocabulary + orm-pins + contract-snapshots) green.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 67471a4b-6f17-4dc5-b0a4-72f0d0ac63ec


Comment @coderabbitai help to get the list of available commands.

The upstream product shipped as Prisma ORM (v8) and the source repo moved to
prisma/orm, so the pre-release naming is retired everywhere:

- Prose: "Prisma Next" -> "Prisma ORM" in README, guides, design docs, ADRs,
  working notes; repo links point at prisma/orm.
- Public API: the ORM-managed database is now the default name — the
  `./prisma-next` entrypoint becomes `./orm` exporting `postgres()` (formerly
  `pnPostgres`) and `dataContract()` (formerly `pnContract`); the unmanaged
  factory in the main entry becomes `rawPostgres()` with `rawPostgresContract`.
- Node kinds follow the factories: `prisma-next` -> `postgres`,
  plain `postgres` -> `raw-postgres` (neither persists across deploys).
- Alchemy resource type `PrismaNext.Migration` -> `PrismaOrm.Migration`, with
  an on-read state rewrite (legacy-resources.ts) so existing stacks adopt the
  new type without churn.
- Files/examples: `pn-*`/`prisma-next*` sources renamed to `orm-*`;
  `prisma-next.config.ts` -> `prisma.config.ts` (upstream convention);
  `examples/pn-widgets` -> `examples/orm-demo`.
- The `// use prisma-next` PSL pragma, emitted contract headers, and
  `@prisma-next/*` npm names in historical incident notes are upstream-owned
  or factual and stay as-is.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@wmadden-electric
wmadden-electric force-pushed the claude/prisma-next-to-orm-8-8ed295 branch from 0164a25 to 98fcc3c Compare August 26, 2026 12:31
@pkg-pr-new

pkg-pr-new Bot commented Aug 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@prisma/composer@265
npm i https://pkg.pr.new/@prisma/composer-cli@265
npm i https://pkg.pr.new/@prisma/composer-prisma-cloud@265

commit: 2d8968d

The examples ORM configs are named prisma.config.ts, like every scaffolded
project. That name previously broke `prisma-composer deploy` here: the engine
rejects any top-level config key no mounted command family declares
(CLI.CONFIG_UNKNOWN_SECTION), and the standalone bin mounts only the composer
family, so a shared config carrying the orm section failed the deploy (#263
worked around it by keeping the old filename). The bin now mounts a
section-only family declaring `orm` with a pass-through validator: the shared
file loads, the ORM CLI stays the owner of that section shape, and a genuinely
unknown key still errors.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
The agent-os process (product notes under agent-os/, its subagents and
commands under .claude/) is retired. ADR-0025/0026/0027 drop their pointers
into the deleted notes; the naming decisions they record are unaffected.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@wmadden-electric
wmadden-electric merged commit 11989ed into main Aug 26, 2026
22 checks passed
@wmadden-electric
wmadden-electric deleted the claude/prisma-next-to-orm-8-8ed295 branch August 26, 2026 12:54
wmadden-electric added a commit to prisma/web that referenced this pull request Aug 26, 2026
prisma/composer#265 renamed examples/pn-widgets to examples/orm-demo; the
link checker caught the resulting 404.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
wmadden pushed a commit to prisma/prisma-cli that referenced this pull request Aug 26, 2026
Moves `@prisma/composer-cli` (cli, prisma) and `@prisma/composer` (cli
conformance dep) to **0.16.0** — the Prisma ORM rename release
(prisma/composer#265): the `/prisma-next` entrypoint is now `/orm`,
`pnPostgres()`/`pnContract()` are `postgres()`/`dataContract()`, the
untyped factory is `rawPostgres()`, and existing stacks'
`PrismaNext.Migration` state rows are adopted on read.

Produced by `node scripts/update-product-versions.mjs --channel
release`, run by hand: the `update-product-versions` workflow currently
fails at push — `DEPLOY_GITHUB_TOKEN` is not configured (remote:
permission denied to prisma-bot), see run 32973937787.

Next: once this lands, the release itself is the root version-bump PR
(rc.11 → rc.12).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
wmadden pushed a commit to prisma/prisma-cli that referenced this pull request Aug 26, 2026
Release 8.0.0-rc.12 — first CLI release shipping composer **0.16.0**
(#241): the Prisma ORM rename (prisma/composer#265) — `/orm` entrypoint,
`postgres()`/`dataContract()`/`rawPostgres()`, `PrismaOrm.Migration`
state adoption.

Merging this publishes to npm under `latest` and cuts the GitHub
Release.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
wmadden-electric added a commit to prisma/prisma-examples that referenced this pull request Aug 26, 2026
Composer 0.15.0 renames its ORM entrypoint (prisma/composer#265): the
/prisma-next subpath becomes /orm, pnPostgres() becomes postgres(), and
pnContract() becomes dataContract(). Update the hono, nextjs, and
tanstack-start templates and bump their composer pins to 0.15.0 (with the
matching alchemy 2.0.0-beta.74 and @prisma/cli-engine 0.2.3).

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
wmadden-electric added a commit to prisma/create-prisma that referenced this pull request Aug 26, 2026
Composer 0.15.0 renames its ORM entrypoint (prisma/composer#265): the
`/prisma-next` subpath becomes `/orm`, `pnPostgres()` becomes `postgres()`,
and `pnContract()` becomes `dataContract()`. Update the scaffold templates
and pin composer 0.15.0; rename the internal `supportsPrismaNext` helper to
`supportsPrisma`.

The Deno path deliberately keeps the `prisma-next` npm CLI (ORM-only
entrypoint) and its generated `prisma-next.config.ts`/`prisma-next.md` until
the consolidated CLI is Deno-compatible — those references are unchanged.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
wmadden pushed a commit to prisma/prisma-examples that referenced this pull request Aug 26, 2026
* refactor(compute): adopt the Prisma ORM composer API names

Composer 0.15.0 renames its ORM entrypoint (prisma/composer#265): the
/prisma-next subpath becomes /orm, pnPostgres() becomes postgres(), and
pnContract() becomes dataContract(). Update the hono, nextjs, and
tanstack-start templates and bump their composer pins to 0.15.0 (with the
matching alchemy 2.0.0-beta.74 and @prisma/cli-engine 0.2.3).

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

* Pin composer 0.16.0 and orm-postgres 8.0.0-rc.8: composer 0.15.0 shipped without the rename, and 0.16.0 peers on the rc.8 ORM family

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

* Bump prisma to 8.0.0-rc.12 and refresh template lockfiles

The prisma CLI that bundles composer-cli 0.16.0 is 8.0.0-rc.12, so the three database templates pin it. Regenerate their bun.lock files (stale since the 0.16.0 pin; CI installs with --frozen-lockfile) and split the test assertions: database templates expect composer 0.16.0 and prisma 8.0.0-rc.12, personal-site stays on 0.15.0 and rc.11.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

* Fix pre-existing npm install failures in two examples

The test (orm) and test (generator-prisma-client) jobs fail on the base
branch too; this PR only touches compute/. Both failures are ERESOLVE
peer-dependency conflicts during npm install:

- orm/cloudflare-workers: @cloudflare/vitest-pool-workers 0.13.4 peers
  on vitest ^4.1.0 but vitest was pinned at 3.2.4. Bump vitest to 4.1.11.
- generator-prisma-client/react-router-starter-nodejs: react-router was
  bumped to 7.12.0 but @react-router/node, /serve, and /dev stayed at
  7.6.3, which peers on react-router 7.6.3. Bump all three to 7.12.0.

Verified locally: npm install and prisma generate succeed in both.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

* Align @prisma/cli-engine with the Prisma toolchain

The three compute examples pinned @prisma/cli-engine 0.2.0 directly while
prisma 8.0.0-rc.12 and @prisma/composer-cli 0.16.0 depend on 0.3.0, so the
tree carried two copies. Bump the direct pin to 0.3.0 and regenerate the
bun.lock files; each tree now resolves a single cli-engine.

Addresses CodeRabbit review feedback on PR #8597.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

* Bump react-router to 7.18.2 in react-router-starter-nodejs

react-router 7.12.0 is affected by GHSA-jjmj-jmhj-qwj2, and later 7.x
releases fix further redirect and RSC advisories. Bump react-router,
@react-router/node, @react-router/serve, and @react-router/dev together
to 7.18.2.

Addresses CodeRabbit review feedback on PR #8597. Verified locally:
npm install and prisma generate succeed.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

---------

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants