Community코딩 & 개발github.com

prisma/prisma-compute

Prisma Compute 배포 및 호스팅 가이드. 사용자가 Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, 배포 또는 호스팅, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, Compute 인증/워크스페이스, 앱/배포/빌드 로그/도메인, localhost 대 `0.0.0.0`, 배포 포트 바인딩, 또는 Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, 사용자 정의/사전 빌드 아티팩트에 대한 프레임워크 배포 준비 상태를 언급할 때 사용합니다.

prisma-compute란 무엇인가요?

이 스킬은 에이전트가 Prisma Compute 플랫폼에서 TypeScript 애플리케이션을 생성, 배포 및 운영할 수 있도록 안내합니다. `@prisma/cli` 및 `create-prisma`를 포함한 Prisma Platform CLI의 전체 표면을 다루며, 앱 배포, 빌드 로그, 인증 워크플로우, 프레임워크별 배포 준비 상태 확인을 지원합니다. 주요 기능으로는 `prisma.compute.ts`를 사용한 타입 기반 Compute 설정 관리, Next.js, Hono, Astro 등과 같은 프레임워크의 배포 준비 상태 확인, 런타임 호스트 및 포트 바인딩(예: 모든 인터페이스 바인딩, `PORT` 환경 변수 사용) 처리, 명령어 피드백 채널을 통한 CLI 문제 해결 등이 있습니다. 에이전트는 배포를 시도하기 전에 명령어 구문, 인증 컨텍스트 및 프로젝트 설정을 확인하여 정보 우선 순위(order of truth)를 따라야 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/prisma/skills/tree/main/prisma-compute

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Prisma Compute

에이전트가 Prisma Compute 앱 생성, 배포, 운영 및 프레임워크별 배포 준비 상태를 확인하도록 안내합니다.

Prisma Compute CLI 표면

Compute 앱 워크플로우에는 Prisma Platform CLI를 사용하세요:

bunx @prisma/cli@latest app deploy --help
bunx @prisma/cli@latest app --help
bunx @prisma/cli@latest build logs --help
bunx create-prisma@latest --help

Compute 앱 배포에는 @prisma/cli@latest를 사용하세요. 새 프로젝트 스캐폴딩에는 create-prisma@latest를 사용하세요.

피드백 보내기 및 CLI 문제 보고

CLI에는 내장 피드백 채널이 있습니다. 명령어가 충돌하거나(UNEXPECTED_ERROR), 문제 해결 후에도 실패가 지속되거나, 사용자가 Prisma 팀에 피드백을 보내 달라고 요청할 때 사용하세요:

bunx @prisma/cli@latest feedback "app deploy crashed: <first error line>"
bunx @prisma/cli@latest feedback "love the deploy flow" --email [email protected]

충돌 출력은 자체적으로 다음을 가리킵니다: --json 충돌 엔벨로프는 nextActions의 recover 항목으로 정확히 미리 채워진 명령어를 전달합니다(그대로 실행). 사람이 읽을 수 있는 충돌 출력은 Tell us what happened: 힌트로 끝납니다. --email이 전달되지 않으면 피드백은 익명이며 CLI 버전, 노드 버전 및 OS 플랫폼/아키텍처만 첨부합니다. 메시지에 비밀, 연결 URL 또는 사용자 데이터를 절대 포함하지 마십시오.

정보 우선 순위

편집하거나 실행할 항목을 결정할 때 다음 순서로 증거를 사용하십시오:

  1. 프로젝트의 생성된 스크립트 및 설정, 특히 prisma.compute.ts, compute:deploy, 프레임워크 설정 및 package.json.
  2. create-prisma 및 @prisma/cli의 CLI 도움말 출력.
  3. 로컬에 설치된 패키지 코드, 생성된 아티팩트 및 타입 정의.
  4. 공식 문서.

적용 시기

