Skip to main content

publish-npm-version

Cuts the next release of the unified Prisma CLI: bumps the root package.json version (on the Prisma 8 RC line: 8.0.0-rc.N → rc.N+1), propagates it to every lockstep workspace package, and opens a PR titled "chore(release): bump to <next-version>". When the maintainer merges the PR, the `Publish to npm` workflow ships @prisma/cli-engine and @prisma/cli under dist-tag `latest` (RC versions get a pre-release GitHub Release). Use when a maintainer asks to "cut the next RC", "cut the next release", "bump to the next version", "open a release PR", or "prepare a publish PR".

Ir para a instalação

Informações da origem

Repositório
prisma/prisma-cli
Última atividade na origem
12 de agosto de 2026 às 17:21
Idioma detectado do SKILL.md
inglês
Estrelas
21
Forks
2

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
publish-npm-version
description
Cuts the next release of the unified Prisma CLI: bumps the root package.json version (on the Prisma 8 RC line: 8.0.0-rc.N → rc.N+1), propagates it to every lockstep workspace package, and opens a PR titled "chore(release): bump to <next-version>". When the maintainer merges the PR, the `Publish to npm` workflow ships @prisma/cli-engine and @prisma/cli under dist-tag `latest` (RC versions get a pre-release GitHub Release). Use when a maintainer asks to "cut the next RC", "cut the next release", "bump to the next version", "open a release PR", or "prepare a publish PR".
# Publish next npm version ## Audience Maintainers of the unified Prisma CLI with permission to push branches and open PRs in prisma/prisma-cli. The skill runs locally, never as a GitHub Action — a locally opened PR triggers CI normally, which is the point of a reviewable release PR. ## Background reading Read [`docs/oss/versioning.md`](../../docs/oss/versioning.md) first. It covers the source-of-truth model (root `package.json` `version`), the lockstep guarantee (`@prisma/compute` excluded by ruling), the Prisma 8 RC line, the dist-tag convention, and the release procedure this skill is one step of. One note specific to this repo: the lockstep excludes `@prisma/compute` by operator ruling. ## Pre-flight No requirement to be on `main` or have a clean tree — all work happens in a fresh worktree off `origin/main`. Confirm `git fetch origin main` succeeds; if not, stop and surface the issue. ## Procedure 1. **Fetch and determine the target version.** ```bash git fetch origin main CURRENT=$(git show origin/main:package.json | node -e 'process.stdout.write(JSON.parse(require("fs").readFileSync(0,"utf8")).version)') NEXT=$(node -e "import('./scripts/determine-version-utils.ts').then(m => process.stdout.write(m.computeNextReleaseVersion(process.argv[1])))" "$CURRENT") echo "$CURRENT → $NEXT" ``` `$NEXT` names the branch and PR; step 3 recomputes the authoritative value inside the fresh worktree and the two must agree. 2. **Create a fresh worktree off `origin/main`.** ```bash git worktree add -b "release/$NEXT" "../release-$NEXT" origin/main cd "../release-$NEXT" ``` 3. **Bump.** `pnpm install --frozen-lockfile --ignore-scripts` if the worktree has no `node_modules`, then `pnpm bump-version`. Confirm the version it wrote matches `$NEXT`; on mismatch the worktree's value is authoritative — remove worktree and branch, restart from step 1. 4. **Check the lockfile moved.** `pnpm bump-version` refreshes `pnpm-lock.yaml` itself, because internal deps are pinned `workspace:<version>` and a stale lockfile fails every later frozen install with `ERR_PNPM_OUTDATED_LOCKFILE`. If it is missing from the diff, stop — the bump did not finish. 5. **Sanity-check the diff.** Only `package.json` files and `pnpm-lock.yaml`; manifests change exactly `version` + `workspace:<old> → workspace:<new>`; the excluded `packages/compute/package.json` is untouched. 6. **Commit** everything in one commit: ```text chore(release): bump to <version> ``` 7. **Push the branch** to `origin`. 8. **Open the PR** with `gh pr create`. Use the title: ```text Bump to version <version> ``` Body: previous → new version; link [`docs/oss/versioning.md`](../../docs/oss/versioning.md); note that **merging this PR ships the release** — the squashed push to `main` changes the root version with the release marker, the `Publish to npm` workflow publishes `@prisma/cli-engine` then `@prisma/cli` under `latest`, and a GitHub Release (pre-release on the RC line) is created with generated notes. This repo has no committed release-notes file gate; review the generated notes on the Release after merge. 9. **Stop and report** the PR URL and the worktree path. Do not merge — the merge is the human gate that triggers the publish. The maintainer removes the worktree after merge (`git worktree remove ../release-<version>`). ## Idempotency `pnpm bump-version` reads the root version from `git show HEAD:package.json`, so re-running in the same worktree cannot double-bump. The skill as a whole is not idempotent: step 2 fails if the branch/worktree already exist — remove them (`git worktree remove ../release-$NEXT`; `git branch -D release/$NEXT`) or continue inside the existing worktree from step 3. Do not stack bumps. ## Out of scope - **Merging the PR** (human gate; merging is the publish trigger). - **Patch releases.** On the RC line a fix is just the next `rc.N`. - **Beta tags** — hand-cut via `workflow_dispatch` of `Publish to npm` with the `beta` dist-tag; this skill always advances the release version. - **`@prisma/compute`** — excluded from the lockstep by operator ruling (2026-08-10); it versions and publishes independently (`publish-compute.yml`) pending extraction to another repo.
Ver no GitHub