docs: rewrite README for Prisma 8, fix orm init dist-tag, sweep "Prisma Next" prose - #30248
Conversation
|
|
|
Important Review skippedToo many files! This PR contains 359 files, which is 59 over the limit of 300. To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (359)
You can disable this status message by setting the Comment |
@prisma/orm-extension-arktype-json
@prisma/orm-extension-middleware-cache
@prisma/orm-extension-paradedb
@prisma/orm-extension-pgvector
@prisma/orm-extension-postgis
@prisma/orm-extension-supabase
@prisma/orm-family-mongo
@prisma/orm-family-sql
@prisma/orm-framework
@prisma/orm-mongo
@prisma/orm-postgres
@prisma/orm-sqlite
@prisma/orm-target-mongo
@prisma/orm-target-postgres
@prisma/orm-target-sqlite
@prisma/orm-toolchain
commit: |
size-limit report 📦
|
… docs The README still described Prisma Next in Early Access and told readers to run create-prisma and the CLI from the removed `next` dist-tag. Rewrite it against prisma.io/docs: `create-prisma@latest`, `prisma@latest orm init` followed by `skills sync`, the published `@prisma/orm-extension-*` package names, the skill directories the CLI actually writes, the supported-database list, and the prisma/orm repository links. Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
`orm init` added `prisma@next` as a dev dependency, but the `prisma` package no longer publishes a `next` dist-tag: the v8 line is `latest`. Install `prisma@latest`, fall back to `@prisma/cli-engine@latest` when the manifest does not pin the engine, and update the scaffolded quick-reference notes, the skill quickstart, and the tests that pin the install command. Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
Sweep every doc, comment, and user-facing string that still called the product Prisma Next. Dated records keep the old name, matching the allowances in scripts/lint-legacy-name.mjs: the changelog, release notes, ADRs, and the projects/ and drive/ write-ups. Identifiers, package names, env vars, paths, and the prisma-next.md primer are unchanged. Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
…stalls The tarball smoke tests install packed shells into a scratch project outside the workspace. The repo trust policy reaches that project but its exemption list does not, so resolving [email protected] fresh from the registry fails the downgrade check (6.13.0 and 6.18.2 carried provenance; 6.21.0 does not). The workspace lockfile never re-resolves it, which is why only the scratch installs failed. Restate trustPolicy and trustPolicyExclude in the scratch pnpm-workspace.yaml the way the release-age settings already are, and add [email protected] to both lists. Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
The v8 line publishes as latest, so the scaffold and CLI commands need no tag. Co-Authored-By: Claude Fable 5.1 <[email protected]> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]>
91c315b to
1452ac5
Compare
…#30261) ## Linked issue n/a — no Linear ticket. Follow-up to prisma#30229 (roadmap removal) and prisma#30248 (Prisma 8 rename). ## At a glance Docs-only PRs could not enter the merge queue: `Size Limit` is a required check, and the bundle-size workflow skipped the whole job on an inert diff, so the check never reported. prisma#30229 needed an admin merge for exactly this reason. The job now always runs and only its steps skip. ## Summary Three leftovers from the roadmap removal in one commit, plus a second commit that fixes the test-database idle timeout behind today's `Connection terminated unexpectedly` failures. ### The idle-timeout mismatch `createDevDatabase` in `@repo/test-utils` started the dev Postgres with a one-second idle timeout, while the Postgres driver's pool keeps an idle client for thirty seconds. Any test that pauses more than a second between queries then gets a dead client back from the pool: `Client has encountered a connection error and is not queryable`, wrapped as `SqlConnectionError: Connection terminated unexpectedly`. Coverage instrumentation makes such pauses routine, which is why the adapter-postgres native-enum lifecycle suite failed the Coverage job on five branches today (prisma#30249's queue run, prisma#30241, `prepare-orm`, `prisma-8-skill-rc9-refresh`, prisma#30262 four times in a row) while passing every plain shard. Three suites had already worked around it with a per-call thirty- or sixty-second override and a comment explaining exactly this. The default now matches the pool (thirty seconds), the three redundant overrides are gone, the telemetry harness keeps its sixty, and the returned handle exposes the setting so the test can assert it. ### The roadmap leftovers 1. **`ROADMAP.html` is deleted.** It was the rendered twin of the `ROADMAP.md` that prisma#30229 removed and still described the rc.1 plan. 2. **`scripts/lint-legacy-name.mjs` no longer cites the deleted roadmap.** Two of its temporary allowances pointed at "ROADMAP.md § 3" as the task that retires them; they now name the pending identifier rename directly. The file-specific allowance for the roadmap itself is gone with the files, and so is its test. 3. **The `Size Limit` job always reports.** The inert-diff condition moves from the job to each step, following the pattern the CI workflow already uses for its required `Test` summary job. ## Behavior changes & evidence - **CI:** a docs-only PR now gets a green `Size Limit` check instead of a skipped one, so auto-merge can enqueue it. Evidence: this PR touches `.github/` and `scripts/`, so it is non-inert and exercises the real path; the inert path is exercised by the next docs-only PR. - **Lint:** `pnpm lint:legacy-name` still passes on main; `node --test scripts/lint-legacy-name.test.mjs scripts/lint-workflow-triggers.test.mjs` passes (29 tests). ## Skill update n/a — no user-facing surface changed. ## Checklist - [x] All commits are signed off (`git commit -s`) per the [DCO](../CONTRIBUTING.md#developer-certificate-of-origin-dco). - [x] I read [CONTRIBUTING.md](../CONTRIBUTING.md) and the change is scoped to one logical concern. - [x] Tests are updated (the lint test drops the roadmap allowance case and asserts the new pointer). - [ ] The PR title is in `TML-NNNN: <sentence-case title>` form. No Linear ticket exists for this change. - [x] The **Skill update** section above is filled in. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Removed the Prisma 8 RC1 roadmap page. - **Bug Fixes** - Bundle-size checks now report consistently, including for documentation-only changes. - **Development Experience** - Improved local development database connection handling by keeping idle connections available for longer, reducing unexpected disconnects during extended development and testing sessions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…prisma#30262) ## Linked issue n/a — no Linear ticket. Completes the rename that prisma#30248 started for prose; builds on prisma#30261. ## At a glance Every `prisma-next` identifier a user can see is renamed. Before and after, for a scaffolded project: ```text // use prisma-next → // use prisma-8 (schema header) prisma-next.md → prisma-8.md (primer at the project root) PRISMA_NEXT_DISABLE_TELEMETRY → PRISMA_DISABLE_TELEMETRY (and every other PRISMA_NEXT_* variable) ~/.config/prisma-next/ → ~/.config/prisma-8/ (per-user telemetry config) prisma-next contract emit → prisma contract emit (CLI invocations in docs, fixtures, recordings) ``` ## Summary After prisma#30248 the product was called Prisma 8 in prose, but the working name was still written into user projects and printed by the CLI: the schema header, the primer file, the environment variables, the per-user config directory, the language-server diagnostic source, the Standard Schema vendor string, the contract brand symbol, the advisory-lock domain, and about 650 fixture and doc files that spelled out `prisma-next …` commands. This PR renames all of it in one pass and tightens the legacy-name lint so the only occurrences left are the ones with a reason. ## Decision One commit. The mapping: | Surface | Before | After | |---|---|---| | Schema header | `// use prisma-next` | `// use prisma-8` | | Primer file `init` writes | `prisma-next.md` | `prisma-8.md` | | CLI environment variables | `PRISMA_NEXT_*` | `PRISMA_*` | | Per-user config directory | `prisma-next/` | `prisma-8/` | | Language-server diagnostic source | `prisma-next` | `prisma` | | Standard Schema vendor, VS Code publisher | `prisma-next` | `prisma` | | Contract brand symbol | `__prisma_next_brand__` | `__prisma_8_brand__` | | Postgres advisory-lock domain | `prisma_next.contract.marker` | `prisma_8.contract.marker` | | Example database names | `prisma_next_*` | `prisma_8_*` | | README banner image | `images/prisma-next.png` | `images/prisma-8.png` | | Telemetry docs URL | `prisma-next.dev/docs/…` | `www.prisma.io/docs/…` | | New-issue links | `github.com/prisma/prisma-next/issues/new` | `github.com/prisma/orm/issues/new` | | CLI invocations in prose, fixtures, and recordings | `prisma-next db verify` | `prisma db verify` | `prisma-8` is the slug the repo already uses for the skill, the examples, and the upgrade directories, so it is the slug for everything that needs one. Environment variables drop the infix entirely because `PRISMA_*` is what users expect and nothing else in the repo claims those names. What keeps the old name, each with a lint allowance that says why: - **Dated records**: changelog, release notes, ADRs, shipped upgrade instructions, gotcha logs, the framework-gaps review, and the `projects/` and `drive/` write-ups. - **Pinned links** into the old repository by number, Linear slugs, and links to ADRs whose filenames carry the name. - **`@cipherstash/prisma-next`**, a third party's published package name. - **Retirement proofs**: the list of old skill directories `init` deletes, and the tests asserting that no `prisma-next` bin or skill directory is installed any more. ## Behavior changes & evidence - **Schema header.** The inferred-schema printer and the `init` templates write `// use prisma-8`. The language server accepts both headers, so existing schemas keep their diagnostics and completion, and its Format action rewrites the old header to the new one. [packages/1-framework/3-tooling/language-server/src/schema-directive.ts](packages/1-framework/3-tooling/language-server/src/schema-directive.ts), [packages/1-framework/2-authoring/psl-printer/src/ast-to-print-document.ts](packages/1-framework/2-authoring/psl-printer/src/ast-to-print-document.ts). Evidence: the `renameLegacyDirective` tests, the server test that formats a legacy-headed schema, and the psl-printer tests. - **Environment variables.** Telemetry gating, the endpoint override, and the debug switch read the new names. `PRISMA_NEXT_DISABLE_TELEMETRY` is still honoured as an opt-out so nobody is silently opted back in; the endpoint and debug spellings are not. [packages/1-framework/3-tooling/cli-telemetry/src/gating.ts](packages/1-framework/3-tooling/cli-telemetry/src/gating.ts). Evidence: cli-telemetry gating tests. - **Per-user config directory.** [packages/1-framework/3-tooling/cli-telemetry/src/user-config.ts](packages/1-framework/3-tooling/cli-telemetry/src/user-config.ts). Existing users see the telemetry consent prompt once more; nothing else is lost. - **Primer file.** [packages/1-framework/3-tooling/cli/src/orm/init-scaffold.ts](packages/1-framework/3-tooling/cli/src/orm/init-scaffold.ts). Evidence: init-scaffold tests and template snapshots. - **Advisory-lock domain.** A CLI on this version and one on the previous version take different locks for the same marker. Both versions running migrations against one database at the same moment is already unsupported. - **Upgrade instructions.** Entries for the header, the environment variables, and the primer file are recorded in the rc.9 → rc.10 app and extension instructions with detection patterns, so the published upgrade skill applies the rename. ## Testing performed - `pnpm test` in cli (1437), cli-telemetry (112), language-server (312), psl-printer (63), framework-components (672), target-postgres (1607), vite-plugin-contract-emit (31), emitter (231), and `pnpm test:scripts` (507): all pass after `pnpm build`. The language-server tests hard-coded the old header's length in semantic-token arrays and span offsets; those expectations are updated. - Committed migration steps and their content-addressed contract snapshots are left untouched, since rewriting them would break their hashes; the lint treats them as dated records. - `pnpm lint:legacy-name` passes with the tightened allowances; `node --test scripts/lint-legacy-name.test.mjs` passes (14 tests, including new negative cases for the header, primer, and skill names). - `pnpm check:upgrade-coverage --mode pr --prev origin/main` passes. ## Skill update `skills/prisma-8` references and the two rc.9 → rc.10 upgrade instruction files are updated in this PR. ## Checklist - [x] All commits are signed off (`git commit -s`) per the [DCO](../CONTRIBUTING.md#developer-certificate-of-origin-dco). - [x] I read [CONTRIBUTING.md](../CONTRIBUTING.md) and the change is scoped to one logical concern. - [x] Tests are updated. - [ ] The PR title is in `TML-NNNN: <sentence-case title>` form. No Linear ticket exists for this change. - [x] The **Skill update** section above is filled in. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…sma#30265) One line: the changelog intro still called itself the index of "Prisma Next" releases. The legacy-name lint exempts `CHANGELOG.md` as a dated record, which is right for the entries but let this live sentence slip past the rename in prisma#30248 and prisma#30262. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Updated the changelog to reference Prisma 8 releases instead of Prisma Next releases. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…ma Next" prose (prisma#30248) ## Linked issue n/a — no Linear ticket. Follow-up to the README banner swap in prisma#30225. ## At a glance The README's getting-started commands, before and after, checked against [prisma.io/docs/getting-started](https://www.prisma.io/docs/getting-started): ```bash # before npm create prisma@next npx @prisma/cli@next orm init # after npm create prisma npx prisma orm init npx prisma skills sync ``` The `prisma` package has no `next` dist-tag any more (`latest` is `8.0.0-rc.13`, `prev` is `7.10.0`), so the old commands no longer resolve. ## Summary The README still introduced the product as "Prisma Next" in Early Access, pointed at the removed `next` dist-tag, listed extensions by their `@internal/*` workspace names, and linked to `prisma/prisma`. The rest of the repo had about a thousand prose mentions of the working name. This PR fixes all of it and one real bug the sweep turned up. ## Decision Five commits, each reviewable on its own (the fifth only records the sweep against the in-flight upgrade-instruction files for the coverage check): 1. **Rewrite the README against the live docs.** Every instruction in it now matches the getting-started, quickstart, `orm init`, `skills`, and extensions pages in prisma/web. 2. **Fix `orm init` to install `prisma@latest`.** The CLI added `prisma@next` as a dev dependency. That tag no longer exists on npm, so `orm init` fails at the install step for anyone running it today. The engine fallback moves from `@prisma/cli-engine@next` (0.2.3, stale) to `@latest` (0.3.0). 3. **Replace "Prisma Next" with "Prisma 8" in prose repo-wide.** Docs, doc comments, READMEs, package descriptions, skill references, and user-facing strings. 4. **Carry the pnpm trust-policy exemptions into the tarball smoke tests.** The scratch installs those tests run trip a trust-downgrade check on `[email protected]` (no provenance, while 6.13.0 and 6.18.2 had it). The repo already exempts it for the workspace install; the test kit now restates `trustPolicy` and `trustPolicyExclude` in the scratch project the way it restates the release-age settings. Reproduced on main with a fresh metadata cache, so this is a pre-existing failure that any run without cached metadata hits. ## Reviewer notes - **Rebased on prisma#30229.** That PR's release-candidate banner and its `scorecard.md` link replace the roadmap reference in the README, and `ROADMAP.md` stays deleted. The prose sweep re-applied cleanly on top of its CONTRIBUTING, SECURITY, and governance edits. - **Dated records keep the old name**, matching the allowances `scripts/lint-legacy-name.mjs` already defines for the `prisma-next` identifier: `CHANGELOG.md`, `docs/releases/`, the ADRs, `projects/`, and `drive/`. Rewriting those would misreport what was true at the time, and a mechanical pass produced sentences like "Prisma Next becomes Prisma 8" turning into "Prisma 8 becomes Prisma 8". - **Identifiers are untouched.** `prisma-next` package names, paths, env vars (`PRISMA_NEXT_*`), `PrismaNext*` types, the `images/prisma-next.png` file, and the `prisma-next.md` primer (the docs still call it that) are all unchanged. Renaming any of those is a behaviour change with an upgrade path, not a docs fix. - **The sweep is mechanical.** The third commit is a `sed` of `Prisma Next` and `Prisma-next` to `Prisma 8` over 345 files. Three sentences that became self-referential (`ROADMAP.md`, `ROADMAP.html`, `scorecard.md`) were rewritten by hand. - **`README.md` supported-databases section** now says PostgreSQL and MongoDB are first-class and SQLite is planned next, which is what [/docs/orm](https://www.prisma.io/docs/orm) says. The previous text referenced work "before the 8.0.0-rc.1 release". - **Discord channel name dropped.** The README linked to a `prisma-next` channel I could not verify; it now links to Discord generically. ## Behavior changes & evidence - **`orm init` installs `prisma@latest`** instead of `prisma@next`, and falls back to `@prisma/cli-engine@latest` when the manifest does not pin the engine. [packages/1-framework/3-tooling/cli/src/orm/init.ts](packages/1-framework/3-tooling/cli/src/orm/init.ts), [packages/1-framework/3-tooling/cli/src/orm/init-packages.ts](packages/1-framework/3-tooling/cli/src/orm/init-packages.ts). Evidence: [packages/1-framework/3-tooling/cli/test/orm/init-install.test.ts](packages/1-framework/3-tooling/cli/test/orm/init-install.test.ts), [test/integration/test/cli.init-skill-distribution.integration.test.ts](test/integration/test/cli.init-skill-distribution.integration.test.ts). - **Scaffolded quick-reference notes and the skill quickstart** tell users to run `prisma@latest orm init`. [packages/1-framework/3-tooling/cli/src/commands/init/templates/quick-reference-postgres.md](packages/1-framework/3-tooling/cli/src/commands/init/templates/quick-reference-postgres.md), [skills/prisma-8/references/quickstart.md](skills/prisma-8/references/quickstart.md). Evidence: [packages/1-framework/3-tooling/cli/test/commands/init/__snapshots__/templates.test.ts.snap](packages/1-framework/3-tooling/cli/test/commands/init/__snapshots__/templates.test.ts.snap). - **No other runtime change.** Every other edit is prose in docs, comments, `package.json` descriptions, and `//` comments in test fixture schemas, which the emitter drops. ## Testing performed - `pnpm test` in `packages/1-framework/3-tooling/cli`: 115 files, 1437 tests passed - `pnpm lint:legacy-name`, `pnpm lint:docs`, `pnpm lint:skills`, `pnpm lint:rules:footprint`, `pnpm lint:manifests`: all pass (the `errors` README warning is pre-existing) - `pnpm fixtures:check` could not run in this worktree because the examples' `prisma` binary is not installed. The only schema edits are `//` comments, which do not reach the emitted contract. ## Skill update `skills/prisma-8/references/quickstart.md` is updated in the second commit: its `orm init` commands moved from `@prisma/cli@next` to `prisma@latest`, the same change the README makes. ## Alternatives considered - **Rename the identifiers too** (`prisma-next.md`, `PRISMA_NEXT_*`, `PrismaNext*` types, the image file). Each is a user-visible surface with an upgrade path, and the docs still name `prisma-next.md`. Left for a deliberate rename with upgrade instructions. - **Sweep the ADRs, changelog, and project write-ups as well.** The repo's own legacy-name lint exempts them as dated records, and the mechanical pass mangled sentences that describe the rename itself. Following the existing policy keeps the diff honest. - **Keep `@latest` on the commands, as the docs pages write them.** The v8 line is `latest` now, so the tag adds nothing; the README uses the bare `npm create prisma` and `npx prisma …` forms. ## Checklist - [x] All commits are signed off (`git commit -s`) per the [DCO](../CONTRIBUTING.md#developer-certificate-of-origin-dco). - [x] I read [CONTRIBUTING.md](../CONTRIBUTING.md) and the change is scoped to one logical concern. - [x] Tests are updated (the CLI install-command tests and snapshots). - [ ] The PR title is in `TML-NNNN: <sentence-case title>` form. No Linear ticket exists for this change. - [x] The **Skill update** section above is filled in. ## Notes for the reviewer The first two commits are small and worth reading line by line. The third is large but uniform; spot-check a few files rather than reading all 345. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…#30261) ## Linked issue n/a — no Linear ticket. Follow-up to prisma#30229 (roadmap removal) and prisma#30248 (Prisma 8 rename). ## At a glance Docs-only PRs could not enter the merge queue: `Size Limit` is a required check, and the bundle-size workflow skipped the whole job on an inert diff, so the check never reported. prisma#30229 needed an admin merge for exactly this reason. The job now always runs and only its steps skip. ## Summary Three leftovers from the roadmap removal in one commit, plus a second commit that fixes the test-database idle timeout behind today's `Connection terminated unexpectedly` failures. ### The idle-timeout mismatch `createDevDatabase` in `@repo/test-utils` started the dev Postgres with a one-second idle timeout, while the Postgres driver's pool keeps an idle client for thirty seconds. Any test that pauses more than a second between queries then gets a dead client back from the pool: `Client has encountered a connection error and is not queryable`, wrapped as `SqlConnectionError: Connection terminated unexpectedly`. Coverage instrumentation makes such pauses routine, which is why the adapter-postgres native-enum lifecycle suite failed the Coverage job on five branches today (prisma#30249's queue run, prisma#30241, `prepare-orm`, `prisma-8-skill-rc9-refresh`, prisma#30262 four times in a row) while passing every plain shard. Three suites had already worked around it with a per-call thirty- or sixty-second override and a comment explaining exactly this. The default now matches the pool (thirty seconds), the three redundant overrides are gone, the telemetry harness keeps its sixty, and the returned handle exposes the setting so the test can assert it. ### The roadmap leftovers 1. **`ROADMAP.html` is deleted.** It was the rendered twin of the `ROADMAP.md` that prisma#30229 removed and still described the rc.1 plan. 2. **`scripts/lint-legacy-name.mjs` no longer cites the deleted roadmap.** Two of its temporary allowances pointed at "ROADMAP.md § 3" as the task that retires them; they now name the pending identifier rename directly. The file-specific allowance for the roadmap itself is gone with the files, and so is its test. 3. **The `Size Limit` job always reports.** The inert-diff condition moves from the job to each step, following the pattern the CI workflow already uses for its required `Test` summary job. ## Behavior changes & evidence - **CI:** a docs-only PR now gets a green `Size Limit` check instead of a skipped one, so auto-merge can enqueue it. Evidence: this PR touches `.github/` and `scripts/`, so it is non-inert and exercises the real path; the inert path is exercised by the next docs-only PR. - **Lint:** `pnpm lint:legacy-name` still passes on main; `node --test scripts/lint-legacy-name.test.mjs scripts/lint-workflow-triggers.test.mjs` passes (29 tests). ## Skill update n/a — no user-facing surface changed. ## Checklist - [x] All commits are signed off (`git commit -s`) per the [DCO](../CONTRIBUTING.md#developer-certificate-of-origin-dco). - [x] I read [CONTRIBUTING.md](../CONTRIBUTING.md) and the change is scoped to one logical concern. - [x] Tests are updated (the lint test drops the roadmap allowance case and asserts the new pointer). - [ ] The PR title is in `TML-NNNN: <sentence-case title>` form. No Linear ticket exists for this change. - [x] The **Skill update** section above is filled in. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Removed the Prisma 8 RC1 roadmap page. - **Bug Fixes** - Bundle-size checks now report consistently, including for documentation-only changes. - **Development Experience** - Improved local development database connection handling by keeping idle connections available for longer, reducing unexpected disconnects during extended development and testing sessions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…prisma#30262) ## Linked issue n/a — no Linear ticket. Completes the rename that prisma#30248 started for prose; builds on prisma#30261. ## At a glance Every `prisma-next` identifier a user can see is renamed. Before and after, for a scaffolded project: ```text // use prisma-next → // use prisma-8 (schema header) prisma-next.md → prisma-8.md (primer at the project root) PRISMA_NEXT_DISABLE_TELEMETRY → PRISMA_DISABLE_TELEMETRY (and every other PRISMA_NEXT_* variable) ~/.config/prisma-next/ → ~/.config/prisma-8/ (per-user telemetry config) prisma-next contract emit → prisma contract emit (CLI invocations in docs, fixtures, recordings) ``` ## Summary After prisma#30248 the product was called Prisma 8 in prose, but the working name was still written into user projects and printed by the CLI: the schema header, the primer file, the environment variables, the per-user config directory, the language-server diagnostic source, the Standard Schema vendor string, the contract brand symbol, the advisory-lock domain, and about 650 fixture and doc files that spelled out `prisma-next …` commands. This PR renames all of it in one pass and tightens the legacy-name lint so the only occurrences left are the ones with a reason. ## Decision One commit. The mapping: | Surface | Before | After | |---|---|---| | Schema header | `// use prisma-next` | `// use prisma-8` | | Primer file `init` writes | `prisma-next.md` | `prisma-8.md` | | CLI environment variables | `PRISMA_NEXT_*` | `PRISMA_*` | | Per-user config directory | `prisma-next/` | `prisma-8/` | | Language-server diagnostic source | `prisma-next` | `prisma` | | Standard Schema vendor, VS Code publisher | `prisma-next` | `prisma` | | Contract brand symbol | `__prisma_next_brand__` | `__prisma_8_brand__` | | Postgres advisory-lock domain | `prisma_next.contract.marker` | `prisma_8.contract.marker` | | Example database names | `prisma_next_*` | `prisma_8_*` | | README banner image | `images/prisma-next.png` | `images/prisma-8.png` | | Telemetry docs URL | `prisma-next.dev/docs/…` | `www.prisma.io/docs/…` | | New-issue links | `github.com/prisma/prisma-next/issues/new` | `github.com/prisma/orm/issues/new` | | CLI invocations in prose, fixtures, and recordings | `prisma-next db verify` | `prisma db verify` | `prisma-8` is the slug the repo already uses for the skill, the examples, and the upgrade directories, so it is the slug for everything that needs one. Environment variables drop the infix entirely because `PRISMA_*` is what users expect and nothing else in the repo claims those names. What keeps the old name, each with a lint allowance that says why: - **Dated records**: changelog, release notes, ADRs, shipped upgrade instructions, gotcha logs, the framework-gaps review, and the `projects/` and `drive/` write-ups. - **Pinned links** into the old repository by number, Linear slugs, and links to ADRs whose filenames carry the name. - **`@cipherstash/prisma-next`**, a third party's published package name. - **Retirement proofs**: the list of old skill directories `init` deletes, and the tests asserting that no `prisma-next` bin or skill directory is installed any more. ## Behavior changes & evidence - **Schema header.** The inferred-schema printer and the `init` templates write `// use prisma-8`. The language server accepts both headers, so existing schemas keep their diagnostics and completion, and its Format action rewrites the old header to the new one. [packages/1-framework/3-tooling/language-server/src/schema-directive.ts](packages/1-framework/3-tooling/language-server/src/schema-directive.ts), [packages/1-framework/2-authoring/psl-printer/src/ast-to-print-document.ts](packages/1-framework/2-authoring/psl-printer/src/ast-to-print-document.ts). Evidence: the `renameLegacyDirective` tests, the server test that formats a legacy-headed schema, and the psl-printer tests. - **Environment variables.** Telemetry gating, the endpoint override, and the debug switch read the new names. `PRISMA_NEXT_DISABLE_TELEMETRY` is still honoured as an opt-out so nobody is silently opted back in; the endpoint and debug spellings are not. [packages/1-framework/3-tooling/cli-telemetry/src/gating.ts](packages/1-framework/3-tooling/cli-telemetry/src/gating.ts). Evidence: cli-telemetry gating tests. - **Per-user config directory.** [packages/1-framework/3-tooling/cli-telemetry/src/user-config.ts](packages/1-framework/3-tooling/cli-telemetry/src/user-config.ts). Existing users see the telemetry consent prompt once more; nothing else is lost. - **Primer file.** [packages/1-framework/3-tooling/cli/src/orm/init-scaffold.ts](packages/1-framework/3-tooling/cli/src/orm/init-scaffold.ts). Evidence: init-scaffold tests and template snapshots. - **Advisory-lock domain.** A CLI on this version and one on the previous version take different locks for the same marker. Both versions running migrations against one database at the same moment is already unsupported. - **Upgrade instructions.** Entries for the header, the environment variables, and the primer file are recorded in the rc.9 → rc.10 app and extension instructions with detection patterns, so the published upgrade skill applies the rename. ## Testing performed - `pnpm test` in cli (1437), cli-telemetry (112), language-server (312), psl-printer (63), framework-components (672), target-postgres (1607), vite-plugin-contract-emit (31), emitter (231), and `pnpm test:scripts` (507): all pass after `pnpm build`. The language-server tests hard-coded the old header's length in semantic-token arrays and span offsets; those expectations are updated. - Committed migration steps and their content-addressed contract snapshots are left untouched, since rewriting them would break their hashes; the lint treats them as dated records. - `pnpm lint:legacy-name` passes with the tightened allowances; `node --test scripts/lint-legacy-name.test.mjs` passes (14 tests, including new negative cases for the header, primer, and skill names). - `pnpm check:upgrade-coverage --mode pr --prev origin/main` passes. ## Skill update `skills/prisma-8` references and the two rc.9 → rc.10 upgrade instruction files are updated in this PR. ## Checklist - [x] All commits are signed off (`git commit -s`) per the [DCO](../CONTRIBUTING.md#developer-certificate-of-origin-dco). - [x] I read [CONTRIBUTING.md](../CONTRIBUTING.md) and the change is scoped to one logical concern. - [x] Tests are updated. - [ ] The PR title is in `TML-NNNN: <sentence-case title>` form. No Linear ticket exists for this change. - [x] The **Skill update** section above is filled in. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
…sma#30265) One line: the changelog intro still called itself the index of "Prisma Next" releases. The legacy-name lint exempts `CHANGELOG.md` as a dated record, which is right for the entries but let this live sentence slip past the rename in prisma#30248 and prisma#30262. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Updated the changelog to reference Prisma 8 releases instead of Prisma Next releases. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: willbot <[email protected]> Signed-off-by: Will Madden <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]>
Linked issue
n/a — no Linear ticket. Follow-up to the README banner swap in #30225.
At a glance
The README's getting-started commands, before and after, checked against prisma.io/docs/getting-started:
The
prismapackage has nonextdist-tag any more (latestis8.0.0-rc.13,previs7.10.0), so the old commands no longer resolve.Summary
The README still introduced the product as "Prisma Next" in Early Access, pointed at the removed
nextdist-tag, listed extensions by their@internal/*workspace names, and linked toprisma/prisma. The rest of the repo had about a thousand prose mentions of the working name. This PR fixes all of it and one real bug the sweep turned up.Decision
Five commits, each reviewable on its own (the fifth only records the sweep against the in-flight upgrade-instruction files for the coverage check):
orm init,skills, and extensions pages in prisma/web.orm initto installprisma@latest. The CLI addedprisma@nextas a dev dependency. That tag no longer exists on npm, soorm initfails at the install step for anyone running it today. The engine fallback moves from@prisma/cli-engine@next(0.2.3, stale) to@latest(0.3.0).[email protected](no provenance, while 6.13.0 and 6.18.2 had it). The repo already exempts it for the workspace install; the test kit now restatestrustPolicyandtrustPolicyExcludein the scratch project the way it restates the release-age settings. Reproduced on main with a fresh metadata cache, so this is a pre-existing failure that any run without cached metadata hits.Reviewer notes
Rebased on Replace the stale RC1 roadmap and early-access status with the release-candidate position #30229. That PR's release-candidate banner and its
scorecard.mdlink replace the roadmap reference in the README, andROADMAP.mdstays deleted. The prose sweep re-applied cleanly on top of its CONTRIBUTING, SECURITY, and governance edits.Dated records keep the old name, matching the allowances
scripts/lint-legacy-name.mjsalready defines for theprisma-nextidentifier:CHANGELOG.md,docs/releases/, the ADRs,projects/, anddrive/. Rewriting those would misreport what was true at the time, and a mechanical pass produced sentences like "Prisma Next becomes Prisma 8" turning into "Prisma 8 becomes Prisma 8".Identifiers are untouched.
prisma-nextpackage names, paths, env vars (PRISMA_NEXT_*),PrismaNext*types, theimages/prisma-next.pngfile, and theprisma-next.mdprimer (the docs still call it that) are all unchanged. Renaming any of those is a behaviour change with an upgrade path, not a docs fix.The sweep is mechanical. The third commit is a
sedofPrisma NextandPrisma-nexttoPrisma 8over 345 files. Three sentences that became self-referential (ROADMAP.md,ROADMAP.html,scorecard.md) were rewritten by hand.README.mdsupported-databases section now says PostgreSQL and MongoDB are first-class and SQLite is planned next, which is what /docs/orm says. The previous text referenced work "before the 8.0.0-rc.1 release".Discord channel name dropped. The README linked to a
prisma-nextchannel I could not verify; it now links to Discord generically.Behavior changes & evidence
orm initinstallsprisma@latestinstead ofprisma@next, and falls back to@prisma/cli-engine@latestwhen the manifest does not pin the engine. packages/1-framework/3-tooling/cli/src/orm/init.ts, packages/1-framework/3-tooling/cli/src/orm/init-packages.ts. Evidence: packages/1-framework/3-tooling/cli/test/orm/init-install.test.ts, test/integration/test/cli.init-skill-distribution.integration.test.ts.prisma@latest orm init. packages/1-framework/3-tooling/cli/src/commands/init/templates/quick-reference-postgres.md, skills/prisma-8/references/quickstart.md. Evidence: packages/1-framework/3-tooling/cli/test/commands/init/snapshots/templates.test.ts.snap.package.jsondescriptions, and//comments in test fixture schemas, which the emitter drops.Testing performed
pnpm testinpackages/1-framework/3-tooling/cli: 115 files, 1437 tests passedpnpm lint:legacy-name,pnpm lint:docs,pnpm lint:skills,pnpm lint:rules:footprint,pnpm lint:manifests: all pass (theerrorsREADME warning is pre-existing)pnpm fixtures:checkcould not run in this worktree because the examples'prismabinary is not installed. The only schema edits are//comments, which do not reach the emitted contract.Skill update
skills/prisma-8/references/quickstart.mdis updated in the second commit: itsorm initcommands moved from@prisma/cli@nexttoprisma@latest, the same change the README makes.Alternatives considered
prisma-next.md,PRISMA_NEXT_*,PrismaNext*types, the image file). Each is a user-visible surface with an upgrade path, and the docs still nameprisma-next.md. Left for a deliberate rename with upgrade instructions.@lateston the commands, as the docs pages write them. The v8 line islatestnow, so the tag adds nothing; the README uses the barenpm create prismaandnpx prisma …forms.Checklist
git commit -s) per the DCO.TML-NNNN: <sentence-case title>form. No Linear ticket exists for this change.Notes for the reviewer
The first two commits are small and worth reading line by line. The third is large but uniform; spot-check a few files rather than reading all 345.
🤖 Generated with Claude Code