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 21 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>
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>
Replace the ASCII token-morph animations with animated box-and-arrow SVG flows that match the resource model: Project -> Branch -> Infrastructure (Variables/App/DB), variable scope resolution (production/preview/branch override), and GitHub push-to-deploy. - Extract the player chrome (progress bar, stepper, autoplay, reduced motion) into a shared PlayerShell used by both renderers. - Add flow.tsx + flow-presets.ts: theme-aware color-coded boxes, rounded orthogonal connectors with arrowheads, per-step draw-in and emphasis. - ConceptAnimation dispatches names with a scene to the flow renderer and falls back to the Code Hike animation otherwise, so MDX is unchanged. Fixed SVG viewBox + grid-stacked captions keep the layout from shifting as you step through. compute-model, env-layers, and github-connection all render as flows. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The env animation only hinted at scope in the branch sub-text. Rebuild it as a composition diagram: scopes you set on the left (production, preview, branch override) resolve into the actual variable set each branch deploys with on the right, every row color-coded by the scope it came from, with a legend. Steps now isolate the surprising default: production resolves to production only; every preview branch automatically inherits the shared preview set; a branch override then layers on key by key (replacing DATABASE_URL, adding FEATURE_FLAG) while the rest still flow through. Adds row rendering, per-step row overrides, a legend, fanned-out edges, and production/resolved box variants to the flow renderer. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Render scope-box subtitles on their own line so "Branch override / --branch feature/search" no longer overflows the box. - Env flow now contrasts the default with the override: a second preview branch (bug/fix-issue) with no override stays on the plain preview set while feature/search composes its override on top, making the inherit-preview-by-default behaviour explicit. - Reflect the same nuance in the model flow: the Variables chip carries its scope (production vs preview) and the captions note that variables follow a scope while App and DB are isolated per branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reconcile the flow animations with the compute docs prose so they reinforce, not contradict, the documented model: - Overview intro no longer promises the model animation "ships to production"; it describes the resource model and variable scoping the animation actually shows. - GitHub flow now reflects the documented two levels (workspace owns the GitHub App installation; each project points at one repository) and drops the claim that merging to main auto-deploys to production. Per the deploy docs, GitHub events build the pushed commit and deploy the matching branch; production promotion stays deliberate. - Model captions use the docs' "scoped to preview" framing instead of "private copy", so variable scoping reads consistently with the environment-variables and branching pages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Join the friction sentence into one line and format the @prisma handle as code in the feedback line. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a per-edge bendX override so the env diagram's parallel dashed edges (preview and override into the same resolved box) route in distinct vertical lanes instead of overlapping. 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