Skip to content
cccskills
FreePublished on GitHub

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".

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (1)

  • SKILL.md4.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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 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.

    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.

    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:

    chore(release): bump to <version>
    
  7. Push the branch to origin.

  8. Open the PR with gh pr create. Use the title:

    Bump to version <version>
    

    Body: previous → new version; link 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when hosting, deploying, or operating an app on the Prisma Platform: projects, branches, preview environments, services and their versions, Prisma Postgres databases, object-store buckets, environment variables, custom domains, logs, or the GitHub integration. Triggers on "Prisma Platform", "Prisma Compute", "Prisma Postgres", "Prisma Storage", "preview environment", `prisma deploy`, `prisma dev`, `prisma auth`, `prisma project`, `prisma branch`, `prisma service`, `prisma postgres`, `prisma bucket`, `prisma git`, `prisma.config.ts`, promote, rollback.

The English summary is being prepared. Showing the original description.

prisma/prisma-cli23Updated Oct 17, 2026

See all skills by prisma

Report a problem with this skill