다음과 같은 경우 이 스킬을 사용하십시오:

  • Prisma Compute에 배포할 수 있는 새 앱 생성
  • 기존 TypeScript 앱을 Prisma Compute에 배포
  • 타입이 지정된 prisma.compute.ts 배포 설정 생성 또는 업데이트
  • 프레임워크가 Compute에 준비되었는지 결정
  • create-prisma --deploy, compute:deploy 또는 app deploy 디버깅
  • Compute 앱 로그, 배포, 환경 변수 및 도메인 관리, 플랫폼 브랜치 나열(branch list; 브랜치 생성/제거 명령어는 없음)
  • GitHub/콘솔 빌드 로그 및 GitHub 푸시-투-배포 상태 검사
  • 브라우저 인증, 여러 저장 워크스페이스 또는 Prisma 서비스 토큰을 사용한 비대화형 배포 실행
  • @prisma/cli의 로컬 Prisma Platform 워크스페이스 전환, 선택, 나열 또는 로그아웃
  • 해결할 수 없는 Compute CLI 실패에 대해 @prisma/cli feedback으로 피드백 전송
  • @prisma/compute-sdk 또는 Management API 통합을 사용한 프로그래밍 방식 배포

결정 트리

  1. 기존 프로젝트 배포 또는 재배포: references/app-deploy-cli.md를 읽으십시오.

  2. 타입이 지정된 Compute 설정, 모노레포, 배포 대상, 앱 루트 또는 빌드/환경 기본값: references/compute-config.md를 읽으십시오.

  3. 프레임워크별 빌드/런타임 작업: references/frameworks.md를 읽으십시오.

  4. 스캐폴드에서 새 프로젝트: references/create-prisma.md를 읽으십시오.

  5. 프로그래밍 방식 배포, SDK, API 또는 저수준 앱/배포 개념: references/sdk-api.md를 읽으십시오.

  6. 빌드, 인증, 환경, 배포 또는 런타임 실패: references/troubleshooting.md를 읽으십시오.

우선 순위별 규칙

우선 순위카테고리영향접두사
1명령어 확인CRITICALverify-
2인증 및 워크스페이스 선택CRITICALauth-
3프레임워크 준비 상태CRITICALframework-
4런타임 호스트 및 포트 바인딩CRITICALruntime-
5타입이 지정된 Compute 설정HIGHconfig-
6브랜치, 환경 및 데이터베이스 연결HIGHenv-
7배포 작업HIGHdeploy-
8SDK 및 API 자동화MEDIUMsdk-

빠른 규칙

1. 명령어 확인

  • verify-help-first - 작업 중에 CLI 도움말 출력을 사용하여 명령어 구문을 확인하십시오.
  • verify-prisma-vs-platform-cli - ORM CLI에 prisma app deploy가 있다고 가정하지 마십시오. 작업이 @prisma/cli를 사용해야 하는지 확인하십시오.
  • verify-generated-scripts - 프로젝트에 이미 생성된 compute:deploy 스크립트가 있으면 선호하십시오.
  • verify-public-url - 실제 배포 후에는 로컬 또는 준비 상태 전용 확인을 신뢰하지 말고 공개 배포 URL을 요청하십시오.
  • verify-config-support - prisma.compute.ts를 타입이 지정된 Compute 설정으로 취급하십시오. 편집하거나 배포하기 전에 프로젝트의 설정 및 생성된 스크립트를 검사하십시오.
  • verify-auth-workspace-support - 로컬 워크스페이스 목록/사용/로그아웃 흐름에는 @prisma/cli auth workspace 명령어를 사용하십시오.

