Skip to content
Merged
Show file tree
Hide file tree
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 Jun 17, 2026
b00c06e
docs(blog): simplify Compute agent prompt
AmanVarshney01 Jun 17, 2026
0f38a48
docs(blog): clarify Compute config resolution
AmanVarshney01 Jun 17, 2026
d4aef17
docs(blog): tighten Compute launch copy
AmanVarshney01 Jun 17, 2026
f77f62e
docs(blog): condense Compute post copy
AmanVarshney01 Jun 17, 2026
6409670
docs(blog): remove repeated create-prisma copy
AmanVarshney01 Jun 17, 2026
37f89dc
docs(blog): make create-prisma post more concrete
AmanVarshney01 Jun 17, 2026
253e1ce
docs(blog): add Compute terminal visuals
AmanVarshney01 Jun 17, 2026
53039cc
docs(blog): embed create-prisma terminal image
AmanVarshney01 Jun 17, 2026
b5f5364
docs(blog): move terminal images to public assets
AmanVarshney01 Jun 17, 2026
6758efd
Merge branch 'main' into aman/blog-compute-posts
AmanVarshney01 Jun 17, 2026
56f1605
docs(blog): remove generated hero assets
AmanVarshney01 Jun 17, 2026
4747c96
blog(compute): clarify subtitles, join Compute series, add cross-link…
ankur-arch Jun 19, 2026
ad48386
blog(compute): add excerpt to config-file post
ankur-arch Jun 19, 2026
8a2b4f6
blog(compute): add config-tree hero/meta art to the config-file post
ankur-arch Jun 19, 2026
f751567
blog(compute): add scaffold cover art to the create-prisma post (hero…
ankur-arch Jun 19, 2026
98ef082
Merge branch 'main' into aman/blog-compute-posts
ankur-arch Jun 19, 2026
1828db3
Merge branch 'main' into aman/blog-compute-posts
ankur-arch Jun 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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."
Comment thread
ankur-arch marked this conversation as resolved.
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
```

![Terminal output from create-prisma showing Prisma Compute setup](/create-prisma-deploy-prisma-compute/imgs/create-prisma-terminal.png)

## 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 apps/blog/content/blog/prisma-compute-config-file/index.mdx
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."
Comment thread
ankur-arch marked this conversation as resolved.
series: prisma-compute
seriesIndex: 5
tags:
- "announcement"
- "platform"
---
Comment thread
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.
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 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 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.
Loading