From ffbed6f8dae48ba5ce9a0c25283776de40d27532 Mon Sep 17 00:00:00 2001 From: willbot Date: Fri, 30 Oct 2026 06:29:51 +0000 Subject: [PATCH 1/2] Follow the products' released versions: @prisma/composer-cli 0.35.0 -> 0.36.0; @prisma/composer 0.35.0 -> 0.36.0 Opened automatically (update-product-versions.yml); merging ships a dev version of the CLI. A real release stays a human act. Signed-off-by: willbot Signed-off-by: Will Madden --- packages/cli/package.json | 4 ++-- packages/prisma/package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index ce12e1e5..bc1e2164 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -50,7 +50,7 @@ "dependencies": { "@manypkg/tools": "^2.1.2", "@prisma/cli-engine": "workspace:0.9.0", - "@prisma/composer-cli": "0.35.0", + "@prisma/composer-cli": "0.36.0", "@prisma/compute-sdk": "0.43.0", "@prisma/management-api-sdk": "1.80.0", "@prisma/orm-toolchain": "8.0.0-rc.21", @@ -62,7 +62,7 @@ "open": "^11.0.0" }, "devDependencies": { - "@prisma/composer": "0.35.0", + "@prisma/composer": "0.36.0", "@prisma/credentials-store": "^7.8.0", "@repo/cli-conformance": "workspace:8.0.0-rc.28", "@repo/cli-telemetry": "workspace:8.0.0-rc.28", diff --git a/packages/prisma/package.json b/packages/prisma/package.json index 4bf9f205..582852a6 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -51,7 +51,7 @@ "dependencies": { "@manypkg/tools": "^2.1.2", "@prisma/cli-engine": "workspace:0.9.0", - "@prisma/composer-cli": "0.35.0", + "@prisma/composer-cli": "0.36.0", "@prisma/compute-sdk": "0.43.0", "@prisma/management-api-sdk": "1.80.0", "@prisma/orm-toolchain": "8.0.0-rc.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c120b898..c141ef66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: workspace:0.9.0 version: link:../cli-engine '@prisma/composer-cli': - specifier: 0.35.0 - version: 0.35.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) + specifier: 0.36.0 + version: 0.36.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) '@prisma/compute-sdk': specifier: 0.43.0 version: 0.43.0(@prisma/management-api-sdk@1.80.0)(rollup@4.62.2) @@ -61,8 +61,8 @@ importers: version: 11.0.0 devDependencies: '@prisma/composer': - specifier: 0.35.0 - version: 0.35.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) + specifier: 0.36.0 + version: 0.36.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) '@prisma/credentials-store': specifier: ^7.8.0 version: 7.8.0 @@ -213,8 +213,8 @@ importers: specifier: workspace:0.9.0 version: link:../cli-engine '@prisma/composer-cli': - specifier: 0.35.0 - version: 0.35.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) + specifier: 0.36.0 + version: 0.36.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) '@prisma/compute-sdk': specifier: 0.43.0 version: 0.43.0(@prisma/management-api-sdk@1.80.0)(rollup@4.62.2) @@ -1342,14 +1342,14 @@ packages: '@oxc-project/types@0.146.0': resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==} - '@prisma/composer-cli@0.35.0': - resolution: {integrity: sha512-CjWQzfx5AjTYnAoLpF/zxlQgIUvDsnydb4kl79XiwoxeAqd7mLnedecFFHL7AQAoJRmohGkDft5WDPvMnuGR0Q==} + '@prisma/composer-cli@0.36.0': + resolution: {integrity: sha512-nqRp6CvCyW5uCnM+5jAbqDJ0QnIUblUTjB4mevIW+icwPLXka3qR2K/RpDC5Hg+C111A6emmo1L0kREbOpNVmw==} engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} peerDependencies: '@prisma/cli-engine': 0.9.0 - '@prisma/composer@0.35.0': - resolution: {integrity: sha512-qQZY57p6JpnJxiuZ/EWxC2VBJIW3UqA7FCbuCRCh2coecojDAPhEQ4NaBac7JhpFJxWZpsaXmzGznF5sX53lSQ==} + '@prisma/composer@0.36.0': + resolution: {integrity: sha512-Wcf/HrQG6xx35xBcxjFU8UCkuvsMFPWe5QEBGn7dZcf5h35iFIB5jbE88NeKU9RKf+klvR939w1mHnKRWvx7TQ==} engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} '@prisma/compute-sdk@0.43.0': @@ -4059,10 +4059,10 @@ snapshots: '@oxc-project/types@0.146.0': {} - '@prisma/composer-cli@0.35.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0)': + '@prisma/composer-cli@0.36.0(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@prisma/cli-engine@packages+cli-engine)(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0)': dependencies: '@prisma/cli-engine': link:packages/cli-engine - '@prisma/composer': 0.35.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) + '@prisma/composer': 0.36.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0) '@prisma/management-api-sdk': 1.80.0 alchemy: 2.0.0-beta.83(@effect/vitest@4.0.3(effect@4.0.3)(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))))(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(effect@4.0.3)(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(ws@8.21.0) cross-spawn: 7.0.6 @@ -4097,7 +4097,7 @@ snapshots: - vitest - ws - '@prisma/composer@0.35.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0)': + '@prisma/composer@0.36.0(@types/node@22.19.19)(@vercel/nft@1.10.2(rollup@4.62.2))(hono@4.11.4)(mongodb@6.21.0(@aws-sdk/credential-providers@3.1107.0))(pg@8.23.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8(@types/node@22.19.19)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(ws@8.21.0)': dependencies: '@effect/sql-d1': 4.0.3(effect@4.0.3) '@effect/sql-sqlite-do': 4.0.3(effect@4.0.3) From a8d271e327728ee3ee624b2d6152782c5f7a54fb Mon Sep 17 00:00:00 2001 From: willbot Date: Fri, 30 Oct 2026 12:31:32 +0100 Subject: [PATCH 2/2] test(cli): mount Composer 0.36.0's deploy in the shell test, and say --environment in the platform skill Composer 0.36.0 renames --stage to --environment and redirects the old flag on deploy, so the shell test must mount deploy. emulator list now pipes the instance's environment as a seventh column. Co-Authored-By: Claude Opus 5.5 Signed-off-by: willbot Signed-off-by: Will Madden --- packages/cli/tests/composer-mount.test.ts | 4 +++- skills/prisma-platform-core-concepts/SKILL.md | 22 +++++++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/cli/tests/composer-mount.test.ts b/packages/cli/tests/composer-mount.test.ts index 600fab4b..73cc34e7 100644 --- a/packages/cli/tests/composer-mount.test.ts +++ b/packages/cli/tests/composer-mount.test.ts @@ -64,6 +64,7 @@ const ONE_INSTANCE = listing([ labels: { "composer.address": "gateway", "composer.directory": "/projects/shop", + "composer.environment": "dev", }, }, ], @@ -92,6 +93,7 @@ const listDeployed: ListDeployed = async () => ({ }); const COMPOSER_PATHS = [ + "deploy", "deploy list", "dev", "dev url", @@ -177,7 +179,7 @@ describe("Composer's commands in the shell", () => { expect(result.exitCode).toBe(0); expect(result.stdout).toBe( - "service\tsvc_gateway\thttp://localhost:4001\trunning\tgateway\t/projects/shop\n", + "service\tsvc_gateway\thttp://localhost:4001\trunning\tgateway\t/projects/shop\tdev\n", ); }); diff --git a/skills/prisma-platform-core-concepts/SKILL.md b/skills/prisma-platform-core-concepts/SKILL.md index 79850afd..9330c4d9 100644 --- a/skills/prisma-platform-core-concepts/SKILL.md +++ b/skills/prisma-platform-core-concepts/SKILL.md @@ -145,10 +145,10 @@ branch is the environment, and branches come into being by deploying to them: 1. **Push a git branch** (with the GitHub integration connected and the deploy workflow in the repository): the workflow builds and deploys, and the platform creates the branch environment on the fly. -2. **Deploy a stage from the CLI**: `prisma deploy --stage pr-42` +2. **Deploy an environment from the CLI**: `prisma deploy --environment pr-42` creates a branch named `pr-42` and deploys the identical app graph into - it. A stage name must be a valid git ref name; an invalid name is a hard - error. + it. An environment name must be a valid git ref name; an invalid name is + a hard error. A preview branch that needs a database gets a fresh, empty one, wired in as a branch-scoped `DATABASE_URL`. Preview work can never touch production data @@ -209,10 +209,10 @@ Opening a pull request does not itself deploy anything; previews track branch pushes. A connected repository without the workflow gets branch bookkeeping and preview teardown from the platform, and no builds. -**CLI.** `prisma deploy` deploys production directly; add `--stage ` +**CLI.** `prisma deploy` deploys production directly; add `--environment ` for a preview. It deploys the entry file named by `entry` in the `composer` section of `prisma.config.ts`; `--entry ` overrides it. `prisma deploy -list` (same `--stage`) lists each deployed node's address, kind, platform ID +list` (same `--environment`) lists each deployed node's address, kind, platform ID and URL. Authenticate once with `prisma auth login` (interactive), or set `PRISMA_SERVICE_TOKEN` (plus `PRISMA_WORKSPACE_ID` when the token can see more than one workspace) for CI and other headless @@ -372,7 +372,7 @@ own work: shows every local instance on the machine. 4. Deploying is the same pipeline pointed at the platform: switching from local to hosted is a configuration change, not a code change. Reach for - `prisma deploy --stage ` only when you need a shareable URL or + `prisma deploy --environment ` only when you need a shareable URL or platform behaviour (sleeping, real DNS, production-like config). 5. For pure frontend iteration the framework's own dev server also works; the Composer local stack is what mirrors the deployed wiring. @@ -397,8 +397,8 @@ Windows is not supported for the local stack yet. 6. **Production shows a stale value after an environment-variable change.** Variables are resolved at deploy time. Re-deploy (or promote) so the new value is picked up. -7. **A stage name is rejected.** Stage names must be valid git ref names; - rename it. +7. **An environment name is rejected.** Environment names must be valid git + ref names; rename it. 8. **A resource disappeared from the platform after a deploy.** It was removed from `module.ts`; the module is the source of truth and deploy converges to it. Restore the declaration and re-deploy. @@ -422,9 +422,9 @@ Windows is not supported for the local stack yet. Name the gap instead of inventing an API: 1. **No branch create or delete from the CLI.** The `branch` group only - lists. Branches are created by pushing or by deploying a stage, and - removed by deleting the upstream git branch; there is no CLI teardown - verb for a stage yet. + lists. Branches are created by pushing or by deploying an environment, + and removed by deleting the upstream git branch; there is no CLI teardown + verb for an environment yet. 2. **No build retry.** A failed build is finished; the retry is the next push or the next deploy. 3. **No reading environment-variable values back**, anywhere. This is a