2. 인증 및 워크스페이스 선택

  • auth-source-precedence - 비어 있지 않은 PRISMA_SERVICE_TOKEN은 명령어의 활성 인증 소스이며 로컬 OAuth 워크스페이스는 실행에 무시됩니다. 설정되었지만 비어 있으면 CLI는 저장된 OAuth로 폴백하는 대신 실패해야 합니다.
  • auth-multi-workspace - auth login은 동일한 머신에 여러 워크스페이스에 대한 OAuth 세션을 저장할 수 있습니다. 활성 워크스페이스 포인터는 일반 명령어가 사용하는 저장된 OAuth 권한 부여를 선택합니다.
  • auth-list-before-switch - auth workspace list --json을 사용하여 로컬 세션을 검사하십시오. 에이전트는 JSON의 워크스페이스 id를 이름보다 선호해야 합니다. 이름은 모호할 수 있기 때문입니다.
  • auth-switch-explicitly - 비대화형 전환에는 auth workspace use <id-or-name>을 사용하십시오. 인수 없이 auth workspace use는 대화형 선택기 또는 로컬 OAuth 워크스페이스가 정확히 하나 있는 경우에만 사용하십시오.
  • auth-no-fallthrough - 활성 OAuth 워크스페이스가 로그아웃되거나 새로고침에 실패하면 CLI는 다른 캐시된 워크스페이스로 자동으로 폴백하지 않아야 합니다. auth workspace use <id>를 실행하여 다음 워크스페이스를 선택하십시오.
  • auth-single-workspace-logout - auth workspace logout <id-or-name> 또는 auth logout --workspace <id-or-name>을 사용하여 하나의 로컬 OAuth 워크스페이스 세션을 제거하십시오. 일반 auth logout은 모든 로컬 OAuth 워크스페이스 세션을 지웁니다.
  • auth-service-token-switching - PRISMA_SERVICE_TOKEN이 설정되어 있는 동안에는 auth workspace use를 사용할 수 없습니다. 서비스 토큰이 활성 인증 소스이기 때문입니다. 로컬 OAuth 워크스페이스를 전환하려면 환경 변수를 설정 해제하십시오. 워크스페이스 로그아웃은 여전히 로컬 OAuth 상태만 정리합니다.
  • auth-storage-awareness - 로컬 OAuth 자격 증명은 플랫폼 인증 파일에 있으며, 워크스페이스 메타데이터는 사이드카 컨텍스트 파일에 있습니다. 프로젝트 핀은 .prisma/local.json에 있으며, CLI 앱/프로젝트 상태는 prisma.compute.ts가 있는 경우 그 근처의 .prisma/cli/state.json에 있습니다.

3. 프레임워크 준비 상태

  • framework-cli-first - create-prisma로 스캐폴딩할 수 있는 것이 아니라 @prisma/cli app deploy에 대한 배포 준비 상태를 평가하십시오.
  • framework-supported-cli-deploy - Compute 배포는 nextjs, nuxt, astro, hono, nestjs, tanstack-start, custom 및 bun을 지원합니다.
  • framework-create-prisma-defaults-only - create-prisma는 생성된 기본값과 compute:deploy를 제공할 수 있지만 기존 앱의 일반적인 배포 표면은 아닙니다.
  • framework-build-output - Compute에는 정적 출력만이 아닌 서버 진입점 또는 프레임워크 아티팩트가 필요합니다.

4. 런타임 호스트 및 포트 바인딩

  • runtime-bind-all-interfaces - 배포된 서버는 모든 인터페이스(0.0.0.0 또는 이에 상응하는 프레임워크)에 바인딩되어야 하며, 하드코딩된 localhost 또는 127.0.0.1이 아니어야 합니다.
  • runtime-match-http-port - 앱은 배포된 HTTP 포트에서 수신 대기해야 합니다. 가능하면 process.env.PORT를 읽거나 일치하는 --http-port를 전달하십시오.
  • runtime-readiness-port-only - Compute 준비 상태는 수신 대기 포트를 감시합니다. 루프백 전용 리스너는 공용 수신이 도달할 수 없는 동안 준비된 것처럼 보일 수 있습니다.
  • runtime-respond-within-60s - 수신은 앱이 응답을 시작하는 데 60초를 주고, 그렇지 않으면 504 Gateway Time-out을 반환하고 요청을 취소합니다. 먼저 응답하고 waitUntil 또는 큐에서 더 긴 작업을 실행하는 핸들러를 설계하십시오. 요청 내부에서 실행하지 마십시오.

