[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-prisma-prisma-compute":3,"mdc-t9quj3-key":34,"related-repo-prisma-prisma-compute":2457,"related-org-prisma-prisma-compute":2558},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"prisma-compute","deploy and host Prisma applications","Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma\u002Fcli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps\u002Fdeployments\u002Fbuild logs\u002Fdomains, `@prisma\u002Fcli agent install`, `@prisma\u002Fcli feedback`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, or custom\u002Fprebuilt artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"prisma","Prisma","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fprisma.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"ORM","orm","tag",{"name":17,"slug":18,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Serverless","serverless",44,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fskills","2026-07-17T05:31:53.370495","MIT",3,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],null,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fskills\u002Ftree\u002FHEAD\u002Fprisma-compute","---\nname: prisma-compute\ndescription: Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma\u002Fcli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps\u002Fdeployments\u002Fbuild logs\u002Fdomains, `@prisma\u002Fcli agent install`, `@prisma\u002Fcli feedback`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, or custom\u002Fprebuilt artifacts.\nlicense: MIT\nmetadata:\n  author: prisma\n  version: \"1.4.1\"\n---\n\n# Prisma Compute\n\nGuide agents through Prisma Compute app creation, deployment, operations, and framework-specific deploy readiness.\n\n## Prisma Compute CLI Surface\n\nUse the Prisma Platform CLI for Compute app workflows:\n\n```bash\nbunx @prisma\u002Fcli@latest app deploy --help\nbunx @prisma\u002Fcli@latest app --help\nbunx @prisma\u002Fcli@latest build logs --help\nbunx create-prisma@latest --help\n```\n\nUse `@prisma\u002Fcli@latest` for Compute app deployment. Use `create-prisma@latest` for new-project scaffolding.\n\n## Send Feedback and Report CLI Issues\n\nThe CLI has a built-in feedback channel. Use it whenever a command crashes (`UNEXPECTED_ERROR`), a failure survives troubleshooting, or the user asks to send feedback to the Prisma team:\n\n```bash\nbunx @prisma\u002Fcli@latest feedback \"app deploy crashed: \u003Cfirst error line>\"\nbunx @prisma\u002Fcli@latest feedback \"love the deploy flow\" --email you@example.com\n```\n\nCrash output points here on its own: `--json` crash envelopes carry the exact pre-filled command as a `recover` entry in `nextActions` (run it verbatim), and human crash output ends with a `Tell us what happened:` hint. Feedback is anonymous unless `--email` is passed and attaches only the CLI version, node version, and OS platform\u002Farch. Never include secrets, connection URLs, or user data in the message.\n\n## Source-of-Truth Order\n\nUse evidence in this order when deciding what to edit or run:\n\n1. The project's generated scripts and config, especially `prisma.compute.ts`, `compute:deploy`, framework config, and `package.json`.\n2. CLI help output from `create-prisma` and `@prisma\u002Fcli`.\n3. Local installed package code, generated artifacts, and type definitions.\n4. Official docs.\n\n## When to Apply\n\nUse this skill for:\n\n- Creating a new app that can deploy to Prisma Compute\n- Deploying an existing TypeScript app to Prisma Compute\n- Creating or updating a typed `prisma.compute.ts` deploy config\n- Deciding whether a framework is Compute-ready\n- Debugging `create-prisma --deploy`, `compute:deploy`, or `app deploy`\n- Managing Compute app logs, deployments, environment variables, and domains, and listing platform branches (`branch list`; there are no branch create\u002Fremove commands)\n- Inspecting GitHub\u002FConsole build logs and GitHub push-to-deploy status\n- Running non-interactive deploys with browser auth, multiple stored workspaces, or Prisma service tokens\n- Switching, selecting, listing, or logging out local Prisma Platform workspaces for `@prisma\u002Fcli`\n- Installing or updating Prisma skills with `@prisma\u002Fcli agent install|update|status`\n- Sending feedback or reporting unresolvable CLI failures with `@prisma\u002Fcli feedback`\n- Programmatic deployments with `@prisma\u002Fcompute-sdk` or Management API integrations\n\n## Decision Tree\n\n1. Existing project deployment or redeploy:\n   Read [`references\u002Fapp-deploy-cli.md`](references\u002Fapp-deploy-cli.md).\n\n2. Typed Compute config, monorepos, deploy targets, app roots, or build\u002Fenv defaults:\n   Read [`references\u002Fcompute-config.md`](references\u002Fcompute-config.md).\n\n3. Framework-specific build\u002Fruntime work:\n   Read [`references\u002Fframeworks.md`](references\u002Fframeworks.md).\n\n4. New project from a scaffold:\n   Read [`references\u002Fcreate-prisma.md`](references\u002Fcreate-prisma.md).\n\n5. Programmatic deployment, SDKs, APIs, or low-level App\u002FDeployment concepts:\n   Read [`references\u002Fsdk-api.md`](references\u002Fsdk-api.md).\n\n6. Build, auth, env, deploy, or runtime failures:\n   Read [`references\u002Ftroubleshooting.md`](references\u002Ftroubleshooting.md).\n\n## Rules by Priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Command verification | CRITICAL | `verify-` |\n| 2 | Auth and workspace selection | CRITICAL | `auth-` |\n| 3 | Framework readiness | CRITICAL | `framework-` |\n| 4 | Runtime host and port binding | CRITICAL | `runtime-` |\n| 5 | Typed Compute config | HIGH | `config-` |\n| 6 | Branch, environment, and database wiring | HIGH | `env-` |\n| 7 | Deploy operations | HIGH | `deploy-` |\n| 8 | SDK and API automation | MEDIUM | `sdk-` |\n\n## Quick Rules\n\n### 1. Command Verification\n\n- `verify-help-first` - Use CLI help output to confirm command syntax while working.\n- `verify-prisma-vs-platform-cli` - Do not assume `prisma app deploy` exists in the ORM CLI; check whether the task should use `@prisma\u002Fcli`.\n- `verify-generated-scripts` - Prefer the generated `compute:deploy` script when a project already has one.\n- `verify-public-url` - After a real deploy, request the public deployment URL instead of trusting local or readiness-only checks.\n- `verify-config-support` - Treat `prisma.compute.ts` as the typed Compute config; inspect the project's config and generated scripts before editing or deploying.\n- `verify-auth-workspace-support` - Use `@prisma\u002Fcli auth workspace` commands for local workspace list\u002Fuse\u002Flogout flows.\n\n### 2. Auth and Workspace Selection\n\n- `auth-source-precedence` - A non-empty `PRISMA_SERVICE_TOKEN` is the active auth source for commands and local OAuth workspaces are ignored for execution. If it is set but empty, the CLI should fail instead of falling back to stored OAuth.\n- `auth-multi-workspace` - `auth login` can store OAuth sessions for multiple workspaces on the same machine. The active workspace pointer selects which stored OAuth grant normal commands use.\n- `auth-list-before-switch` - Use `auth workspace list --json` to inspect local sessions. Agents should prefer workspace ids from JSON over names because names can be ambiguous.\n- `auth-switch-explicitly` - Use `auth workspace use \u003Cid-or-name>` for non-interactive switching. Use `auth workspace use` with no argument only for an interactive picker or when exactly one local OAuth workspace exists.\n- `auth-no-fallthrough` - If the active OAuth workspace is logged out or fails refresh, the CLI should not silently fall through to another cached workspace. Run `auth workspace use \u003Cid>` to choose the next workspace.\n- `auth-single-workspace-logout` - Use `auth workspace logout \u003Cid-or-name>` or `auth logout --workspace \u003Cid-or-name>` to remove one local OAuth workspace session. Plain `auth logout` clears all local OAuth workspace sessions.\n- `auth-service-token-switching` - While `PRISMA_SERVICE_TOKEN` is set, `auth workspace use` is unavailable because the service token is the active auth source; unset the env var to switch local OAuth workspaces. Workspace logout still only cleans local OAuth state.\n- `auth-storage-awareness` - Local OAuth credentials live in the platform auth file, with workspace metadata in a sidecar context file. Project pins live in `.prisma\u002Flocal.json`, and CLI app\u002Fproject state lives in `.prisma\u002Fcli\u002Fstate.json` near `prisma.compute.ts` when present.\n\n### 3. Framework Readiness\n\n- `framework-cli-first` - Evaluate deploy readiness against `@prisma\u002Fcli app deploy`, not against what `create-prisma` can scaffold.\n- `framework-supported-cli-deploy` - Compute deploy supports `nextjs`, `nuxt`, `astro`, `hono`, `nestjs`, `tanstack-start`, `custom`, and `bun`.\n- `framework-create-prisma-defaults-only` - `create-prisma` can provide generated defaults and `compute:deploy`, but it is not the general deploy surface for existing apps.\n- `framework-build-output` - Compute needs a server entrypoint or framework artifact, not only static output.\n\n### 4. Runtime Host and Port Binding\n\n- `runtime-bind-all-interfaces` - Deployed servers must bind on all interfaces (`0.0.0.0` or the framework equivalent), not hard-coded `localhost` or `127.0.0.1`.\n- `runtime-match-http-port` - The app must listen on the deployed HTTP port: read `process.env.PORT` when possible, or pass the matching `--http-port`.\n- `runtime-readiness-port-only` - Compute readiness watches listening ports; a loopback-only listener can look ready while public ingress cannot reach it.\n\n### 5. Typed Compute Config\n\n- `config-optional-simple-app` - `prisma.compute.ts` is not required to deploy a normal single app; use flags when there is no durable config.\n- `config-init-formalizer` - Generate a fresh config with `bunx @prisma\u002Fcli@latest init`: it detects the framework, pins name\u002Fframework\u002FhttpPort (plus entry for Bun\u002FHono), and offers the Project link. `--format json` writes a dependency-free `prisma.compute.json` instead. `init` refuses when any config already exists, never scaffolds code, and never deploys.\n- `config-use-prisma-compute-ts` - Put reusable deploy defaults in `prisma.compute.ts` with `defineComputeConfig`, not in `prisma.config.ts`.\n- `config-app-vs-apps` - Use `app` for a single deploy target and `apps` for monorepos or multi-app repos; define exactly one.\n- `config-monorepo-roots` - For monorepos, use `prisma.compute.ts` to declare app targets, roots, framework defaults, entrypoints, ports, and env inputs.\n- `config-targets` - In multi-app configs, `@prisma\u002Fcli app deploy web` selects the `apps.web` target. Without `[app]`, commands can infer the target from the current directory; otherwise deploy can run all targets while build\u002Frun require one.\n- `config-region-new-app-only` - A config `region` is only a default for newly created apps; deploys to existing apps keep the app's current region.\n- `config-custom-artifact` - Use `framework: \"custom\"` with `build.outputDirectory` and `build.entrypoint` for prebuilt or custom-built artifacts.\n- `config-no-project-branch-secrets` - Do not commit Workspace, Project, Branch, production intent, service tokens, or secret values in `prisma.compute.ts`; keep those in flags, `.prisma\u002Flocal.json`, env storage, or CI secrets. App-level defaults such as `region`, `root`, `framework`, `entry`, `httpPort`, and non-secret env file paths belong in config.\n- `config-flags-win` - Explicit deploy flags such as `--framework`, `--entry`, `--http-port`, `--region`, and `--env` override matching config values.\n\n### 6. Branch, Environment, and Database\n\n- `env-do-not-leak-secrets` - Never print full `DATABASE_URL`, service tokens, or secret values.\n- `env-deploy-loads-dotenv` - Generated deploy scripts may load env via `prisma.compute.ts` or `--env .env`; inspect the actual script\u002Fconfig before redeploy.\n- `env-migrations-separate` - Redeploy scripts do not run migrations or seed data. Run the appropriate Prisma database scripts separately.\n- `env-cli-token-name` - `@prisma\u002Fcli` uses `PRISMA_SERVICE_TOKEN` for service-token auth.\n- `env-branch-scope` - Branch deploys, branch env vars, and branch databases must use the same branch name; pass `--branch \u003Cgit-name>` explicitly when targeting a preview branch.\n- `env-production-vs-preview` - Use `--role production` for production env, `--role preview` for preview template env, and `--branch \u003Cgit-name>` for branch-specific overrides.\n- `env-db-explicit` - Keep database and env wiring explicit through database and project env commands; deploy examples should not add database setup, and deploys do not run migrations, seed data, or create one database per app automatically.\n\n### 7. Deploy Operations\n\n- `deploy-prod-intent` - Use `--prod --yes` only when the user intends a production deploy. The first production deploy of an App auto-promotes without `--prod`; the flag gates subsequent production-branch deploys.\n- `deploy-no-promote` - Use `app deploy --no-promote` for build-then-verify: it builds a candidate reachable at its own URL without touching the live deployment, promoted later with `app promote \u003Cdeployment-id>`.\n- `deploy-github-default-branch` - When a Compute app is connected to GitHub push-to-deploy, a merge to the default branch is the production deploy path; check deployment records or GitHub check runs instead of telling users to redeploy the merged PR branch or run a default-branch preview deploy.\n- `deploy-build-logs` - Use `@prisma\u002Fcli build logs \u003Cbuild-id>` for GitHub\u002FConsole build output. Use `app logs` for runtime deployment logs; the two ids are different.\n- `deploy-noninteractive-auth` - Non-interactive deploys need either the correct active stored OAuth workspace or a supported service token env var; never print the token.\n- `deploy-json-for-agents` - Use `--json --no-interactive` for scripts and agent-readable output.\n- `deploy-create-project` - Use `--create-project \u003Cname>` only when the user wants deploy to create and link a new project; it conflicts with `--project` and `PRISMA_PROJECT_ID`.\n- `deploy-ops-targets` - App show\u002Fopen\u002Flogs\u002Flist-deploys\u002Fpromote\u002Frollback\u002Fremove and domain commands can also accept `[app]` targets from `prisma.compute.ts`.\n- `deploy-report-cli-bugs` - On `UNEXPECTED_ERROR` or an unresolvable failure, report it with the feedback command; see \"Send Feedback and Report CLI Issues\" above.\n\n### 8. SDK and API\n\n- `sdk-use-cli-first` - Prefer `@prisma\u002Fcli app deploy` for app workflows; use `create-prisma` only to scaffold a new app unless the user is building lower-level automation.\n- `sdk-result-handling` - `@prisma\u002Fcompute-sdk` returns `Result` values; check `isOk()`\u002F`isErr()` instead of relying on exceptions.\n\n## Preferred Workflow\n\n1. Inspect the project: package manager, template\u002Fframework, `package.json` scripts, Prisma version, Prisma client location, `prisma.compute.ts`, and existing `compute:deploy`.\n2. Verify CLI help output for the package actually being used.\n3. Verify auth context before project\u002Fapp mutations: `auth whoami --json`, and when multiple local sessions may exist, `auth workspace list --json`.\n4. Choose the path:\n   - existing app deploy: config-backed target when present, generated `compute:deploy`, or `@prisma\u002Fcli app build\u002Frun\u002Fdeploy` flags\n   - new app scaffold: `create-prisma`, then generated `compute:deploy` or `@prisma\u002Fcli app deploy`\n   - low-level automation: `@prisma\u002Fcompute-sdk` or Management API\n5. Check framework readiness plus host\u002Fport\u002Fenv\u002Fruntime requirements, including project and branch scope.\n6. Run a local build or `app build` before deploying when feasible.\n7. Deploy with JSON output when automating, then request the public URL and summarize app URL, app id, deployment id, project id, workspace id, and follow-up steps.\n8. For GitHub\u002FConsole builds, inspect the `Prisma Compute Deploy` check run or `build logs \u003Cbuild-id>` before guessing why a build failed.\n\n## Avoid\n\n- Do not bury Compute deployment guidance in the generic `prisma-cli` skill.\n- Do not run `create-prisma` inside an existing app just to deploy it; use the generated `compute:deploy` script or `@prisma\u002Fcli app deploy`.\n- Do not tell users that every `create-prisma` template can auto-deploy.\n- Do not deploy with placeholder `DATABASE_URL` values.\n- Do not assume `next start` is the Compute runtime path; Next.js deploys need standalone output.\n",{"data":35,"body":38},{"name":4,"description":6,"license":26,"metadata":36},{"author":8,"version":37},"1.4.1",{"type":39,"children":40},"root",[41,49,55,62,67,174,195,201,214,292,337,343,348,412,418,423,547,553,647,653,902,908,915,1020,1026,1223,1229,1361,1367,1440,1446,1777,1783,1928,1934,2128,2134,2203,2209,2367,2373,2451],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Prisma Compute",{"type":42,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"Guide agents through Prisma Compute app creation, deployment, operations, and framework-specific deploy readiness.",{"type":42,"tag":56,"props":57,"children":59},"h2",{"id":58},"prisma-compute-cli-surface",[60],{"type":47,"value":61},"Prisma Compute CLI Surface",{"type":42,"tag":50,"props":63,"children":64},{},[65],{"type":47,"value":66},"Use the Prisma Platform CLI for Compute app workflows:",{"type":42,"tag":68,"props":69,"children":74},"pre",{"className":70,"code":71,"language":72,"meta":73,"style":73},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bunx @prisma\u002Fcli@latest app deploy --help\nbunx @prisma\u002Fcli@latest app --help\nbunx @prisma\u002Fcli@latest build logs --help\nbunx create-prisma@latest --help\n","bash","",[75],{"type":42,"tag":76,"props":77,"children":78},"code",{"__ignoreMap":73},[79,112,132,157],{"type":42,"tag":80,"props":81,"children":84},"span",{"class":82,"line":83},"line",1,[85,91,97,102,107],{"type":42,"tag":80,"props":86,"children":88},{"style":87},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[89],{"type":47,"value":90},"bunx",{"type":42,"tag":80,"props":92,"children":94},{"style":93},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[95],{"type":47,"value":96}," @prisma\u002Fcli@latest",{"type":42,"tag":80,"props":98,"children":99},{"style":93},[100],{"type":47,"value":101}," app",{"type":42,"tag":80,"props":103,"children":104},{"style":93},[105],{"type":47,"value":106}," deploy",{"type":42,"tag":80,"props":108,"children":109},{"style":93},[110],{"type":47,"value":111}," --help\n",{"type":42,"tag":80,"props":113,"children":115},{"class":82,"line":114},2,[116,120,124,128],{"type":42,"tag":80,"props":117,"children":118},{"style":87},[119],{"type":47,"value":90},{"type":42,"tag":80,"props":121,"children":122},{"style":93},[123],{"type":47,"value":96},{"type":42,"tag":80,"props":125,"children":126},{"style":93},[127],{"type":47,"value":101},{"type":42,"tag":80,"props":129,"children":130},{"style":93},[131],{"type":47,"value":111},{"type":42,"tag":80,"props":133,"children":134},{"class":82,"line":27},[135,139,143,148,153],{"type":42,"tag":80,"props":136,"children":137},{"style":87},[138],{"type":47,"value":90},{"type":42,"tag":80,"props":140,"children":141},{"style":93},[142],{"type":47,"value":96},{"type":42,"tag":80,"props":144,"children":145},{"style":93},[146],{"type":47,"value":147}," build",{"type":42,"tag":80,"props":149,"children":150},{"style":93},[151],{"type":47,"value":152}," logs",{"type":42,"tag":80,"props":154,"children":155},{"style":93},[156],{"type":47,"value":111},{"type":42,"tag":80,"props":158,"children":160},{"class":82,"line":159},4,[161,165,170],{"type":42,"tag":80,"props":162,"children":163},{"style":87},[164],{"type":47,"value":90},{"type":42,"tag":80,"props":166,"children":167},{"style":93},[168],{"type":47,"value":169}," create-prisma@latest",{"type":42,"tag":80,"props":171,"children":172},{"style":93},[173],{"type":47,"value":111},{"type":42,"tag":50,"props":175,"children":176},{},[177,179,185,187,193],{"type":47,"value":178},"Use ",{"type":42,"tag":76,"props":180,"children":182},{"className":181},[],[183],{"type":47,"value":184},"@prisma\u002Fcli@latest",{"type":47,"value":186}," for Compute app deployment. Use ",{"type":42,"tag":76,"props":188,"children":190},{"className":189},[],[191],{"type":47,"value":192},"create-prisma@latest",{"type":47,"value":194}," for new-project scaffolding.",{"type":42,"tag":56,"props":196,"children":198},{"id":197},"send-feedback-and-report-cli-issues",[199],{"type":47,"value":200},"Send Feedback and Report CLI Issues",{"type":42,"tag":50,"props":202,"children":203},{},[204,206,212],{"type":47,"value":205},"The CLI has a built-in feedback channel. Use it whenever a command crashes (",{"type":42,"tag":76,"props":207,"children":209},{"className":208},[],[210],{"type":47,"value":211},"UNEXPECTED_ERROR",{"type":47,"value":213},"), a failure survives troubleshooting, or the user asks to send feedback to the Prisma team:",{"type":42,"tag":68,"props":215,"children":217},{"className":70,"code":216,"language":72,"meta":73,"style":73},"bunx @prisma\u002Fcli@latest feedback \"app deploy crashed: \u003Cfirst error line>\"\nbunx @prisma\u002Fcli@latest feedback \"love the deploy flow\" --email you@example.com\n",[218],{"type":42,"tag":76,"props":219,"children":220},{"__ignoreMap":73},[221,253],{"type":42,"tag":80,"props":222,"children":223},{"class":82,"line":83},[224,228,232,237,243,248],{"type":42,"tag":80,"props":225,"children":226},{"style":87},[227],{"type":47,"value":90},{"type":42,"tag":80,"props":229,"children":230},{"style":93},[231],{"type":47,"value":96},{"type":42,"tag":80,"props":233,"children":234},{"style":93},[235],{"type":47,"value":236}," feedback",{"type":42,"tag":80,"props":238,"children":240},{"style":239},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[241],{"type":47,"value":242}," \"",{"type":42,"tag":80,"props":244,"children":245},{"style":93},[246],{"type":47,"value":247},"app deploy crashed: \u003Cfirst error line>",{"type":42,"tag":80,"props":249,"children":250},{"style":239},[251],{"type":47,"value":252},"\"\n",{"type":42,"tag":80,"props":254,"children":255},{"class":82,"line":114},[256,260,264,268,272,277,282,287],{"type":42,"tag":80,"props":257,"children":258},{"style":87},[259],{"type":47,"value":90},{"type":42,"tag":80,"props":261,"children":262},{"style":93},[263],{"type":47,"value":96},{"type":42,"tag":80,"props":265,"children":266},{"style":93},[267],{"type":47,"value":236},{"type":42,"tag":80,"props":269,"children":270},{"style":239},[271],{"type":47,"value":242},{"type":42,"tag":80,"props":273,"children":274},{"style":93},[275],{"type":47,"value":276},"love the deploy flow",{"type":42,"tag":80,"props":278,"children":279},{"style":239},[280],{"type":47,"value":281},"\"",{"type":42,"tag":80,"props":283,"children":284},{"style":93},[285],{"type":47,"value":286}," --email",{"type":42,"tag":80,"props":288,"children":289},{"style":93},[290],{"type":47,"value":291}," you@example.com\n",{"type":42,"tag":50,"props":293,"children":294},{},[295,297,303,305,311,313,319,321,327,329,335],{"type":47,"value":296},"Crash output points here on its own: ",{"type":42,"tag":76,"props":298,"children":300},{"className":299},[],[301],{"type":47,"value":302},"--json",{"type":47,"value":304}," crash envelopes carry the exact pre-filled command as a ",{"type":42,"tag":76,"props":306,"children":308},{"className":307},[],[309],{"type":47,"value":310},"recover",{"type":47,"value":312}," entry in ",{"type":42,"tag":76,"props":314,"children":316},{"className":315},[],[317],{"type":47,"value":318},"nextActions",{"type":47,"value":320}," (run it verbatim), and human crash output ends with a ",{"type":42,"tag":76,"props":322,"children":324},{"className":323},[],[325],{"type":47,"value":326},"Tell us what happened:",{"type":47,"value":328}," hint. Feedback is anonymous unless ",{"type":42,"tag":76,"props":330,"children":332},{"className":331},[],[333],{"type":47,"value":334},"--email",{"type":47,"value":336}," is passed and attaches only the CLI version, node version, and OS platform\u002Farch. Never include secrets, connection URLs, or user data in the message.",{"type":42,"tag":56,"props":338,"children":340},{"id":339},"source-of-truth-order",[341],{"type":47,"value":342},"Source-of-Truth Order",{"type":42,"tag":50,"props":344,"children":345},{},[346],{"type":47,"value":347},"Use evidence in this order when deciding what to edit or run:",{"type":42,"tag":349,"props":350,"children":351},"ol",{},[352,382,402,407],{"type":42,"tag":353,"props":354,"children":355},"li",{},[356,358,364,366,372,374,380],{"type":47,"value":357},"The project's generated scripts and config, especially ",{"type":42,"tag":76,"props":359,"children":361},{"className":360},[],[362],{"type":47,"value":363},"prisma.compute.ts",{"type":47,"value":365},", ",{"type":42,"tag":76,"props":367,"children":369},{"className":368},[],[370],{"type":47,"value":371},"compute:deploy",{"type":47,"value":373},", framework config, and ",{"type":42,"tag":76,"props":375,"children":377},{"className":376},[],[378],{"type":47,"value":379},"package.json",{"type":47,"value":381},".",{"type":42,"tag":353,"props":383,"children":384},{},[385,387,393,395,401],{"type":47,"value":386},"CLI help output from ",{"type":42,"tag":76,"props":388,"children":390},{"className":389},[],[391],{"type":47,"value":392},"create-prisma",{"type":47,"value":394}," and ",{"type":42,"tag":76,"props":396,"children":398},{"className":397},[],[399],{"type":47,"value":400},"@prisma\u002Fcli",{"type":47,"value":381},{"type":42,"tag":353,"props":403,"children":404},{},[405],{"type":47,"value":406},"Local installed package code, generated artifacts, and type definitions.",{"type":42,"tag":353,"props":408,"children":409},{},[410],{"type":47,"value":411},"Official docs.",{"type":42,"tag":56,"props":413,"children":415},{"id":414},"when-to-apply",[416],{"type":47,"value":417},"When to Apply",{"type":42,"tag":50,"props":419,"children":420},{},[421],{"type":47,"value":422},"Use this skill for:",{"type":42,"tag":424,"props":425,"children":426},"ul",{},[427,432,437,449,454,479,492,497,502,512,523,534],{"type":42,"tag":353,"props":428,"children":429},{},[430],{"type":47,"value":431},"Creating a new app that can deploy to Prisma Compute",{"type":42,"tag":353,"props":433,"children":434},{},[435],{"type":47,"value":436},"Deploying an existing TypeScript app to Prisma Compute",{"type":42,"tag":353,"props":438,"children":439},{},[440,442,447],{"type":47,"value":441},"Creating or updating a typed ",{"type":42,"tag":76,"props":443,"children":445},{"className":444},[],[446],{"type":47,"value":363},{"type":47,"value":448}," deploy config",{"type":42,"tag":353,"props":450,"children":451},{},[452],{"type":47,"value":453},"Deciding whether a framework is Compute-ready",{"type":42,"tag":353,"props":455,"children":456},{},[457,459,465,466,471,473],{"type":47,"value":458},"Debugging ",{"type":42,"tag":76,"props":460,"children":462},{"className":461},[],[463],{"type":47,"value":464},"create-prisma --deploy",{"type":47,"value":365},{"type":42,"tag":76,"props":467,"children":469},{"className":468},[],[470],{"type":47,"value":371},{"type":47,"value":472},", or ",{"type":42,"tag":76,"props":474,"children":476},{"className":475},[],[477],{"type":47,"value":478},"app deploy",{"type":42,"tag":353,"props":480,"children":481},{},[482,484,490],{"type":47,"value":483},"Managing Compute app logs, deployments, environment variables, and domains, and listing platform branches (",{"type":42,"tag":76,"props":485,"children":487},{"className":486},[],[488],{"type":47,"value":489},"branch list",{"type":47,"value":491},"; there are no branch create\u002Fremove commands)",{"type":42,"tag":353,"props":493,"children":494},{},[495],{"type":47,"value":496},"Inspecting GitHub\u002FConsole build logs and GitHub push-to-deploy status",{"type":42,"tag":353,"props":498,"children":499},{},[500],{"type":47,"value":501},"Running non-interactive deploys with browser auth, multiple stored workspaces, or Prisma service tokens",{"type":42,"tag":353,"props":503,"children":504},{},[505,507],{"type":47,"value":506},"Switching, selecting, listing, or logging out local Prisma Platform workspaces for ",{"type":42,"tag":76,"props":508,"children":510},{"className":509},[],[511],{"type":47,"value":400},{"type":42,"tag":353,"props":513,"children":514},{},[515,517],{"type":47,"value":516},"Installing or updating Prisma skills with ",{"type":42,"tag":76,"props":518,"children":520},{"className":519},[],[521],{"type":47,"value":522},"@prisma\u002Fcli agent install|update|status",{"type":42,"tag":353,"props":524,"children":525},{},[526,528],{"type":47,"value":527},"Sending feedback or reporting unresolvable CLI failures with ",{"type":42,"tag":76,"props":529,"children":531},{"className":530},[],[532],{"type":47,"value":533},"@prisma\u002Fcli feedback",{"type":42,"tag":353,"props":535,"children":536},{},[537,539,545],{"type":47,"value":538},"Programmatic deployments with ",{"type":42,"tag":76,"props":540,"children":542},{"className":541},[],[543],{"type":47,"value":544},"@prisma\u002Fcompute-sdk",{"type":47,"value":546}," or Management API integrations",{"type":42,"tag":56,"props":548,"children":550},{"id":549},"decision-tree",[551],{"type":47,"value":552},"Decision Tree",{"type":42,"tag":349,"props":554,"children":555},{},[556,572,587,602,617,632],{"type":42,"tag":353,"props":557,"children":558},{},[559,561,571],{"type":47,"value":560},"Existing project deployment or redeploy:\nRead ",{"type":42,"tag":562,"props":563,"children":565},"a",{"href":564},"references\u002Fapp-deploy-cli.md",[566],{"type":42,"tag":76,"props":567,"children":569},{"className":568},[],[570],{"type":47,"value":564},{"type":47,"value":381},{"type":42,"tag":353,"props":573,"children":574},{},[575,577,586],{"type":47,"value":576},"Typed Compute config, monorepos, deploy targets, app roots, or build\u002Fenv defaults:\nRead ",{"type":42,"tag":562,"props":578,"children":580},{"href":579},"references\u002Fcompute-config.md",[581],{"type":42,"tag":76,"props":582,"children":584},{"className":583},[],[585],{"type":47,"value":579},{"type":47,"value":381},{"type":42,"tag":353,"props":588,"children":589},{},[590,592,601],{"type":47,"value":591},"Framework-specific build\u002Fruntime work:\nRead ",{"type":42,"tag":562,"props":593,"children":595},{"href":594},"references\u002Fframeworks.md",[596],{"type":42,"tag":76,"props":597,"children":599},{"className":598},[],[600],{"type":47,"value":594},{"type":47,"value":381},{"type":42,"tag":353,"props":603,"children":604},{},[605,607,616],{"type":47,"value":606},"New project from a scaffold:\nRead ",{"type":42,"tag":562,"props":608,"children":610},{"href":609},"references\u002Fcreate-prisma.md",[611],{"type":42,"tag":76,"props":612,"children":614},{"className":613},[],[615],{"type":47,"value":609},{"type":47,"value":381},{"type":42,"tag":353,"props":618,"children":619},{},[620,622,631],{"type":47,"value":621},"Programmatic deployment, SDKs, APIs, or low-level App\u002FDeployment concepts:\nRead ",{"type":42,"tag":562,"props":623,"children":625},{"href":624},"references\u002Fsdk-api.md",[626],{"type":42,"tag":76,"props":627,"children":629},{"className":628},[],[630],{"type":47,"value":624},{"type":47,"value":381},{"type":42,"tag":353,"props":633,"children":634},{},[635,637,646],{"type":47,"value":636},"Build, auth, env, deploy, or runtime failures:\nRead ",{"type":42,"tag":562,"props":638,"children":640},{"href":639},"references\u002Ftroubleshooting.md",[641],{"type":42,"tag":76,"props":642,"children":644},{"className":643},[],[645],{"type":47,"value":639},{"type":47,"value":381},{"type":42,"tag":56,"props":648,"children":650},{"id":649},"rules-by-priority",[651],{"type":47,"value":652},"Rules by Priority",{"type":42,"tag":654,"props":655,"children":656},"table",{},[657,686],{"type":42,"tag":658,"props":659,"children":660},"thead",{},[661],{"type":42,"tag":662,"props":663,"children":664},"tr",{},[665,671,676,681],{"type":42,"tag":666,"props":667,"children":668},"th",{},[669],{"type":47,"value":670},"Priority",{"type":42,"tag":666,"props":672,"children":673},{},[674],{"type":47,"value":675},"Category",{"type":42,"tag":666,"props":677,"children":678},{},[679],{"type":47,"value":680},"Impact",{"type":42,"tag":666,"props":682,"children":683},{},[684],{"type":47,"value":685},"Prefix",{"type":42,"tag":687,"props":688,"children":689},"tbody",{},[690,718,744,770,796,823,849,875],{"type":42,"tag":662,"props":691,"children":692},{},[693,699,704,709],{"type":42,"tag":694,"props":695,"children":696},"td",{},[697],{"type":47,"value":698},"1",{"type":42,"tag":694,"props":700,"children":701},{},[702],{"type":47,"value":703},"Command verification",{"type":42,"tag":694,"props":705,"children":706},{},[707],{"type":47,"value":708},"CRITICAL",{"type":42,"tag":694,"props":710,"children":711},{},[712],{"type":42,"tag":76,"props":713,"children":715},{"className":714},[],[716],{"type":47,"value":717},"verify-",{"type":42,"tag":662,"props":719,"children":720},{},[721,726,731,735],{"type":42,"tag":694,"props":722,"children":723},{},[724],{"type":47,"value":725},"2",{"type":42,"tag":694,"props":727,"children":728},{},[729],{"type":47,"value":730},"Auth and workspace selection",{"type":42,"tag":694,"props":732,"children":733},{},[734],{"type":47,"value":708},{"type":42,"tag":694,"props":736,"children":737},{},[738],{"type":42,"tag":76,"props":739,"children":741},{"className":740},[],[742],{"type":47,"value":743},"auth-",{"type":42,"tag":662,"props":745,"children":746},{},[747,752,757,761],{"type":42,"tag":694,"props":748,"children":749},{},[750],{"type":47,"value":751},"3",{"type":42,"tag":694,"props":753,"children":754},{},[755],{"type":47,"value":756},"Framework readiness",{"type":42,"tag":694,"props":758,"children":759},{},[760],{"type":47,"value":708},{"type":42,"tag":694,"props":762,"children":763},{},[764],{"type":42,"tag":76,"props":765,"children":767},{"className":766},[],[768],{"type":47,"value":769},"framework-",{"type":42,"tag":662,"props":771,"children":772},{},[773,778,783,787],{"type":42,"tag":694,"props":774,"children":775},{},[776],{"type":47,"value":777},"4",{"type":42,"tag":694,"props":779,"children":780},{},[781],{"type":47,"value":782},"Runtime host and port binding",{"type":42,"tag":694,"props":784,"children":785},{},[786],{"type":47,"value":708},{"type":42,"tag":694,"props":788,"children":789},{},[790],{"type":42,"tag":76,"props":791,"children":793},{"className":792},[],[794],{"type":47,"value":795},"runtime-",{"type":42,"tag":662,"props":797,"children":798},{},[799,804,809,814],{"type":42,"tag":694,"props":800,"children":801},{},[802],{"type":47,"value":803},"5",{"type":42,"tag":694,"props":805,"children":806},{},[807],{"type":47,"value":808},"Typed Compute config",{"type":42,"tag":694,"props":810,"children":811},{},[812],{"type":47,"value":813},"HIGH",{"type":42,"tag":694,"props":815,"children":816},{},[817],{"type":42,"tag":76,"props":818,"children":820},{"className":819},[],[821],{"type":47,"value":822},"config-",{"type":42,"tag":662,"props":824,"children":825},{},[826,831,836,840],{"type":42,"tag":694,"props":827,"children":828},{},[829],{"type":47,"value":830},"6",{"type":42,"tag":694,"props":832,"children":833},{},[834],{"type":47,"value":835},"Branch, environment, and database wiring",{"type":42,"tag":694,"props":837,"children":838},{},[839],{"type":47,"value":813},{"type":42,"tag":694,"props":841,"children":842},{},[843],{"type":42,"tag":76,"props":844,"children":846},{"className":845},[],[847],{"type":47,"value":848},"env-",{"type":42,"tag":662,"props":850,"children":851},{},[852,857,862,866],{"type":42,"tag":694,"props":853,"children":854},{},[855],{"type":47,"value":856},"7",{"type":42,"tag":694,"props":858,"children":859},{},[860],{"type":47,"value":861},"Deploy operations",{"type":42,"tag":694,"props":863,"children":864},{},[865],{"type":47,"value":813},{"type":42,"tag":694,"props":867,"children":868},{},[869],{"type":42,"tag":76,"props":870,"children":872},{"className":871},[],[873],{"type":47,"value":874},"deploy-",{"type":42,"tag":662,"props":876,"children":877},{},[878,883,888,893],{"type":42,"tag":694,"props":879,"children":880},{},[881],{"type":47,"value":882},"8",{"type":42,"tag":694,"props":884,"children":885},{},[886],{"type":47,"value":887},"SDK and API automation",{"type":42,"tag":694,"props":889,"children":890},{},[891],{"type":47,"value":892},"MEDIUM",{"type":42,"tag":694,"props":894,"children":895},{},[896],{"type":42,"tag":76,"props":897,"children":899},{"className":898},[],[900],{"type":47,"value":901},"sdk-",{"type":42,"tag":56,"props":903,"children":905},{"id":904},"quick-rules",[906],{"type":47,"value":907},"Quick Rules",{"type":42,"tag":909,"props":910,"children":912},"h3",{"id":911},"_1-command-verification",[913],{"type":47,"value":914},"1. Command Verification",{"type":42,"tag":424,"props":916,"children":917},{},[918,929,954,972,983,1001],{"type":42,"tag":353,"props":919,"children":920},{},[921,927],{"type":42,"tag":76,"props":922,"children":924},{"className":923},[],[925],{"type":47,"value":926},"verify-help-first",{"type":47,"value":928}," - Use CLI help output to confirm command syntax while working.",{"type":42,"tag":353,"props":930,"children":931},{},[932,938,940,946,948,953],{"type":42,"tag":76,"props":933,"children":935},{"className":934},[],[936],{"type":47,"value":937},"verify-prisma-vs-platform-cli",{"type":47,"value":939}," - Do not assume ",{"type":42,"tag":76,"props":941,"children":943},{"className":942},[],[944],{"type":47,"value":945},"prisma app deploy",{"type":47,"value":947}," exists in the ORM CLI; check whether the task should use ",{"type":42,"tag":76,"props":949,"children":951},{"className":950},[],[952],{"type":47,"value":400},{"type":47,"value":381},{"type":42,"tag":353,"props":955,"children":956},{},[957,963,965,970],{"type":42,"tag":76,"props":958,"children":960},{"className":959},[],[961],{"type":47,"value":962},"verify-generated-scripts",{"type":47,"value":964}," - Prefer the generated ",{"type":42,"tag":76,"props":966,"children":968},{"className":967},[],[969],{"type":47,"value":371},{"type":47,"value":971}," script when a project already has one.",{"type":42,"tag":353,"props":973,"children":974},{},[975,981],{"type":42,"tag":76,"props":976,"children":978},{"className":977},[],[979],{"type":47,"value":980},"verify-public-url",{"type":47,"value":982}," - After a real deploy, request the public deployment URL instead of trusting local or readiness-only checks.",{"type":42,"tag":353,"props":984,"children":985},{},[986,992,994,999],{"type":42,"tag":76,"props":987,"children":989},{"className":988},[],[990],{"type":47,"value":991},"verify-config-support",{"type":47,"value":993}," - Treat ",{"type":42,"tag":76,"props":995,"children":997},{"className":996},[],[998],{"type":47,"value":363},{"type":47,"value":1000}," as the typed Compute config; inspect the project's config and generated scripts before editing or deploying.",{"type":42,"tag":353,"props":1002,"children":1003},{},[1004,1010,1012,1018],{"type":42,"tag":76,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":47,"value":1009},"verify-auth-workspace-support",{"type":47,"value":1011}," - Use ",{"type":42,"tag":76,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":47,"value":1017},"@prisma\u002Fcli auth workspace",{"type":47,"value":1019}," commands for local workspace list\u002Fuse\u002Flogout flows.",{"type":42,"tag":909,"props":1021,"children":1023},{"id":1022},"_2-auth-and-workspace-selection",[1024],{"type":47,"value":1025},"2. Auth and Workspace Selection",{"type":42,"tag":424,"props":1027,"children":1028},{},[1029,1048,1067,1085,1111,1130,1164,1189],{"type":42,"tag":353,"props":1030,"children":1031},{},[1032,1038,1040,1046],{"type":42,"tag":76,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":47,"value":1037},"auth-source-precedence",{"type":47,"value":1039}," - A non-empty ",{"type":42,"tag":76,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":47,"value":1045},"PRISMA_SERVICE_TOKEN",{"type":47,"value":1047}," is the active auth source for commands and local OAuth workspaces are ignored for execution. If it is set but empty, the CLI should fail instead of falling back to stored OAuth.",{"type":42,"tag":353,"props":1049,"children":1050},{},[1051,1057,1059,1065],{"type":42,"tag":76,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":47,"value":1056},"auth-multi-workspace",{"type":47,"value":1058}," - ",{"type":42,"tag":76,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":47,"value":1064},"auth login",{"type":47,"value":1066}," can store OAuth sessions for multiple workspaces on the same machine. The active workspace pointer selects which stored OAuth grant normal commands use.",{"type":42,"tag":353,"props":1068,"children":1069},{},[1070,1076,1077,1083],{"type":42,"tag":76,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":47,"value":1075},"auth-list-before-switch",{"type":47,"value":1011},{"type":42,"tag":76,"props":1078,"children":1080},{"className":1079},[],[1081],{"type":47,"value":1082},"auth workspace list --json",{"type":47,"value":1084}," to inspect local sessions. Agents should prefer workspace ids from JSON over names because names can be ambiguous.",{"type":42,"tag":353,"props":1086,"children":1087},{},[1088,1094,1095,1101,1103,1109],{"type":42,"tag":76,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":47,"value":1093},"auth-switch-explicitly",{"type":47,"value":1011},{"type":42,"tag":76,"props":1096,"children":1098},{"className":1097},[],[1099],{"type":47,"value":1100},"auth workspace use \u003Cid-or-name>",{"type":47,"value":1102}," for non-interactive switching. Use ",{"type":42,"tag":76,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":47,"value":1108},"auth workspace use",{"type":47,"value":1110}," with no argument only for an interactive picker or when exactly one local OAuth workspace exists.",{"type":42,"tag":353,"props":1112,"children":1113},{},[1114,1120,1122,1128],{"type":42,"tag":76,"props":1115,"children":1117},{"className":1116},[],[1118],{"type":47,"value":1119},"auth-no-fallthrough",{"type":47,"value":1121}," - If the active OAuth workspace is logged out or fails refresh, the CLI should not silently fall through to another cached workspace. Run ",{"type":42,"tag":76,"props":1123,"children":1125},{"className":1124},[],[1126],{"type":47,"value":1127},"auth workspace use \u003Cid>",{"type":47,"value":1129}," to choose the next workspace.",{"type":42,"tag":353,"props":1131,"children":1132},{},[1133,1139,1140,1146,1148,1154,1156,1162],{"type":42,"tag":76,"props":1134,"children":1136},{"className":1135},[],[1137],{"type":47,"value":1138},"auth-single-workspace-logout",{"type":47,"value":1011},{"type":42,"tag":76,"props":1141,"children":1143},{"className":1142},[],[1144],{"type":47,"value":1145},"auth workspace logout \u003Cid-or-name>",{"type":47,"value":1147}," or ",{"type":42,"tag":76,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":47,"value":1153},"auth logout --workspace \u003Cid-or-name>",{"type":47,"value":1155}," to remove one local OAuth workspace session. Plain ",{"type":42,"tag":76,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":47,"value":1161},"auth logout",{"type":47,"value":1163}," clears all local OAuth workspace sessions.",{"type":42,"tag":353,"props":1165,"children":1166},{},[1167,1173,1175,1180,1182,1187],{"type":42,"tag":76,"props":1168,"children":1170},{"className":1169},[],[1171],{"type":47,"value":1172},"auth-service-token-switching",{"type":47,"value":1174}," - While ",{"type":42,"tag":76,"props":1176,"children":1178},{"className":1177},[],[1179],{"type":47,"value":1045},{"type":47,"value":1181}," is set, ",{"type":42,"tag":76,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":47,"value":1108},{"type":47,"value":1188}," is unavailable because the service token is the active auth source; unset the env var to switch local OAuth workspaces. Workspace logout still only cleans local OAuth state.",{"type":42,"tag":353,"props":1190,"children":1191},{},[1192,1198,1200,1206,1208,1214,1216,1221],{"type":42,"tag":76,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":47,"value":1197},"auth-storage-awareness",{"type":47,"value":1199}," - Local OAuth credentials live in the platform auth file, with workspace metadata in a sidecar context file. Project pins live in ",{"type":42,"tag":76,"props":1201,"children":1203},{"className":1202},[],[1204],{"type":47,"value":1205},".prisma\u002Flocal.json",{"type":47,"value":1207},", and CLI app\u002Fproject state lives in ",{"type":42,"tag":76,"props":1209,"children":1211},{"className":1210},[],[1212],{"type":47,"value":1213},".prisma\u002Fcli\u002Fstate.json",{"type":47,"value":1215}," near ",{"type":42,"tag":76,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":47,"value":363},{"type":47,"value":1222}," when present.",{"type":42,"tag":909,"props":1224,"children":1226},{"id":1225},"_3-framework-readiness",[1227],{"type":47,"value":1228},"3. Framework Readiness",{"type":42,"tag":424,"props":1230,"children":1231},{},[1232,1258,1326,1350],{"type":42,"tag":353,"props":1233,"children":1234},{},[1235,1241,1243,1249,1251,1256],{"type":42,"tag":76,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":47,"value":1240},"framework-cli-first",{"type":47,"value":1242}," - Evaluate deploy readiness against ",{"type":42,"tag":76,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":47,"value":1248},"@prisma\u002Fcli app deploy",{"type":47,"value":1250},", not against what ",{"type":42,"tag":76,"props":1252,"children":1254},{"className":1253},[],[1255],{"type":47,"value":392},{"type":47,"value":1257}," can scaffold.",{"type":42,"tag":353,"props":1259,"children":1260},{},[1261,1267,1269,1275,1276,1282,1283,1289,1290,1296,1297,1303,1304,1310,1311,1317,1319,1325],{"type":42,"tag":76,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":47,"value":1266},"framework-supported-cli-deploy",{"type":47,"value":1268}," - Compute deploy supports ",{"type":42,"tag":76,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":47,"value":1274},"nextjs",{"type":47,"value":365},{"type":42,"tag":76,"props":1277,"children":1279},{"className":1278},[],[1280],{"type":47,"value":1281},"nuxt",{"type":47,"value":365},{"type":42,"tag":76,"props":1284,"children":1286},{"className":1285},[],[1287],{"type":47,"value":1288},"astro",{"type":47,"value":365},{"type":42,"tag":76,"props":1291,"children":1293},{"className":1292},[],[1294],{"type":47,"value":1295},"hono",{"type":47,"value":365},{"type":42,"tag":76,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":47,"value":1302},"nestjs",{"type":47,"value":365},{"type":42,"tag":76,"props":1305,"children":1307},{"className":1306},[],[1308],{"type":47,"value":1309},"tanstack-start",{"type":47,"value":365},{"type":42,"tag":76,"props":1312,"children":1314},{"className":1313},[],[1315],{"type":47,"value":1316},"custom",{"type":47,"value":1318},", and ",{"type":42,"tag":76,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":47,"value":1324},"bun",{"type":47,"value":381},{"type":42,"tag":353,"props":1327,"children":1328},{},[1329,1335,1336,1341,1343,1348],{"type":42,"tag":76,"props":1330,"children":1332},{"className":1331},[],[1333],{"type":47,"value":1334},"framework-create-prisma-defaults-only",{"type":47,"value":1058},{"type":42,"tag":76,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":47,"value":392},{"type":47,"value":1342}," can provide generated defaults and ",{"type":42,"tag":76,"props":1344,"children":1346},{"className":1345},[],[1347],{"type":47,"value":371},{"type":47,"value":1349},", but it is not the general deploy surface for existing apps.",{"type":42,"tag":353,"props":1351,"children":1352},{},[1353,1359],{"type":42,"tag":76,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":47,"value":1358},"framework-build-output",{"type":47,"value":1360}," - Compute needs a server entrypoint or framework artifact, not only static output.",{"type":42,"tag":909,"props":1362,"children":1364},{"id":1363},"_4-runtime-host-and-port-binding",[1365],{"type":47,"value":1366},"4. Runtime Host and Port Binding",{"type":42,"tag":424,"props":1368,"children":1369},{},[1370,1403,1429],{"type":42,"tag":353,"props":1371,"children":1372},{},[1373,1379,1381,1387,1389,1395,1396,1402],{"type":42,"tag":76,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":47,"value":1378},"runtime-bind-all-interfaces",{"type":47,"value":1380}," - Deployed servers must bind on all interfaces (",{"type":42,"tag":76,"props":1382,"children":1384},{"className":1383},[],[1385],{"type":47,"value":1386},"0.0.0.0",{"type":47,"value":1388}," or the framework equivalent), not hard-coded ",{"type":42,"tag":76,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":47,"value":1394},"localhost",{"type":47,"value":1147},{"type":42,"tag":76,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":47,"value":1401},"127.0.0.1",{"type":47,"value":381},{"type":42,"tag":353,"props":1404,"children":1405},{},[1406,1412,1414,1420,1422,1428],{"type":42,"tag":76,"props":1407,"children":1409},{"className":1408},[],[1410],{"type":47,"value":1411},"runtime-match-http-port",{"type":47,"value":1413}," - The app must listen on the deployed HTTP port: read ",{"type":42,"tag":76,"props":1415,"children":1417},{"className":1416},[],[1418],{"type":47,"value":1419},"process.env.PORT",{"type":47,"value":1421}," when possible, or pass the matching ",{"type":42,"tag":76,"props":1423,"children":1425},{"className":1424},[],[1426],{"type":47,"value":1427},"--http-port",{"type":47,"value":381},{"type":42,"tag":353,"props":1430,"children":1431},{},[1432,1438],{"type":42,"tag":76,"props":1433,"children":1435},{"className":1434},[],[1436],{"type":47,"value":1437},"runtime-readiness-port-only",{"type":47,"value":1439}," - Compute readiness watches listening ports; a loopback-only listener can look ready while public ingress cannot reach it.",{"type":42,"tag":909,"props":1441,"children":1443},{"id":1442},"_5-typed-compute-config",[1444],{"type":47,"value":1445},"5. Typed Compute Config",{"type":42,"tag":424,"props":1447,"children":1448},{},[1449,1466,1509,1542,1568,1586,1621,1640,1672,1731],{"type":42,"tag":353,"props":1450,"children":1451},{},[1452,1458,1459,1464],{"type":42,"tag":76,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":47,"value":1457},"config-optional-simple-app",{"type":47,"value":1058},{"type":42,"tag":76,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":47,"value":363},{"type":47,"value":1465}," is not required to deploy a normal single app; use flags when there is no durable config.",{"type":42,"tag":353,"props":1467,"children":1468},{},[1469,1475,1477,1483,1485,1491,1493,1499,1501,1507],{"type":42,"tag":76,"props":1470,"children":1472},{"className":1471},[],[1473],{"type":47,"value":1474},"config-init-formalizer",{"type":47,"value":1476}," - Generate a fresh config with ",{"type":42,"tag":76,"props":1478,"children":1480},{"className":1479},[],[1481],{"type":47,"value":1482},"bunx @prisma\u002Fcli@latest init",{"type":47,"value":1484},": it detects the framework, pins name\u002Fframework\u002FhttpPort (plus entry for Bun\u002FHono), and offers the Project link. ",{"type":42,"tag":76,"props":1486,"children":1488},{"className":1487},[],[1489],{"type":47,"value":1490},"--format json",{"type":47,"value":1492}," writes a dependency-free ",{"type":42,"tag":76,"props":1494,"children":1496},{"className":1495},[],[1497],{"type":47,"value":1498},"prisma.compute.json",{"type":47,"value":1500}," instead. ",{"type":42,"tag":76,"props":1502,"children":1504},{"className":1503},[],[1505],{"type":47,"value":1506},"init",{"type":47,"value":1508}," refuses when any config already exists, never scaffolds code, and never deploys.",{"type":42,"tag":353,"props":1510,"children":1511},{},[1512,1518,1520,1525,1527,1533,1535,1541],{"type":42,"tag":76,"props":1513,"children":1515},{"className":1514},[],[1516],{"type":47,"value":1517},"config-use-prisma-compute-ts",{"type":47,"value":1519}," - Put reusable deploy defaults in ",{"type":42,"tag":76,"props":1521,"children":1523},{"className":1522},[],[1524],{"type":47,"value":363},{"type":47,"value":1526}," with ",{"type":42,"tag":76,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":47,"value":1532},"defineComputeConfig",{"type":47,"value":1534},", not in ",{"type":42,"tag":76,"props":1536,"children":1538},{"className":1537},[],[1539],{"type":47,"value":1540},"prisma.config.ts",{"type":47,"value":381},{"type":42,"tag":353,"props":1543,"children":1544},{},[1545,1551,1552,1558,1560,1566],{"type":42,"tag":76,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":47,"value":1550},"config-app-vs-apps",{"type":47,"value":1011},{"type":42,"tag":76,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":47,"value":1557},"app",{"type":47,"value":1559}," for a single deploy target and ",{"type":42,"tag":76,"props":1561,"children":1563},{"className":1562},[],[1564],{"type":47,"value":1565},"apps",{"type":47,"value":1567}," for monorepos or multi-app repos; define exactly one.",{"type":42,"tag":353,"props":1569,"children":1570},{},[1571,1577,1579,1584],{"type":42,"tag":76,"props":1572,"children":1574},{"className":1573},[],[1575],{"type":47,"value":1576},"config-monorepo-roots",{"type":47,"value":1578}," - For monorepos, use ",{"type":42,"tag":76,"props":1580,"children":1582},{"className":1581},[],[1583],{"type":47,"value":363},{"type":47,"value":1585}," to declare app targets, roots, framework defaults, entrypoints, ports, and env inputs.",{"type":42,"tag":353,"props":1587,"children":1588},{},[1589,1595,1597,1603,1605,1611,1613,1619],{"type":42,"tag":76,"props":1590,"children":1592},{"className":1591},[],[1593],{"type":47,"value":1594},"config-targets",{"type":47,"value":1596}," - In multi-app configs, ",{"type":42,"tag":76,"props":1598,"children":1600},{"className":1599},[],[1601],{"type":47,"value":1602},"@prisma\u002Fcli app deploy web",{"type":47,"value":1604}," selects the ",{"type":42,"tag":76,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":47,"value":1610},"apps.web",{"type":47,"value":1612}," target. Without ",{"type":42,"tag":76,"props":1614,"children":1616},{"className":1615},[],[1617],{"type":47,"value":1618},"[app]",{"type":47,"value":1620},", commands can infer the target from the current directory; otherwise deploy can run all targets while build\u002Frun require one.",{"type":42,"tag":353,"props":1622,"children":1623},{},[1624,1630,1632,1638],{"type":42,"tag":76,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":47,"value":1629},"config-region-new-app-only",{"type":47,"value":1631}," - A config ",{"type":42,"tag":76,"props":1633,"children":1635},{"className":1634},[],[1636],{"type":47,"value":1637},"region",{"type":47,"value":1639}," is only a default for newly created apps; deploys to existing apps keep the app's current region.",{"type":42,"tag":353,"props":1641,"children":1642},{},[1643,1649,1650,1656,1657,1663,1664,1670],{"type":42,"tag":76,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":47,"value":1648},"config-custom-artifact",{"type":47,"value":1011},{"type":42,"tag":76,"props":1651,"children":1653},{"className":1652},[],[1654],{"type":47,"value":1655},"framework: \"custom\"",{"type":47,"value":1526},{"type":42,"tag":76,"props":1658,"children":1660},{"className":1659},[],[1661],{"type":47,"value":1662},"build.outputDirectory",{"type":47,"value":394},{"type":42,"tag":76,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":47,"value":1669},"build.entrypoint",{"type":47,"value":1671}," for prebuilt or custom-built artifacts.",{"type":42,"tag":353,"props":1673,"children":1674},{},[1675,1681,1683,1688,1690,1695,1697,1702,1703,1708,1709,1715,1716,1722,1723,1729],{"type":42,"tag":76,"props":1676,"children":1678},{"className":1677},[],[1679],{"type":47,"value":1680},"config-no-project-branch-secrets",{"type":47,"value":1682}," - Do not commit Workspace, Project, Branch, production intent, service tokens, or secret values in ",{"type":42,"tag":76,"props":1684,"children":1686},{"className":1685},[],[1687],{"type":47,"value":363},{"type":47,"value":1689},"; keep those in flags, ",{"type":42,"tag":76,"props":1691,"children":1693},{"className":1692},[],[1694],{"type":47,"value":1205},{"type":47,"value":1696},", env storage, or CI secrets. App-level defaults such as ",{"type":42,"tag":76,"props":1698,"children":1700},{"className":1699},[],[1701],{"type":47,"value":1637},{"type":47,"value":365},{"type":42,"tag":76,"props":1704,"children":1706},{"className":1705},[],[1707],{"type":47,"value":39},{"type":47,"value":365},{"type":42,"tag":76,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":47,"value":1714},"framework",{"type":47,"value":365},{"type":42,"tag":76,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":47,"value":1721},"entry",{"type":47,"value":365},{"type":42,"tag":76,"props":1724,"children":1726},{"className":1725},[],[1727],{"type":47,"value":1728},"httpPort",{"type":47,"value":1730},", and non-secret env file paths belong in config.",{"type":42,"tag":353,"props":1732,"children":1733},{},[1734,1740,1742,1748,1749,1755,1756,1761,1762,1768,1769,1775],{"type":42,"tag":76,"props":1735,"children":1737},{"className":1736},[],[1738],{"type":47,"value":1739},"config-flags-win",{"type":47,"value":1741}," - Explicit deploy flags such as ",{"type":42,"tag":76,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":47,"value":1747},"--framework",{"type":47,"value":365},{"type":42,"tag":76,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":47,"value":1754},"--entry",{"type":47,"value":365},{"type":42,"tag":76,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":47,"value":1427},{"type":47,"value":365},{"type":42,"tag":76,"props":1763,"children":1765},{"className":1764},[],[1766],{"type":47,"value":1767},"--region",{"type":47,"value":1318},{"type":42,"tag":76,"props":1770,"children":1772},{"className":1771},[],[1773],{"type":47,"value":1774},"--env",{"type":47,"value":1776}," override matching config values.",{"type":42,"tag":909,"props":1778,"children":1780},{"id":1779},"_6-branch-environment-and-database",[1781],{"type":47,"value":1782},"6. Branch, Environment, and Database",{"type":42,"tag":424,"props":1784,"children":1785},{},[1786,1805,1830,1841,1865,1884,1917],{"type":42,"tag":353,"props":1787,"children":1788},{},[1789,1795,1797,1803],{"type":42,"tag":76,"props":1790,"children":1792},{"className":1791},[],[1793],{"type":47,"value":1794},"env-do-not-leak-secrets",{"type":47,"value":1796}," - Never print full ",{"type":42,"tag":76,"props":1798,"children":1800},{"className":1799},[],[1801],{"type":47,"value":1802},"DATABASE_URL",{"type":47,"value":1804},", service tokens, or secret values.",{"type":42,"tag":353,"props":1806,"children":1807},{},[1808,1814,1816,1821,1822,1828],{"type":42,"tag":76,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":47,"value":1813},"env-deploy-loads-dotenv",{"type":47,"value":1815}," - Generated deploy scripts may load env via ",{"type":42,"tag":76,"props":1817,"children":1819},{"className":1818},[],[1820],{"type":47,"value":363},{"type":47,"value":1147},{"type":42,"tag":76,"props":1823,"children":1825},{"className":1824},[],[1826],{"type":47,"value":1827},"--env .env",{"type":47,"value":1829},"; inspect the actual script\u002Fconfig before redeploy.",{"type":42,"tag":353,"props":1831,"children":1832},{},[1833,1839],{"type":42,"tag":76,"props":1834,"children":1836},{"className":1835},[],[1837],{"type":47,"value":1838},"env-migrations-separate",{"type":47,"value":1840}," - Redeploy scripts do not run migrations or seed data. Run the appropriate Prisma database scripts separately.",{"type":42,"tag":353,"props":1842,"children":1843},{},[1844,1850,1851,1856,1858,1863],{"type":42,"tag":76,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":47,"value":1849},"env-cli-token-name",{"type":47,"value":1058},{"type":42,"tag":76,"props":1852,"children":1854},{"className":1853},[],[1855],{"type":47,"value":400},{"type":47,"value":1857}," uses ",{"type":42,"tag":76,"props":1859,"children":1861},{"className":1860},[],[1862],{"type":47,"value":1045},{"type":47,"value":1864}," for service-token auth.",{"type":42,"tag":353,"props":1866,"children":1867},{},[1868,1874,1876,1882],{"type":42,"tag":76,"props":1869,"children":1871},{"className":1870},[],[1872],{"type":47,"value":1873},"env-branch-scope",{"type":47,"value":1875}," - Branch deploys, branch env vars, and branch databases must use the same branch name; pass ",{"type":42,"tag":76,"props":1877,"children":1879},{"className":1878},[],[1880],{"type":47,"value":1881},"--branch \u003Cgit-name>",{"type":47,"value":1883}," explicitly when targeting a preview branch.",{"type":42,"tag":353,"props":1885,"children":1886},{},[1887,1893,1894,1900,1902,1908,1910,1915],{"type":42,"tag":76,"props":1888,"children":1890},{"className":1889},[],[1891],{"type":47,"value":1892},"env-production-vs-preview",{"type":47,"value":1011},{"type":42,"tag":76,"props":1895,"children":1897},{"className":1896},[],[1898],{"type":47,"value":1899},"--role production",{"type":47,"value":1901}," for production env, ",{"type":42,"tag":76,"props":1903,"children":1905},{"className":1904},[],[1906],{"type":47,"value":1907},"--role preview",{"type":47,"value":1909}," for preview template env, and ",{"type":42,"tag":76,"props":1911,"children":1913},{"className":1912},[],[1914],{"type":47,"value":1881},{"type":47,"value":1916}," for branch-specific overrides.",{"type":42,"tag":353,"props":1918,"children":1919},{},[1920,1926],{"type":42,"tag":76,"props":1921,"children":1923},{"className":1922},[],[1924],{"type":47,"value":1925},"env-db-explicit",{"type":47,"value":1927}," - Keep database and env wiring explicit through database and project env commands; deploy examples should not add database setup, and deploys do not run migrations, seed data, or create one database per app automatically.",{"type":42,"tag":909,"props":1929,"children":1931},{"id":1930},"_7-deploy-operations",[1932],{"type":47,"value":1933},"7. Deploy Operations",{"type":42,"tag":424,"props":1935,"children":1936},{},[1937,1963,1988,1999,2025,2036,2054,2086,2110],{"type":42,"tag":353,"props":1938,"children":1939},{},[1940,1946,1947,1953,1955,1961],{"type":42,"tag":76,"props":1941,"children":1943},{"className":1942},[],[1944],{"type":47,"value":1945},"deploy-prod-intent",{"type":47,"value":1011},{"type":42,"tag":76,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":47,"value":1952},"--prod --yes",{"type":47,"value":1954}," only when the user intends a production deploy. The first production deploy of an App auto-promotes without ",{"type":42,"tag":76,"props":1956,"children":1958},{"className":1957},[],[1959],{"type":47,"value":1960},"--prod",{"type":47,"value":1962},"; the flag gates subsequent production-branch deploys.",{"type":42,"tag":353,"props":1964,"children":1965},{},[1966,1972,1973,1979,1981,1987],{"type":42,"tag":76,"props":1967,"children":1969},{"className":1968},[],[1970],{"type":47,"value":1971},"deploy-no-promote",{"type":47,"value":1011},{"type":42,"tag":76,"props":1974,"children":1976},{"className":1975},[],[1977],{"type":47,"value":1978},"app deploy --no-promote",{"type":47,"value":1980}," for build-then-verify: it builds a candidate reachable at its own URL without touching the live deployment, promoted later with ",{"type":42,"tag":76,"props":1982,"children":1984},{"className":1983},[],[1985],{"type":47,"value":1986},"app promote \u003Cdeployment-id>",{"type":47,"value":381},{"type":42,"tag":353,"props":1989,"children":1990},{},[1991,1997],{"type":42,"tag":76,"props":1992,"children":1994},{"className":1993},[],[1995],{"type":47,"value":1996},"deploy-github-default-branch",{"type":47,"value":1998}," - When a Compute app is connected to GitHub push-to-deploy, a merge to the default branch is the production deploy path; check deployment records or GitHub check runs instead of telling users to redeploy the merged PR branch or run a default-branch preview deploy.",{"type":42,"tag":353,"props":2000,"children":2001},{},[2002,2008,2009,2015,2017,2023],{"type":42,"tag":76,"props":2003,"children":2005},{"className":2004},[],[2006],{"type":47,"value":2007},"deploy-build-logs",{"type":47,"value":1011},{"type":42,"tag":76,"props":2010,"children":2012},{"className":2011},[],[2013],{"type":47,"value":2014},"@prisma\u002Fcli build logs \u003Cbuild-id>",{"type":47,"value":2016}," for GitHub\u002FConsole build output. Use ",{"type":42,"tag":76,"props":2018,"children":2020},{"className":2019},[],[2021],{"type":47,"value":2022},"app logs",{"type":47,"value":2024}," for runtime deployment logs; the two ids are different.",{"type":42,"tag":353,"props":2026,"children":2027},{},[2028,2034],{"type":42,"tag":76,"props":2029,"children":2031},{"className":2030},[],[2032],{"type":47,"value":2033},"deploy-noninteractive-auth",{"type":47,"value":2035}," - Non-interactive deploys need either the correct active stored OAuth workspace or a supported service token env var; never print the token.",{"type":42,"tag":353,"props":2037,"children":2038},{},[2039,2045,2046,2052],{"type":42,"tag":76,"props":2040,"children":2042},{"className":2041},[],[2043],{"type":47,"value":2044},"deploy-json-for-agents",{"type":47,"value":1011},{"type":42,"tag":76,"props":2047,"children":2049},{"className":2048},[],[2050],{"type":47,"value":2051},"--json --no-interactive",{"type":47,"value":2053}," for scripts and agent-readable output.",{"type":42,"tag":353,"props":2055,"children":2056},{},[2057,2063,2064,2070,2072,2078,2079,2085],{"type":42,"tag":76,"props":2058,"children":2060},{"className":2059},[],[2061],{"type":47,"value":2062},"deploy-create-project",{"type":47,"value":1011},{"type":42,"tag":76,"props":2065,"children":2067},{"className":2066},[],[2068],{"type":47,"value":2069},"--create-project \u003Cname>",{"type":47,"value":2071}," only when the user wants deploy to create and link a new project; it conflicts with ",{"type":42,"tag":76,"props":2073,"children":2075},{"className":2074},[],[2076],{"type":47,"value":2077},"--project",{"type":47,"value":394},{"type":42,"tag":76,"props":2080,"children":2082},{"className":2081},[],[2083],{"type":47,"value":2084},"PRISMA_PROJECT_ID",{"type":47,"value":381},{"type":42,"tag":353,"props":2087,"children":2088},{},[2089,2095,2097,2102,2104,2109],{"type":42,"tag":76,"props":2090,"children":2092},{"className":2091},[],[2093],{"type":47,"value":2094},"deploy-ops-targets",{"type":47,"value":2096}," - App show\u002Fopen\u002Flogs\u002Flist-deploys\u002Fpromote\u002Frollback\u002Fremove and domain commands can also accept ",{"type":42,"tag":76,"props":2098,"children":2100},{"className":2099},[],[2101],{"type":47,"value":1618},{"type":47,"value":2103}," targets from ",{"type":42,"tag":76,"props":2105,"children":2107},{"className":2106},[],[2108],{"type":47,"value":363},{"type":47,"value":381},{"type":42,"tag":353,"props":2111,"children":2112},{},[2113,2119,2121,2126],{"type":42,"tag":76,"props":2114,"children":2116},{"className":2115},[],[2117],{"type":47,"value":2118},"deploy-report-cli-bugs",{"type":47,"value":2120}," - On ",{"type":42,"tag":76,"props":2122,"children":2124},{"className":2123},[],[2125],{"type":47,"value":211},{"type":47,"value":2127}," or an unresolvable failure, report it with the feedback command; see \"Send Feedback and Report CLI Issues\" above.",{"type":42,"tag":909,"props":2129,"children":2131},{"id":2130},"_8-sdk-and-api",[2132],{"type":47,"value":2133},"8. SDK and API",{"type":42,"tag":424,"props":2135,"children":2136},{},[2137,2162],{"type":42,"tag":353,"props":2138,"children":2139},{},[2140,2146,2148,2153,2155,2160],{"type":42,"tag":76,"props":2141,"children":2143},{"className":2142},[],[2144],{"type":47,"value":2145},"sdk-use-cli-first",{"type":47,"value":2147}," - Prefer ",{"type":42,"tag":76,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":47,"value":1248},{"type":47,"value":2154}," for app workflows; use ",{"type":42,"tag":76,"props":2156,"children":2158},{"className":2157},[],[2159],{"type":47,"value":392},{"type":47,"value":2161}," only to scaffold a new app unless the user is building lower-level automation.",{"type":42,"tag":353,"props":2163,"children":2164},{},[2165,2171,2172,2177,2179,2185,2187,2193,2195,2201],{"type":42,"tag":76,"props":2166,"children":2168},{"className":2167},[],[2169],{"type":47,"value":2170},"sdk-result-handling",{"type":47,"value":1058},{"type":42,"tag":76,"props":2173,"children":2175},{"className":2174},[],[2176],{"type":47,"value":544},{"type":47,"value":2178}," returns ",{"type":42,"tag":76,"props":2180,"children":2182},{"className":2181},[],[2183],{"type":47,"value":2184},"Result",{"type":47,"value":2186}," values; check ",{"type":42,"tag":76,"props":2188,"children":2190},{"className":2189},[],[2191],{"type":47,"value":2192},"isOk()",{"type":47,"value":2194},"\u002F",{"type":42,"tag":76,"props":2196,"children":2198},{"className":2197},[],[2199],{"type":47,"value":2200},"isErr()",{"type":47,"value":2202}," instead of relying on exceptions.",{"type":42,"tag":56,"props":2204,"children":2206},{"id":2205},"preferred-workflow",[2207],{"type":47,"value":2208},"Preferred Workflow",{"type":42,"tag":349,"props":2210,"children":2211},{},[2212,2237,2242,2261,2323,2328,2341,2346],{"type":42,"tag":353,"props":2213,"children":2214},{},[2215,2217,2222,2224,2229,2231,2236],{"type":47,"value":2216},"Inspect the project: package manager, template\u002Fframework, ",{"type":42,"tag":76,"props":2218,"children":2220},{"className":2219},[],[2221],{"type":47,"value":379},{"type":47,"value":2223}," scripts, Prisma version, Prisma client location, ",{"type":42,"tag":76,"props":2225,"children":2227},{"className":2226},[],[2228],{"type":47,"value":363},{"type":47,"value":2230},", and existing ",{"type":42,"tag":76,"props":2232,"children":2234},{"className":2233},[],[2235],{"type":47,"value":371},{"type":47,"value":381},{"type":42,"tag":353,"props":2238,"children":2239},{},[2240],{"type":47,"value":2241},"Verify CLI help output for the package actually being used.",{"type":42,"tag":353,"props":2243,"children":2244},{},[2245,2247,2253,2255,2260],{"type":47,"value":2246},"Verify auth context before project\u002Fapp mutations: ",{"type":42,"tag":76,"props":2248,"children":2250},{"className":2249},[],[2251],{"type":47,"value":2252},"auth whoami --json",{"type":47,"value":2254},", and when multiple local sessions may exist, ",{"type":42,"tag":76,"props":2256,"children":2258},{"className":2257},[],[2259],{"type":47,"value":1082},{"type":47,"value":381},{"type":42,"tag":353,"props":2262,"children":2263},{},[2264,2266],{"type":47,"value":2265},"Choose the path:\n",{"type":42,"tag":424,"props":2267,"children":2268},{},[2269,2288,2311],{"type":42,"tag":353,"props":2270,"children":2271},{},[2272,2274,2279,2280,2286],{"type":47,"value":2273},"existing app deploy: config-backed target when present, generated ",{"type":42,"tag":76,"props":2275,"children":2277},{"className":2276},[],[2278],{"type":47,"value":371},{"type":47,"value":472},{"type":42,"tag":76,"props":2281,"children":2283},{"className":2282},[],[2284],{"type":47,"value":2285},"@prisma\u002Fcli app build\u002Frun\u002Fdeploy",{"type":47,"value":2287}," flags",{"type":42,"tag":353,"props":2289,"children":2290},{},[2291,2293,2298,2300,2305,2306],{"type":47,"value":2292},"new app scaffold: ",{"type":42,"tag":76,"props":2294,"children":2296},{"className":2295},[],[2297],{"type":47,"value":392},{"type":47,"value":2299},", then generated ",{"type":42,"tag":76,"props":2301,"children":2303},{"className":2302},[],[2304],{"type":47,"value":371},{"type":47,"value":1147},{"type":42,"tag":76,"props":2307,"children":2309},{"className":2308},[],[2310],{"type":47,"value":1248},{"type":42,"tag":353,"props":2312,"children":2313},{},[2314,2316,2321],{"type":47,"value":2315},"low-level automation: ",{"type":42,"tag":76,"props":2317,"children":2319},{"className":2318},[],[2320],{"type":47,"value":544},{"type":47,"value":2322}," or Management API",{"type":42,"tag":353,"props":2324,"children":2325},{},[2326],{"type":47,"value":2327},"Check framework readiness plus host\u002Fport\u002Fenv\u002Fruntime requirements, including project and branch scope.",{"type":42,"tag":353,"props":2329,"children":2330},{},[2331,2333,2339],{"type":47,"value":2332},"Run a local build or ",{"type":42,"tag":76,"props":2334,"children":2336},{"className":2335},[],[2337],{"type":47,"value":2338},"app build",{"type":47,"value":2340}," before deploying when feasible.",{"type":42,"tag":353,"props":2342,"children":2343},{},[2344],{"type":47,"value":2345},"Deploy with JSON output when automating, then request the public URL and summarize app URL, app id, deployment id, project id, workspace id, and follow-up steps.",{"type":42,"tag":353,"props":2347,"children":2348},{},[2349,2351,2357,2359,2365],{"type":47,"value":2350},"For GitHub\u002FConsole builds, inspect the ",{"type":42,"tag":76,"props":2352,"children":2354},{"className":2353},[],[2355],{"type":47,"value":2356},"Prisma Compute Deploy",{"type":47,"value":2358}," check run or ",{"type":42,"tag":76,"props":2360,"children":2362},{"className":2361},[],[2363],{"type":47,"value":2364},"build logs \u003Cbuild-id>",{"type":47,"value":2366}," before guessing why a build failed.",{"type":42,"tag":56,"props":2368,"children":2370},{"id":2369},"avoid",[2371],{"type":47,"value":2372},"Avoid",{"type":42,"tag":424,"props":2374,"children":2375},{},[2376,2389,2414,2426,2438],{"type":42,"tag":353,"props":2377,"children":2378},{},[2379,2381,2387],{"type":47,"value":2380},"Do not bury Compute deployment guidance in the generic ",{"type":42,"tag":76,"props":2382,"children":2384},{"className":2383},[],[2385],{"type":47,"value":2386},"prisma-cli",{"type":47,"value":2388}," skill.",{"type":42,"tag":353,"props":2390,"children":2391},{},[2392,2394,2399,2401,2406,2408,2413],{"type":47,"value":2393},"Do not run ",{"type":42,"tag":76,"props":2395,"children":2397},{"className":2396},[],[2398],{"type":47,"value":392},{"type":47,"value":2400}," inside an existing app just to deploy it; use the generated ",{"type":42,"tag":76,"props":2402,"children":2404},{"className":2403},[],[2405],{"type":47,"value":371},{"type":47,"value":2407}," script or ",{"type":42,"tag":76,"props":2409,"children":2411},{"className":2410},[],[2412],{"type":47,"value":1248},{"type":47,"value":381},{"type":42,"tag":353,"props":2415,"children":2416},{},[2417,2419,2424],{"type":47,"value":2418},"Do not tell users that every ",{"type":42,"tag":76,"props":2420,"children":2422},{"className":2421},[],[2423],{"type":47,"value":392},{"type":47,"value":2425}," template can auto-deploy.",{"type":42,"tag":353,"props":2427,"children":2428},{},[2429,2431,2436],{"type":47,"value":2430},"Do not deploy with placeholder ",{"type":42,"tag":76,"props":2432,"children":2434},{"className":2433},[],[2435],{"type":47,"value":1802},{"type":47,"value":2437}," values.",{"type":42,"tag":353,"props":2439,"children":2440},{},[2441,2443,2449],{"type":47,"value":2442},"Do not assume ",{"type":42,"tag":76,"props":2444,"children":2446},{"className":2445},[],[2447],{"type":47,"value":2448},"next start",{"type":47,"value":2450}," is the Compute runtime path; Next.js deploys need standalone output.",{"type":42,"tag":2452,"props":2453,"children":2454},"style",{},[2455],{"type":47,"value":2456},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2458,"total":2557},[2459,2476,2492,2499,2515,2529,2543],{"slug":2386,"name":2386,"fn":2460,"description":2461,"org":2462,"tags":2463,"stars":23,"repoUrl":24,"updatedAt":2475},"run Prisma CLI commands","Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM\u002Fdatabase CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma\u002Fcli app deploy`, `compute:deploy`, `create-prisma --deploy`, apps, deployments, logs, or domains, use the `prisma-compute` skill instead. Triggers on \"prisma init\", \"prisma generate\", \"prisma migrate\", \"prisma db\", \"prisma studio\", \"prisma mcp\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2464,2467,2470,2473,2474],{"name":2465,"slug":2466,"type":15},"CLI","cli",{"name":2468,"slug":2469,"type":15},"Database","database",{"name":2471,"slug":2472,"type":15},"Migration","migration",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:48:29.140467",{"slug":2477,"name":2477,"fn":2478,"description":2479,"org":2480,"tags":2481,"stars":23,"repoUrl":24,"updatedAt":2491},"prisma-client-api","write database queries with Prisma Client","Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on \"prisma query\", \"findMany\", \"create\", \"update\", \"delete\", \"$transaction\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2482,2485,2486,2487,2488],{"name":2483,"slug":2484,"type":15},"API Development","api-development",{"name":2468,"slug":2469,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},"TypeScript","typescript","2026-04-06T18:48:31.666695",{"slug":4,"name":4,"fn":5,"description":6,"org":2493,"tags":2494,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2495,2496,2497,2498],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"slug":2500,"name":2500,"fn":2501,"description":2502,"org":2503,"tags":2504,"stars":23,"repoUrl":24,"updatedAt":2514},"prisma-database-setup","configure Prisma with database providers","Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on \"configure postgres\", \"connect to mysql\", \"setup mongodb\", \"sqlite setup\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2505,2506,2509,2510,2513],{"name":2468,"slug":2469,"type":15},{"name":2507,"slug":2508,"type":15},"MySQL","mysql",{"name":13,"slug":14,"type":15},{"name":2511,"slug":2512,"type":15},"PostgreSQL","postgresql",{"name":9,"slug":8,"type":15},"2026-04-06T18:48:34.192852",{"slug":2516,"name":2516,"fn":2517,"description":2518,"org":2519,"tags":2520,"stars":23,"repoUrl":24,"updatedAt":2528},"prisma-driver-adapter-implementation","implement Prisma driver adapters","Required reference for Prisma v7 driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter\u002FTransaction interfaces. Contains critical contract details not inferable from code examples — including the transaction lifecycle protocol, error mapping requirements, and verification checklist. Existing implementations do not replace this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2521,2522,2525,2526,2527],{"name":2468,"slug":2469,"type":15},{"name":2523,"slug":2524,"type":15},"Engineering","engineering",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},"2026-04-06T18:48:35.478693",{"slug":2530,"name":2530,"fn":2531,"description":2532,"org":2533,"tags":2534,"stars":23,"repoUrl":24,"updatedAt":2542},"prisma-mongodb-upgrade","migrate Prisma MongoDB projects to v6","Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading Prisma, when \"upgrade to prisma 7\" comes up in a project with provider = \"mongodb\", or when evaluating a move to Prisma Next. Triggers on \"upgrade prisma mongodb\", \"prisma 7 mongodb\", \"mongodb prisma migration\", \"prisma next mongodb\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2535,2536,2537,2540,2541],{"name":2468,"slug":2469,"type":15},{"name":2471,"slug":2472,"type":15},{"name":2538,"slug":2539,"type":15},"MongoDB","mongodb",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-11T05:35:03.668013",{"slug":2544,"name":2544,"fn":2545,"description":2546,"org":2547,"tags":2548,"stars":23,"repoUrl":24,"updatedAt":2556},"prisma-postgres","manage Prisma Postgres databases","Prisma Postgres setup and operations guidance across Console, create-db CLI, Management API, and Management API SDK. Use when creating Prisma Postgres databases, working in Prisma Console, provisioning with create-db\u002Fcreate-pg\u002Fcreate-postgres, or integrating programmatic provisioning with service tokens or OAuth.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2549,2550,2551,2552,2553],{"name":2465,"slug":2466,"type":15},{"name":2468,"slug":2469,"type":15},{"name":2511,"slug":2512,"type":15},{"name":9,"slug":8,"type":15},{"name":2554,"slug":2555,"type":15},"SDK","sdk","2026-07-17T05:31:52.398028",9,{"items":2559,"total":2715},[2560,2575,2588,2601,2614,2628,2644,2655,2669,2680,2691,2707],{"slug":2561,"name":2561,"fn":2562,"description":2563,"org":2564,"tags":2565,"stars":2572,"repoUrl":2573,"updatedAt":2574},"prisma-next","guide Prisma Next project setup and usage","Route a vague Prisma Next prompt to the right specific skill. Use for \"help me with Prisma Next\", \"what is Prisma Next\", \"explain Prisma Next\", \"I'm new to PN\", \"where do I start\", \"what can I do with Prisma Next\", \"what can I do next with Prisma\", \"just ran createprisma\", \"tour of Prisma Next\", \"Prisma Next overview\", and comparison questions like \"Prisma Next vs Prisma 7\", \"PN vs Drizzle\", \"PN vs Kysely\", \"PN vs TypeORM\". Do NOT use when the prompt clearly matches a workflow skill — adoption \u002F quickstart \u002F first-touch orientation \u002F brownfield introspection, schema \u002F contract editing, migration authoring (db update \u002F migration plan \u002F migrate), migration review on deploy \u002F concurrent migrations, queries \u002F db.orm \u002F db.sql \u002F TypedSQL, Supabase \u002F RLS \u002F role binding, runtime \u002F db.ts \u002F middleware wiring, build \u002F Vite plugin \u002F Next.js plugin, debug \u002F structured error envelopes \u002F PN-* error codes, or feedback \u002F bug report \u002F feature request — load that sibling skill directly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2566,2567,2570,2571],{"name":2468,"slug":2469,"type":15},{"name":2568,"slug":2569,"type":15},"Next.js","next-js",{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},415,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fprisma-next","2026-07-17T05:32:04.322957",{"slug":2576,"name":2576,"fn":2577,"description":2578,"org":2579,"tags":2580,"stars":2572,"repoUrl":2573,"updatedAt":2587},"prisma-next-build","integrate Prisma Next into build systems","Wire Prisma Next into the project's build system with the right build-tool plugin — Vite today via @prisma-next\u002Fvite-plugin-contract-emit (Vite 7 \u002F 8); Next.js \u002F Webpack \u002F esbuild \u002F Rollup \u002F Turbopack are named as gaps rather than fabricated. Always offers the Vite plugin proactively when the project is using Vite. Use for vite plugin, vite-plugin, vite.config.ts, prismaVitePlugin, contract emit on save, HMR, hot reload contract, dev server, Next.js plugin, next plugin, withPrismaNext, webpack plugin, esbuild plugin, rollup plugin, build integration, dev server plugin, vite 7, vite 8.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2581,2582,2583,2584],{"name":17,"slug":18,"type":15},{"name":2568,"slug":2569,"type":15},{"name":9,"slug":8,"type":15},{"name":2585,"slug":2586,"type":15},"Vite","vite","2026-07-02T07:31:36.108254",{"slug":2589,"name":2589,"fn":2590,"description":2591,"org":2592,"tags":2593,"stars":2572,"repoUrl":2573,"updatedAt":2600},"prisma-next-contract","edit Prisma Next data contracts and models","Edit the Prisma Next data contract — add models, fields, relations, indexes, enums, value objects (composite types), type aliases, namespaces (Postgres schemas), cross-contract foreign keys (cross-space FK), polymorphic types (`@@discriminator` \u002F `@@base`), use extension namespaces (`pgvector.Vector(...)`, `cipherstash.EncryptedString(...)`), wire `prisma-next.config.ts` with `defineConfig` from the `@prisma-next\u002F\u003Ctarget>\u002Fconfig` façade, and run `prisma-next contract emit`. Use for schema, models, fields, attributes, soft delete, paranoid, scopes, validations, callbacks, prisma schema, PSL, contract.prisma, contract.ts, contract.json, contract.d.ts, `@prisma-next\u002Fpostgres\u002Fconfig`, `@prisma-next\u002Fpostgres\u002Fcontract-builder`, `@prisma-next\u002Fpostgres\u002Fcontrol`, `@prisma-next\u002Fmongo\u002Fconfig`, `@prisma-next\u002Fmongo\u002Fcontract-builder`, `extensions:`, pgvector, cipherstash, postgis, paradedb, supabase, `@prisma-next\u002Fextension-supabase`, `@@control`, control policy, managed, tolerated, external, observed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2594,2597,2598,2599],{"name":2595,"slug":2596,"type":15},"Data Modeling","data-modeling",{"name":2468,"slug":2469,"type":15},{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},"2026-07-30T05:30:10.426962",{"slug":2602,"name":2602,"fn":2603,"description":2604,"org":2605,"tags":2606,"stars":2572,"repoUrl":2573,"updatedAt":2613},"prisma-next-debug","debug and recover from Prisma Next errors","Read a Prisma Next structured error envelope and route to the right recovery — code, domain, severity, why, fix, meta. Use for error, exception, my emit failed, my query won't typecheck, my query crashed, my migration won't apply, MIGRATION.HASH_MISMATCH, BUDGET.ROWS_EXCEEDED, BUDGET.TIME_EXCEEDED, RUNTIME.ABORTED, PLAN.HASH_MISMATCH, CONTRACT.MARKER_MISSING, PN-RUN-3001, PN-RUN-3002, PN-RUN-3030, PN-MIG-2001, PN-CLI-4011, PN-SCHEMA-0001, drift, capability missing, planner conflict, prisma studio, EXPLAIN, query log, db.end, db.close, script won't exit, hangs, close connection, pool.end, client is closed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2607,2608,2611,2612],{"name":2468,"slug":2469,"type":15},{"name":2609,"slug":2610,"type":15},"Debugging","debugging",{"name":2568,"slug":2569,"type":15},{"name":9,"slug":8,"type":15},"2026-07-24T05:37:10.436314",{"slug":2615,"name":2615,"fn":2616,"description":2617,"org":2618,"tags":2619,"stars":2572,"repoUrl":2573,"updatedAt":2627},"prisma-next-feedback","report Prisma Next issues and feedback","Hand a Prisma Next question or report off to the team — file a GitHub issue (bug or feature request), or route Q&A \u002F design discussion \u002F direct-team-contact to the Prisma Discord at pris.ly\u002Fdiscord. Use for bug, bug report, file an issue, report a bug, feature request, missing feature, this should be a feature, file this, this is a bug, this is broken, surprising behaviour, this doesn't work, file feedback, send feedback, capability gap, file via prisma-next-feedback, ask the team, talk to the team, talk to the Prisma team, talk to Prisma, Discord, Prisma Discord, Q&A, design feedback, is this the intended way, how should I do X, extension author question, extension author needs help.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2620,2623,2626],{"name":2621,"slug":2622,"type":15},"Documentation","documentation",{"name":2624,"slug":2625,"type":15},"GitHub","github",{"name":9,"slug":8,"type":15},"2026-07-02T07:31:34.870809",{"slug":2629,"name":2629,"fn":2630,"description":2631,"org":2632,"tags":2633,"stars":2572,"repoUrl":2573,"updatedAt":2643},"prisma-next-migration-review","review and resolve Prisma Next migrations","Review what Prisma Next migrations will run on merge or deploy, render the migration graph, resolve concurrent \u002F diamond-convergence conflicts, and configure environment refs for CI. Use for \"what migrations are going to run\", \"what runs on deploy\", merge conflict, diamond convergence, concurrent migrations, migration status, ref management, staging, production, MIGRATION.DIVERGED, MIGRATION.NO_MARKER, MIGRATION.MARKER_NOT_IN_HISTORY, prisma migrate status, prisma migrate diff, prisma migrate resolve.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2634,2637,2640,2641,2642],{"name":2635,"slug":2636,"type":15},"CI\u002FCD","ci-cd",{"name":2638,"slug":2639,"type":15},"Code Review","code-review",{"name":2468,"slug":2469,"type":15},{"name":2471,"slug":2472,"type":15},{"name":9,"slug":8,"type":15},"2026-07-24T05:37:11.422323",{"slug":2645,"name":2645,"fn":2646,"description":2647,"org":2648,"tags":2649,"stars":2572,"repoUrl":2573,"updatedAt":2654},"prisma-next-migrations","author and manage Prisma Next migrations","Author Prisma Next migrations — choose db update vs migration plan, edit the framework-rendered migration.ts (replace placeholder sentinels with dataTransform closures), recover from MIGRATION.HASH_MISMATCH or PN-MIG-2001 unfilled placeholder. Use for prisma migrate dev, prisma migrate deploy, prisma db push, db update, db update --dry-run, migration plan, migrate, migration new, migration show, db verify, db sign, data migration, this.dataTransform, dataTransform, placeholder, generated migration.ts, edit migration.ts, MIGRATION.HASH_MISMATCH, schema drift.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2650,2651,2652,2653],{"name":2468,"slug":2469,"type":15},{"name":2471,"slug":2472,"type":15},{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},"2026-07-24T05:37:13.469138",{"slug":2656,"name":2656,"fn":2657,"description":2658,"org":2659,"tags":2660,"stars":2572,"repoUrl":2573,"updatedAt":2668},"prisma-next-queries","write Prisma Next queries for database operations","Write Prisma Next queries for Postgres, SQLite, or Mongo — pick a lane (Postgres\u002FSQLite `db.orm.\u003CModel>` + `db.sql.\u003Ctable>`; Mongo `db.orm.\u003Croot>` + `db.query.from(...)` pipeline builder), filter \u002F project \u002F sort \u002F paginate, eager-load with `.include(...)`, Postgres\u002FSQLite `db.transaction(...)`, Postgres\u002FSQLite ORM `.aggregate(...)`, Mongo aggregations via query builder, namespace-aware accessors (`db.orm.\u003Cns>.\u003CModel>`, `db.sql.\u003Cns>.\u003Ctable>`). Triggers: query, where, match, select, project, orderBy, take, skip, include, lookup, first, all, count, aggregate, group, create, update, delete, upsert, returning, transaction, db.close, script teardown, variant, polymorphism, drizzle-style, kysely-style. Notes: `.all()` is a Thenable (just `await` it), iterators are single-use (`RUNTIME.ITERATOR_CONSUMED`), Postgres `count` is `number` while sum\u002Favg\u002Fmin\u002Fmax are `number | null`, ranges use chained `.where()` or `and(...)` (no `.between(...)`).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2661,2662,2663,2664,2665],{"name":2468,"slug":2469,"type":15},{"name":2568,"slug":2569,"type":15},{"name":2511,"slug":2512,"type":15},{"name":9,"slug":8,"type":15},{"name":2666,"slug":2667,"type":15},"SQL","sql","2026-07-17T05:32:03.35373",{"slug":2670,"name":2670,"fn":2671,"description":2672,"org":2673,"tags":2674,"stars":2572,"repoUrl":2573,"updatedAt":2679},"prisma-next-quickstart","adopt Prisma Next in projects","Adopt Prisma Next into a new project, onto an existing database, or as the first move after a bootstrap tool dropped you into a scaffold. Use for \"what can I do with Prisma Next\", \"what can I do next with Prisma\", \"where do I start\", \"what should I do first\", \"just ran createprisma\", \"createprisma\", \"npx createprisma\", \"npx create-prisma\", \"first steps\", \"first query\", \"I have a scaffolded Prisma Next project what now\"; for `pnpm dlx prisma-next init` greenfield setup; and for `prisma-next contract infer` + `db sign` against an existing database. Also covers the connect-write-read first-arc orientation, the day-to-day commands (`contract emit`, `db init`, `db update`, `migration plan`, `migrate`, `db schema`, `db verify`), and routing to `prisma-next-contract` \u002F `prisma-next-queries` \u002F `prisma-next-runtime` for the next move. Flags: --target, --authoring, --schema-path, --probe-db, --output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2675,2676,2677,2678],{"name":2468,"slug":2469,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":2489,"slug":2490,"type":15},"2026-07-24T05:37:12.462072",{"slug":2681,"name":2681,"fn":2682,"description":2683,"org":2684,"tags":2685,"stars":2572,"repoUrl":2573,"updatedAt":2690},"prisma-next-runtime","configure Prisma Next runtime and database connections","Wire the Prisma Next runtime — `db.ts` setup using `postgres\u003CContract>(...)` from `@prisma-next\u002Fpostgres\u002Fruntime`, `sqlite\u003CContract>(...)` from `@prisma-next\u002Fsqlite\u002Fruntime`, or `mongo\u003CContract>(...)` from `@prisma-next\u002Fmongo\u002Fruntime`; middleware composition (telemetry from `@prisma-next\u002Fmiddleware-telemetry`; lints and budgets), `DATABASE_URL` config, per-environment branching, switching between Postgres, SQLite, and Mongo façades. Use for db.ts, postgres(), sqlite(), mongo(), middleware, telemetry, lints, budgets, DATABASE_URL, .env, connection pool, poolOptions, dev vs prod config, transactions, db.transaction, read replicas, multi-database, script won't exit, hangs, close connection, db.end, db.close, pool.end, [Symbol.asyncDispose], await using.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2686,2687,2688,2689],{"name":2468,"slug":2469,"type":15},{"name":2568,"slug":2569,"type":15},{"name":2511,"slug":2512,"type":15},{"name":9,"slug":8,"type":15},"2026-07-17T05:32:05.347316",{"slug":2692,"name":2692,"fn":2693,"description":2694,"org":2695,"tags":2696,"stars":2572,"repoUrl":2573,"updatedAt":2706},"prisma-next-supabase","integrate Prisma with Supabase","Use Prisma Next with a Supabase project via `@prisma-next\u002Fextension-supabase` — wire `extensions: [supabasePack]`, declare cross-space FKs to `supabase:auth.AuthUser`, author RLS policies (`policy_select` \u002F `policy_update` \u002F `@@rls`, `auth.uid()` predicates), build `db.ts` with the `supabase()` factory, bind roles per request (`asUser(jwt)` \u002F `asAnon()` \u002F `asServiceRole()`), query `auth.*` \u002F `storage.*` via the `db.asServiceRole().supabase` admin root, and validate JWTs (`jwksUrl` for current projects \u002F `jwtSecret` for legacy HS256). Use for supabase, RLS, row level security, policy, role binding, anon, authenticated, service_role, auth.users, auth.uid(), JWT, JWKS, SUPABASE_JWKS_URL, SUPABASE_JWT_SECRET, SUPABASE.JWT_INVALID, SUPABASE.CONFIG_INVALID, RoleBoundDb, session pooler, supabase:auth.AuthUser, @prisma-next\u002Fextension-supabase.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2697,2700,2701,2702,2703],{"name":2698,"slug":2699,"type":15},"Auth","auth",{"name":13,"slug":14,"type":15},{"name":2511,"slug":2512,"type":15},{"name":9,"slug":8,"type":15},{"name":2704,"slug":2705,"type":15},"Supabase","supabase","2026-07-30T05:30:11.065251",{"slug":2386,"name":2386,"fn":2460,"description":2461,"org":2708,"tags":2709,"stars":23,"repoUrl":24,"updatedAt":2475},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2710,2711,2712,2713,2714],{"name":2465,"slug":2466,"type":15},{"name":2468,"slug":2469,"type":15},{"name":2471,"slug":2472,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},21]