-
Notifications
You must be signed in to change notification settings - Fork 951
feat(blog): add Prisma Compute posts #7957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
cd0903f
feat(blog): add Prisma Compute posts
AmanVarshney01 b00c06e
docs(blog): simplify Compute agent prompt
AmanVarshney01 0f38a48
docs(blog): clarify Compute config resolution
AmanVarshney01 d4aef17
docs(blog): tighten Compute launch copy
AmanVarshney01 f77f62e
docs(blog): condense Compute post copy
AmanVarshney01 6409670
docs(blog): remove repeated create-prisma copy
AmanVarshney01 37f89dc
docs(blog): make create-prisma post more concrete
AmanVarshney01 253e1ce
docs(blog): add Compute terminal visuals
AmanVarshney01 53039cc
docs(blog): embed create-prisma terminal image
AmanVarshney01 b5f5364
docs(blog): move terminal images to public assets
AmanVarshney01 6758efd
Merge branch 'main' into aman/blog-compute-posts
AmanVarshney01 56f1605
docs(blog): remove generated hero assets
AmanVarshney01 4747c96
blog(compute): clarify subtitles, join Compute series, add cross-link…
ankur-arch ad48386
blog(compute): add excerpt to config-file post
ankur-arch 8a2b4f6
blog(compute): add config-tree hero/meta art to the config-file post
ankur-arch f751567
blog(compute): add scaffold cover art to the create-prisma post (hero…
ankur-arch 98ef082
Merge branch 'main' into aman/blog-compute-posts
ankur-arch 1828db3
Merge branch 'main' into aman/blog-compute-posts
ankur-arch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
91 changes: 91 additions & 0 deletions
91
apps/blog/content/blog/create-prisma-deploy-prisma-compute/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,91 @@ | ||
| --- | ||
| title: "Deploy Prisma Apps with create-prisma" | ||
| slug: "create-prisma-deploy-prisma-compute" | ||
| date: "2026-06-19" | ||
| authors: | ||
| - "Aman Varshney" | ||
| metaTitle: "Deploy Prisma Apps with create-prisma" | ||
| metaDescription: "create-prisma now scaffolds Compute-ready Prisma apps with prisma.compute.ts, compute:deploy, Prisma Postgres, and Prisma Skills add-ons." | ||
| heroImagePath: "/create-prisma-deploy-prisma-compute/imgs/hero.svg" | ||
| heroImageAlt: "Scaffold a deploy-ready app with create-prisma: bun create prisma@latest, then choose a template, generate a typed config, and add Postgres and Skills." | ||
| metaImagePath: "/create-prisma-deploy-prisma-compute/imgs/meta.png" | ||
| excerpt: "create-prisma now scaffolds Compute-ready Prisma apps with prisma.compute.ts, compute:deploy, Prisma Postgres, and Prisma Skills add-ons." | ||
| series: prisma-compute | ||
| seriesIndex: 4 | ||
| tags: | ||
| - "announcement" | ||
| - "platform" | ||
| - "prisma-postgres" | ||
| --- | ||
|
|
||
| `create-prisma` now scaffolds apps that deploy to [Prisma Compute](/blog/launching-prisma-compute-public-beta) out of the box. | ||
|
|
||
| Run the initializer, pick a Compute-ready template, and the generated project can include: | ||
|
|
||
| - Prisma schema, client helper, seed file, database scripts, and env file | ||
| - `prisma.compute.ts` with the app's Compute defaults | ||
| - Prisma Postgres setup, when selected | ||
| - Prisma Skills, the Prisma MCP server, and editor add-ons, when selected | ||
| - a `compute:deploy` script for later deploys | ||
|
|
||
| ```bash | ||
| bun create prisma@latest | ||
| ``` | ||
|
|
||
|  | ||
|
|
||
| ## The deploy config it writes for you | ||
|
|
||
| For Compute-ready templates, the scaffold and the deploy defaults live in the same repo. The generated env file, app name, port, and framework drive the first deploy and every redeploy after it. | ||
|
|
||
| For a Hono app, `create-prisma` writes a config like this: | ||
|
|
||
| ```typescript | ||
| import { defineComputeConfig } from "@prisma/compute-sdk/config"; | ||
|
|
||
| export default defineComputeConfig({ | ||
| app: { | ||
| name: "my-api", | ||
| framework: "hono", | ||
| httpPort: 8080, | ||
| env: ".env", | ||
| }, | ||
| }); | ||
| ``` | ||
|
|
||
| That file is the whole deploy contract. For a closer look at it, including how it scales to monorepos, see [Configure Prisma Compute deploys in TypeScript](/blog/prisma-compute-config-file). | ||
|
|
||
| ## Add-ons that set your agent up | ||
|
|
||
| The add-ons are optional, but the Skills add-on changes how an agent works with the repo. It installs Prisma Agent Skills from [`prisma/skills`](https://github.com/prisma/skills), including the `prisma-compute` skill for deploys, logs, domains, and the rest of the Compute workflow. | ||
|
|
||
| With that in place, your agent already knows how to change the app and redeploy it. You don't have to spell out the steps in every prompt. | ||
|
|
||
| ## Redeploying after a change | ||
|
|
||
| A project created with `create-prisma` ships with `prisma.compute.ts` and a `compute:deploy` script. | ||
|
|
||
| After you make a change, redeploy from the project: | ||
|
|
||
| ```bash | ||
| cd my-api | ||
| bun run compute:deploy | ||
| ``` | ||
|
|
||
| The script redeploys your app code using the defaults in `prisma.compute.ts`. Database provisioning and migrations stay outside the deploy script. | ||
|
|
||
| For an app you didn't scaffold, call the Prisma CLI directly: | ||
|
|
||
| ```bash | ||
| bunx @prisma/cli@latest app deploy | ||
| ``` | ||
|
|
||
| ## Where to go next | ||
|
|
||
| `create-prisma` gets you from nothing to a deployed app and database in one command, with the config already wired up. From here: | ||
|
|
||
| - Read [Configure Prisma Compute deploys in TypeScript](/blog/prisma-compute-config-file) to understand `prisma.compute.ts` and monorepo deploys in depth. | ||
| - Follow the [deploy quickstart](https://docs.prisma.io/docs/prisma-compute/deploy) to take the generated app to a live URL. | ||
| - Browse the [Prisma Compute docs](https://docs.prisma.io/docs/compute) for branching, environment variables, and the full CLI reference. | ||
|
|
||
| Compute is in [public beta](https://docs.prisma.io/docs/compute) and free while the beta lasts. It runs your app on the same infrastructure as [Prisma Postgres](https://www.prisma.io/postgres), which has a generous free tier of its own, so the project you scaffold today already has somewhere to run. Tell us what you build in [#prisma-compute](https://pris.ly/discord-compute) on Discord. | ||
156 changes: 156 additions & 0 deletions
156
apps/blog/content/blog/prisma-compute-config-file/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,156 @@ | ||
| --- | ||
| title: "Configure Prisma Compute deploys in TypeScript" | ||
| slug: "prisma-compute-config-file" | ||
| date: "2026-06-19" | ||
| authors: | ||
| - "Aman Varshney" | ||
| metaTitle: "Configure Prisma Compute deploys in TypeScript" | ||
| metaDescription: "Prisma Compute now reads a typed TypeScript config file, so deploys are reproducible and monorepos work: declare one app or several, then ship the whole system with one command." | ||
| heroImagePath: "/prisma-compute-config-file/imgs/hero.svg" | ||
| heroImageAlt: "One typed file for every app target: a prisma.compute.ts declaring an api app on Hono and a web app on Next.js" | ||
| metaImagePath: "/prisma-compute-config-file/imgs/meta.png" | ||
| excerpt: "Prisma Compute now reads a typed prisma.compute.ts, so deploys are reproducible and monorepos work: declare one app or several, then ship the whole system with one command." | ||
|
ankur-arch marked this conversation as resolved.
|
||
| series: prisma-compute | ||
| seriesIndex: 5 | ||
| tags: | ||
| - "announcement" | ||
| - "platform" | ||
| --- | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| [Prisma Compute](https://docs.prisma.io/docs/compute) can deploy a TypeScript app without config: `app deploy` detects the framework, builds the app, and returns a live URL. | ||
|
|
||
| For repeatable deploys and monorepos, Compute now reads `prisma.compute.ts`: a typed, committed config file for app targets and deploy defaults. | ||
|
|
||
| ## One file, fully typed | ||
|
|
||
| Here is the smallest useful config for a single app: | ||
|
|
||
| ```ts title="prisma.compute.ts" | ||
| import { defineComputeConfig } from "@prisma/compute-sdk/config"; | ||
|
|
||
| export default defineComputeConfig({ | ||
| app: { | ||
| framework: "hono", | ||
| entry: "src/index.ts", | ||
| httpPort: 8080, | ||
| }, | ||
| }); | ||
| ``` | ||
|
|
||
| Fields you set become defaults for `app deploy`; explicit flags still override them. | ||
|
|
||
| `defineComputeConfig` gives the file editor validation: | ||
|
|
||
| ```ts title="prisma.compute.ts" | ||
| export default defineComputeConfig({ | ||
| app: { | ||
| framework: "hono", | ||
| htpPort: 8080, // Type error: did you mean httpPort? | ||
| }, | ||
| }); | ||
| ``` | ||
|
|
||
| The CLI resolves that import when it reads the file, so deploys work without a local install. Add `@prisma/compute-sdk` as a dev dependency for editor types. | ||
|
|
||
| ## Declare every app in a monorepo | ||
|
|
||
| For a multi-app repo, use `apps` and key each deploy target by name: | ||
|
|
||
| ```ts title="prisma.compute.ts" | ||
| import { defineComputeConfig } from "@prisma/compute-sdk/config"; | ||
|
|
||
| export default defineComputeConfig({ | ||
| apps: { | ||
| api: { | ||
| root: "apps/api", | ||
| framework: "hono", | ||
| entry: "src/index.ts", | ||
| }, | ||
| web: { | ||
| root: "apps/web", | ||
| framework: "nextjs", | ||
| }, | ||
| }, | ||
| }); | ||
| ``` | ||
|
|
||
| A bare `app deploy` deploys every app in declaration order: | ||
|
|
||
| ```bash | ||
| bunx @prisma/cli@latest app deploy | ||
| ``` | ||
|
|
||
| The output stays grouped by target: | ||
|
|
||
| ```bash | ||
| $ bunx @prisma/cli@latest app deploy | ||
|
|
||
| ── api (1/2) ── | ||
| Built 0.1 MB | ||
| Live in 5.9s | ||
| https://api.fra.prisma.build | ||
|
|
||
| ── web (2/2) ── | ||
| Built 15.3 MB | ||
| Live in 16.7s | ||
| https://web.fra.prisma.build | ||
|
|
||
| api https://api.fra.prisma.build | ||
| web https://web.fra.prisma.build | ||
| ``` | ||
|
|
||
| To deploy one app, name its target or run from inside its directory. The deepest matching `root` wins: | ||
|
|
||
| ```bash | ||
| bunx @prisma/cli@latest app deploy api | ||
| # or | ||
| cd apps/api && bunx @prisma/cli@latest app deploy | ||
| ``` | ||
|
|
||
| Compute uses your workspace package manager, resolves framework binaries in the workspace, and packages each app's dependencies. Supported targets today include Next.js, Nuxt, Astro, Hono, TanStack Start, and plain Bun servers. | ||
|
|
||
| ## Built for agents first | ||
|
|
||
| Agents are increasingly part of the deploy path. `prisma.compute.ts` keeps framework, port, env file, roots, and targets in the repo instead of only in a prompt. | ||
|
|
||
| Install the Compute-specific skill from `prisma/skills` alongside the repo: | ||
|
|
||
| ```bash | ||
| bunx skills add prisma/skills --skill prisma-compute | ||
| ``` | ||
|
|
||
| Then the prompt can stay short: | ||
|
|
||
| ```text | ||
| Deploy this monorepo to Prisma Compute. | ||
| ``` | ||
|
|
||
| The `prisma-compute` Agent Skill gives the agent the CLI workflow for deploys, logs, domains, and explicit target choices. | ||
|
|
||
| ## What it does not do | ||
|
|
||
| The config declares app targets and deploy defaults. It does not select the Prisma project, branch, or production intent. Project context comes from explicit input, environment, or the local `.prisma/local.json` pin/cache. Branch context comes from explicit targeting, Git, or the `main` fallback. | ||
|
|
||
| Deploy output labels config-sourced settings as `set by prisma.compute.ts`. | ||
|
|
||
| ## A step toward one Prisma config | ||
|
|
||
| `prisma.compute.ts` is deliberately scoped, and temporary by design. | ||
|
|
||
| Prisma already ships `prisma.config.ts` for the ORM. The long-term plan is one config file for ORM, Postgres, and Compute, with Compute living under a `compute` key. | ||
|
|
||
| The shape you write today is intended to move there mechanically once the unified file is ready. | ||
|
|
||
| ## Try it | ||
|
|
||
| Drop a `prisma.compute.ts` next to your app, or one at your monorepo root, and deploy: | ||
|
|
||
| ```bash | ||
| bunx @prisma/cli@latest app deploy | ||
| ``` | ||
|
|
||
| Starting fresh? [`create-prisma`](/blog/create-prisma-deploy-prisma-compute) scaffolds a Compute-ready app with `prisma.compute.ts` already wired up. | ||
|
|
||
| For the full field reference, see the [configuration docs](https://docs.prisma.io/docs/compute/configuration). For everything else about deploying on Compute, start with the [quickstart](https://docs.prisma.io/docs/prisma-compute/deploy). | ||
|
|
||
| One config file is the point: the same repo describes your data with [Prisma Postgres](https://www.prisma.io/postgres), your app with [Prisma Compute](https://docs.prisma.io/docs/compute), and your deploys with `prisma.compute.ts`, so a person or an agent can reason about the whole system in one place. Compute is in public beta and free while the beta lasts. Tell us what you ship in [#prisma-compute](https://pris.ly/discord-compute) on Discord. | ||
Binary file added
BIN
+231 KB
...blog/public/create-prisma-deploy-prisma-compute/imgs/create-prisma-terminal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
498 changes: 498 additions & 0 deletions
498
apps/blog/public/create-prisma-deploy-prisma-compute/imgs/hero.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
504 changes: 504 additions & 0 deletions
504
apps/blog/public/prisma-compute-config-file/imgs/hero.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.