5. 타입이 지정된 Compute 설정

  • config-optional-simple-app - 일반 단일 앱을 배포하는 데 prisma.compute.ts는 필요하지 않습니다. 지속적인 설정이 없을 때는 플래그를 사용하십시오.
  • config-init-formalizer - bunx @prisma/cli@latest init으로 새 설정을 생성하십시오. 프레임워크를 감지하고 이름/프레임워크/httpPort(Bun/Hono의 경우 entry 포함)를 고정하며 프로젝트 링크를 제공합니다. --format json은 종속성 없는 prisma.compute.json을 대신 작성합니다. init은 설정이 이미 있으면 거부하고, 코드를 스캐폴딩하지 않으며, 배포하지 않습니다.
  • config-use-prisma-compute-ts - 재사용 가능한 배포 기본값을 prisma.config.ts가 아닌 defineComputeConfig와 함께 prisma.compute.ts에 넣으십시오.
  • config-app-vs-apps - 단일 배포 대상에는 app을 사용하고 모노레포 또는 다중 앱 저장소에는 apps를 사용하십시오. 정확히 하나를 정의하십시오.
  • config-monorepo-roots - 모노레포의 경우 prisma.compute.ts를 사용하여 앱 대상, 루트, 프레임워크 기본값, 진입점, 포트 및 환경 변수 입력을 선언하십시오.
  • config-targets - 다중 앱 설정에서 @prisma/cli app deploy web은 apps.web 대상을 선택합니다. [app] 없이 명령어는 현재 디렉토리에서 대상을 유추할 수 있습니다. 그렇지 않으면 배포는 모든 대상을 실행할 수 있지만 빌드/실행은 하나가 필요합니다.
  • config-region-new-app-only - 설정 region은 새로 생성된 앱에 대한 기본값일 뿐입니다. 기존 앱에 대한 배포는 앱의 현재 지역을 유지합니다.
  • config-custom-artifact - 사전 빌드되거나 사용자 정의 빌드된 아티팩트에는 build.outputDirectory 및 build.entrypoint와 함께 framework: "custom"을 사용하십시오.
  • config-no-project-branch-secrets - 워크스페이스, 프로젝트, 브랜치, 프로덕션 의도, 서비스 토큰 또는 비밀 값을 prisma.compute.ts에 커밋하지 마십시오. 플래그, .prisma/local.json, 환경 저장소 또는 CI 비밀에 보관하십시오. region, root, framework, entry, httpPort 및 비밀이 아닌 환경 파일 경로와 같은 앱 수준 기본값은 설정에 속합니다.
  • config-flags-win - --framework, --entry, --http-port, --region 및 --env와 같은 명시적 배포 플래그는 일치하는 설정 값을 재정의합니다.

6. 브랜치, 환경 및 데이터베이스

  • env-do-not-leak-secrets - 전체 DATABASE_URL, 서비스 토큰 또는 비밀 값을 절대 출력하지 마십시오.
  • env-deploy-loads-dotenv - 생성된 배포 스크립트는 prisma.compute.ts 또는 --env .env를 통해 환경 변수를 로드할 수 있습니다. 재배포하기 전에 실제 스크립트/설정을 검사하십시오.
  • env-migrations-separate - 재배포 스크립트는 마이그레이션이나 시드 데이터를 실행하지 않습니다. 적절한 Prisma 데이터베이스 스크립트를 별도로 실행하십시오.
  • env-cli-token-name - @prisma/cli는 서비스 토큰 인증에 PRISMA_SERVICE_TOKEN을 사용합니다.
  • env-branch-scope - 브랜치 배포, 브랜치 환경 변수 및 브랜치 데이터베이스는 동일한 브랜치 이름을 사용해야 합니다. 미리보기 브랜치를 대상으로 할 때는 --branch <git-name>을 명시적으로 전달하십시오.
  • env-production-vs-preview - 프로덕션 환경에는 --role production을, 미리보기 템플릿 환경에는 --role preview를, 브랜치별 재정의에는 --branch <git-name>을 사용하십시오.
  • env-db-explicit - 데이터베이스 및 환경 연결을 데이터베이스 및 프로젝트 환경 명령어를 통해 명시적으로 유지하십시오. 배포 예제는 데이터베이스 설정을 추가하지 않아야 하며, 배포는 마이그레이션, 시드 데이터를 실행하거나 앱당 하나의 데이터베이스를 자동으로 생성하지 않습니다.

