feat(docs): add Prisma Compute docs section and integrate into the docs experience#7931
feat(docs): add Prisma Compute docs section and integrate into the docs experience#7931ankur-arch wants to merge 15 commits into
Conversation
…avigation Adds a new /docs/compute section (overview, @prisma/cli getting started, branching, Prisma Postgres connection, environment variables, custom domains, GitHub integration, FAQ/limitations), getting-started pages for deploying a first Compute service and connecting it to Prisma Postgres, and integrates Compute into the docs top nav, sidenav, Introduction, Choose a setup path, CLI and Console docs, plus "Deploy to Compute" callouts on the Prisma Postgres quickstarts. All CLI commands are sourced from prisma/prisma-cli, and platform behavior from pdp-control-plane. Open questions are left as non-rendering MDX TODO comments. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🍈 Lychee Link Check Report196 links: ✅ All links are working!Full Statistics Table
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds a complete Prisma Compute docs section (overview, getting-started, deployments, branching, envs, domains, GitHub, CLI reference, FAQ, limitations), integrates Compute into navigation and index/getting-started pages, adds beta badge/frontmatter support, callouts in existing quickstarts, and new docs UI components for animated concept demos. ChangesPrisma Compute documentation rollout
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
…maturity Validate and rework the Compute docs against the product doc set: - Adopt the product resource model (workspace → project → branch → apps/databases) and "app" terminology throughout - Standardize on `npx @prisma/cli@latest` invocation - Add Deployments and Limitations pages; resolve all prior TODOs (branch auto-creation, cleanup via GitHub, domain limits, error codes) - Document Public Beta on the feature-maturity page and link it from Compute pages; replace "early access" framing - Add a `beta` badge type and keep a single sidebar chip on the Compute index to reduce clutter - Add an agent-driven deploy path to the deploy quickstart - Add branch and Compute app concepts to Console concepts - Add waitlist/dogfooding to cspell.json; spellcheck, links, and types pass Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
apps/docs/src/lib/page-badges.ts (1)
3-3: ⚡ Quick winThree parallel definitions of the badge set are quietly drifting waiting to happen.
The same allowed-values list now lives in three places: the zod
badgeenum insource.config.ts,BadgeTypeinsidebar-badge-provider.tsx, and thisBadgeType. You kept all three in sync for"beta"— but nothing forces that. The trap is theas BadgeTypecast onpage.data.badge: if someone later adds a value to the zod schema only, the cast happily accepts it at runtime whileBADGE_LABEL/BADGE_COLORlookups returnundefined, so the badge silently fails to render with no type error to catch it.A cheap, durable fix is to define
BadgeTypeonce and import it in the other module (type-only imports from a"use client"file are erased at build, so there's no client/server hazard):♻️ Consolidate to a single source
-export type BadgeType = "early-access" | "beta" | "deprecated" | "preview"; +import type { BadgeType } from "`@/components/sidebar-badge-provider`"; +export type { BadgeType };Even better long-term: derive the TS type from the zod enum (
z.infer) so the schema is the single source of truth — though that's a larger change you can defer.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/docs/src/lib/page-badges.ts` at line 3, The BadgeType union is duplicated across modules causing silent runtime mismatches; fix by defining BadgeType in one place (preferably next to the zod `badge` enum in source.config.ts) and change other files (apps/docs/src/lib/page-badges.ts and sidebar-badge-provider.tsx) to import that single exported type via a type-only import, then remove the local BadgeType declarations so lookups like BADGE_LABEL and BADGE_COLOR and casts of page.data.badge all use the same canonical type; optionally, later derive the TS type from the zod enum with z.infer for a single source-of-truth.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/docs/content/docs/compute/domains.mdx`:
- Around line 33-37: Verify that the example command `npx `@prisma/cli`@latest app
domain wait` is actually supported by the latest Prisma CLI and that its
subcommand name is correct (search `@prisma/cli@latest --help` or the CLI source
for `app domain wait`); if the command is unsupported, replace the example with
a supported command or remove it. If the command exists, confirm the exact
semantics of the `--timeout` flag (especially `--timeout 0`) and update the text
to state precisely whether `0` means “perform a single status check and exit” or
“wait indefinitely/no timeout,” referencing `app domain wait` and `--timeout 0`
in the updated copy so readers are not misled.
---
Nitpick comments:
In `@apps/docs/src/lib/page-badges.ts`:
- Line 3: The BadgeType union is duplicated across modules causing silent
runtime mismatches; fix by defining BadgeType in one place (preferably next to
the zod `badge` enum in source.config.ts) and change other files
(apps/docs/src/lib/page-badges.ts and sidebar-badge-provider.tsx) to import that
single exported type via a type-only import, then remove the local BadgeType
declarations so lookups like BADGE_LABEL and BADGE_COLOR and casts of
page.data.badge all use the same canonical type; optionally, later derive the TS
type from the zod enum with z.infer for a single source-of-truth.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: cf3ee908-f9cc-4b99-b172-ba53906dccc8
📒 Files selected for processing (27)
apps/docs/content/docs/(index)/getting-started.mdxapps/docs/content/docs/(index)/index.mdxapps/docs/content/docs/(index)/prisma-compute/connect-to-prisma-postgres.mdxapps/docs/content/docs/(index)/prisma-compute/deploy.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/prisma-postgres.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/drizzle-orm.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/kysely.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/prisma-orm.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/typeorm.mdxapps/docs/content/docs/compute/branching.mdxapps/docs/content/docs/compute/database/connect-to-prisma-postgres.mdxapps/docs/content/docs/compute/deployments.mdxapps/docs/content/docs/compute/domains.mdxapps/docs/content/docs/compute/environment-variables.mdxapps/docs/content/docs/compute/faq.mdxapps/docs/content/docs/compute/getting-started.mdxapps/docs/content/docs/compute/github.mdxapps/docs/content/docs/compute/index.mdxapps/docs/content/docs/compute/limitations.mdxapps/docs/content/docs/compute/meta.jsonapps/docs/content/docs/console/concepts.mdxapps/docs/content/docs/console/index.mdxapps/docs/content/docs/console/more/feature-maturity.mdxapps/docs/cspell.jsonapps/docs/source.config.tsapps/docs/src/components/sidebar-badge-provider.tsxapps/docs/src/lib/page-badges.ts
✅ Files skipped from review due to trivial changes (14)
- apps/docs/cspell.json
- apps/docs/content/docs/(index)/prisma-postgres/quickstart/kysely.mdx
- apps/docs/content/docs/compute/limitations.mdx
- apps/docs/content/docs/compute/deployments.mdx
- apps/docs/content/docs/(index)/prisma-postgres/quickstart/drizzle-orm.mdx
- apps/docs/content/docs/(index)/prisma-postgres/quickstart/typeorm.mdx
- apps/docs/content/docs/(index)/prisma-compute/connect-to-prisma-postgres.mdx
- apps/docs/content/docs/compute/getting-started.mdx
- apps/docs/content/docs/compute/branching.mdx
- apps/docs/content/docs/compute/meta.json
- apps/docs/content/docs/compute/github.mdx
- apps/docs/content/docs/compute/database/connect-to-prisma-postgres.mdx
- apps/docs/content/docs/compute/faq.mdx
- apps/docs/content/docs/compute/environment-variables.mdx
🚧 Files skipped from review as they are similar to previous changes (5)
- apps/docs/content/docs/(index)/index.mdx
- apps/docs/content/docs/console/index.mdx
- apps/docs/content/docs/(index)/prisma-compute/deploy.mdx
- apps/docs/content/docs/compute/index.mdx
- apps/docs/content/docs/(index)/prisma-postgres/quickstart/prisma-orm.mdx
- New /compute/cli-reference page covering all command groups, flags, environment variables, and error codes; cross-linked from /cli and /compute/getting-started - Sidebar titles: "@prisma/cli", "Connect to Prisma Postgres", "Domains" for shorter, coherent labels (URLs unchanged, so no redirects needed) - Align the Compute intro with the integrated platform story (ORM + Postgres + Compute, co-location for low latency) - Prose style pass: prefer flowing sentences over choppy fragments Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…r clarity - Remove --prod flag (no longer exists); document production deploys via branch targeting plus confirmation, with CONFIRMATION_REQUIRED in non-interactive mode - Replace PROD_DEPLOY_REQUIRES_FLAG with CONFIRMATION_REQUIRED - Add --trace global flag, JSON envelope docs, expanded error-code tables - Remove Connect to Prisma Postgres pages; fold content into environment-variables and repoint all links - Add explicit sign-in step to getting-started paths - Rewrite all pages: lower jargon, answer-first sections, clearer CTAs, no em dashes - Landing page: Compute and Postgres as primary cards; getting-started gains equivalent Compute steps Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add ConceptAnimation MDX component: Code Hike token transitions over word-level tokens, autoplay with in-view/hover/reduced-motion handling, and grid-stacked sizers so steps never shift layout - Use it for the resource model (index, branching, faq), the GitHub connection levels (github), and env var resolution (environment-variables) - Fix multi-line bun x -> bunx --bun conversion in source.config.ts - Give bare assertions their reasons across all compute pages (--json, promote rebuilds, rollback reuse, write-only env values, error codes) - Rename Limitations to Known limitations and trim filler phrases Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nce skill + Luan positioning Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oncept animations - Overview: drop redundant hosting paragraph, move Get started above the model with a single quickstart CTA, point to the model for the mental model, and consolidate remaining links into "What to read next". - Quickstart: explain what each step does (no black box) and add a "Connect GitHub" step framed as the recommended deploy workflow. - Concept animations: vertical Git-centric model, labelled clickable stepper with prev/next, visible title + autoplay progress bar, example names (my-app, acme/shop) and CLI commands per state, and an example-driven env-variables flow. Slower pacing for readability. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Use "Prisma Data Platform account" / pris.ly/pdp and link the Console to pris.ly/pdp consistently (overview, quickstart, getting-started). - Adopt the edited overview voice (sandbox framing, direct phrasing, descriptive step headings) carried in from the index/quickstart edits. - Remove the redundant "Keep scripted setup in the CLI." line and other fillers (actually, worth giving, you can also, at any time). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the public-beta launch post for Monday 2026-06-08, adapting the announcement copy in the blog's voice. The "Try it" section uses the codehike-powered AgentPrompt to play a real `@prisma/cli@latest app deploy --db` run: the prompt is typed, then captured deploy logs stream in line by line. Terminal height is reserved up front so there is no layout shift. Env var names only, no credentials. Also refresh Shane Neubauer's author avatar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Adds a new Prisma Compute docs section at
/docs/computeand integrates it into the existing docs experience (top nav, sidenav, Getting Started, CLI and Console docs, quickstart callouts). Scope is limited to docs-owned files; no marketing, product, blog, or global website surfaces were touched.Content is validated against three sources: the authoritative Compute product doc set, the
prisma/prisma-clirepo (every command/flag), and thepdp-control-planeimplementation (platform behavior and limits).New pages
Compute section (
/docs/compute)index.mdx— overview with the resource model (workspace → project → branch → apps/databases)getting-started.mdx— get started with the@prisma/clibeta (deploy loop, frameworks, project linking, production, CI/agents); sidebar label is@prisma/clibranching.mdx— production/preview branches, CLI branch resolution, auto-creation, cleanupdeployments.mdx— deploy, local build/run, inspect, logs, promote, roll back, removedatabase/connect-to-prisma-postgres.mdx— connect an app viaDATABASE_URLenvironment-variables.mdx— production/preview/branch scopes, write-only values, rulesdomains.mdx— custom domains, CNAME setup, status lifecycle, retry, limits (3/app, production-only)github.mdx— repo connection, deploy on push, branch event mapping, beta boundariesfaq.mdx— Q&A for people and agentscli-reference.mdx— complete@prisma/clireference: all command groups, flags, env vars, and error codes (cross-linked from/docs/cliand the getting-started page)limitations.mdx— what the Public Beta does and doesn't do, in one placeGetting Started (
/docs/prisma-compute/*)deploy.mdx— deploy your first app (CLI path + hand-it-to-your-agent path with prompt template)connect-to-prisma-postgres.mdx— quickstart for wiring an app to Prisma PostgresIntegration changes
src/lib/layout.shared.tsx)meta.json: new Compute entriesprismaCLI from the@prisma/clibeta (prisma-clibinary)betabadge type in the docs badge system; a single "Beta" chip on the Compute index instead of chips on every page (declutters the sidebar)@prisma/cli,Connect to Prisma Postgres,Domains); titles only, URLs unchangedapps/docs/vercel.jsonis the place if that changes)Validation
pnpm lint:links— 0 errors (561 files)pnpm --filter docs types:check— passespnpm lint:spellcheck(cspell) — 0 issues across 681 files; addedwaitlist,dogfoodingtocspell.jsonpnpm types:checkfails on main in@prisma/eclipse; localdocsbuild needsMXBAI_API_KEY(search route)Open product questions
Most earlier questions were resolved by the authoritative product docs (terminology is "app"; maturity is Public Beta; branches auto-create on deploy and are cleaned up via GitHub branch deletion; domains are CNAME-based, production-only, 3 per app). Still open:
output: "standalone"requirement: Verified in the CLI repo skill but absent from the product doc set; kept as a note. Confirm it's still required.Out of scope (handled separately)
apps/site,packages/ui) were deliberately not added./img/platform/pdp-concepts.png) still shows four concepts; it needs a refresh to include branches.🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
New Features