7. 배포 작업

  • deploy-prod-intent - 사용자가 프로덕션 배포를 의도하는 경우에만 --prod --yes를 사용하십시오. 앱의 첫 번째 프로덕션 배포는 --prod 없이 자동 승격됩니다. 플래그는 후속 프로덕션 브랜치 배포를 제어합니다.
  • deploy-no-promote - 빌드 후 확인을 위해 app deploy --no-promote를 사용하십시오. 라이브 배포를 건드리지 않고 자체 URL에서 접근 가능한 후보를 빌드하며, 나중에 app promote <deployment-id>로 승격됩니다.
  • deploy-github-default-branch - Compute 앱이 GitHub 푸시-투-배포에 연결된 경우 기본 브랜치에 대한 병합이 프로덕션 배포 경로입니다. 사용자에게 병합된 PR 브랜치를 재배포하거나 기본 브랜치 미리보기 배포를 실행하라고 지시하는 대신 배포 레코드 또는 GitHub 검사 실행을 확인하십시오.
  • deploy-build-logs - GitHub/콘솔 빌드 출력에는 @prisma/cli build logs <build-id>를 사용하십시오. 런타임 배포 로그에는 app logs를 사용하십시오. 두 id는 다릅니다.
  • deploy-noninteractive-auth - 비대화형 배포는 올바른 활성 저장 OAuth 워크스페이스 또는 지원되는 서비스 토큰 환경 변수가 필요합니다. 토큰을 절대 출력하지 마십시오.
  • deploy-json-for-agents - 스크립트 및 에이전트가 읽을 수 있는 출력에는 --json --no-interactive를 사용하십시오.
  • deploy-create-project - 사용자가 배포가 새 프로젝트를 생성하고 연결하기를 원하는 경우에만 --create-project <name>을 사용하십시오. --project 및 PRISMA_PROJECT_ID와 충돌합니다.
  • deploy-ops-targets - 앱 표시/열기/로그/배포 목록/승격/롤백/제거 및 도메인 명령어는 prisma.compute.ts의 [app] 대상을 허용할 수 있습니다.
  • deploy-report-cli-bugs - UNEXPECTED_ERROR 또는 해결할 수 없는 실패 시 피드백 명령어로 보고하십시오. 위의 "피드백 보내기 및 CLI 문제 보고"를 참조하십시오.

8. SDK 및 API

  • sdk-use-cli-first - 앱 워크플로우에는 @prisma/cli app deploy를 선호하십시오. 사용자가 저수준 자동화를 구축하지 않는 한 새 앱을 스캐폴딩하는 데만 create-prisma를 사용하십시오.
  • sdk-result-handling - @prisma/compute-sdk는 Result 값을 반환합니다. 예외에 의존하는 대신 isOk()/isErr()를 확인하십시오.
  • sdk-snapshot-detection - 디스크에 체크아웃되지 않은 저장소 스냅샷에는 detectComputeApp을 사용하십시오. 워크스페이스를 직접 열거하고 후보 앱 루트당 한 번 호출하십시오.

선호 워크플로우

  1. 프로젝트 검사: 패키지 관리자, 템플릿/프레임워크, package.json 스크립트, Prisma 버전, Prisma 클라이언트 위치, prisma.compute.ts 및 기존 compute:deploy.
  2. 실제로 사용 중인 패키지에 대한 CLI 도움말 출력 확인.
  3. 프로젝트/앱 변경 전 인증 컨텍스트 확인: auth whoami --json, 여러 로컬 세션이 있을 수 있는 경우 auth workspace list --json.
  4. 경로 선택:
    • 기존 앱 배포: 설정이 있으면 설정 기반 대상, 생성된 compute:deploy 또는 @prisma/cli app build/run/deploy 플래그
    • 새 앱 스캐폴드: create-prisma, 그 다음 생성된 compute:deploy 또는 @prisma/cli app deploy
    • 저수준 자동화: @prisma/compute-sdk (프로그래밍 방식) 또는 Management API (REST/GraphQL)

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

prisma/prisma-cli

Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma/cli 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".

prisma/prisma-client-api

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

prisma/prisma-database-setup

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

prisma/prisma-driver-adapter-implementation

Required reference for Prisma v7 driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter/Transaction 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.

prisma/prisma-mongodb-upgrade

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

prisma/prisma-postgres

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/create-pg/create-postgres, or integrating programmatic provisioning with service tokens or OAuth.

prisma/prisma-postgres-setup

Set up a new Prisma Postgres database and connect it to a local project using the Management API. Use when asked to "set up a database", "create a Prisma Postgres project", "get a connection string", "connect my app to Prisma Postgres", or "provision a database".

prisma/prisma-upgrade-v7

Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrating existing projects. Triggers on "upgrade to prisma 7", "prisma 7 migration", "prisma-client generator", "driver adapter required".

관련 스킬