Skip to content

Docs: one recommended getting-started path for the Prisma stack, for humans and agents - #8106

Open
ankur-arch wants to merge 14 commits into
mainfrom
feat/getting-started-revamp
Open

Docs: one recommended getting-started path for the Prisma stack, for humans and agents#8106
ankur-arch wants to merge 14 commits into
mainfrom
feat/getting-started-revamp

Conversation

@ankur-arch

@ankur-arch ankur-arch commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Outcome

The docs entry pages presented Prisma ORM, Postgres, and Compute as three equal, unrelated first commands, and the recommended path was buried mid-sidebar. New users now land on one integrated journey — scaffold with Prisma Next (becomes Prisma 8 at GA), store data in Prisma Postgres, deploy on Prisma Compute — with a visual hero, a quick path, a guided path, and a copyable agent prompt for every flow. Prisma 7 stays one click away, clearly labeled as the current GA release.

What changed

Landing experience (/docs, /docs/next)

  • Supabase-style visual landing: hero with a clickable stack diagram (Compute → Prisma Next → Postgres, each layer linking straight into its getting-started flow), pitch + CTA buttons, and a full-width AI Prompt / CLI tab card — the AI Prompt is click-to-copy anywhere, the CLI tab shows labeled step groups from scaffold to deploy.
  • The sidebar is visually hidden on the two landing pages via a new hideSidebar frontmatter flag, server-rendered so it never flashes in; the mobile drawer keeps working. Pages stay in nav, search, sitemap, and llms.txt — nothing was deleted anywhere on the branch (git diff main --diff-filter=D is empty).
  • New full-stack tutorial (/next/full-stack-tutorial): empty directory → live URL in one sitting, built from a live-validated run with real output blocks. It is the hero's primary CTA.
  • Alternate paths (existing project, own Postgres, ORM-/Postgres-/Compute-only, Prisma 7) are compact rows with a guide link and a Copy-prompt button; framework picker is a logo grid (local assets only, dark-mode handled).

Agent prompts, verified and red-teamed

  • ~20 flow-specific prompts across the landing, product pages, and all 10 framework/runtime guides. Every prompt stays in the DOM and in the .md/llms.txt output (new llm-markdown converters, fidelity snapshots pass).
  • An adversarial review agent role-played a literal coding agent against every prompt; all findings applied: non-interactive scaffolds, stop-and-ask guards before browser-opening auth, template-aware deploy requirements, contract:emit before migration plan, driver-adapter step for Prisma 7, curl-based verification.

Framework guides (Next.js, Hono, TanStack Start, NestJS, Astro, Nuxt, SvelteKit, Elysia, Bun, Deno)

  • Each validated end to end against live Prisma Postgres by following only the written steps; guides gained agent prompts and Compute deploy legs where supported (7 real deploys verified at live URLs).
  • Real product traps found and documented: templates still emit the flat db.orm.User form (crashes on Postgres), Compute deploys need --env .env, Next.js template lacks output: "standalone" (silent 504s — the docs previously claimed otherwise), TanStack needs Nitro, Astro needs the node adapter + HOST=0.0.0.0, Elysia/Bun need --framework bun --entry, NestJS dev under tsx needs explicit @Inject().

How it was validated

  • Every guide executed end to end by an agent following only the written instructions; 7 live Compute deploys serving seeded rows; adversarial review + prompt red-team passes applied.
  • types:check, lint:links, lint:agent-ready (llms.txt budgets OK), lint:images, lint:spellcheck, test:llm-markdown, audit:redirects all green; .md endpoints verified free of JSX residue; click-to-copy verified via Playwright clipboard read; screenshots reviewed at 1440/1024/390 in light and dark.

Trade-offs and remaining gaps

  • The seed-bug, standalone, and adapter workarounds are template bugs documented in docs; upstream fixes in create-prisma@next would let the notes be deleted.
  • SvelteKit and Deno have no Compute leg (unsupported today; guides say so). Express has no template or guide; the landing routes Express users to the existing-project path.
  • The primary agent prompt is duplicated on three pages and must be kept in sync (single source would need an MDX include mechanism).
  • Cleanup owed from validation: delete the docs-gs-validation project (plus the temp scaffold databases) in Console.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added a full-stack Prisma Next + Postgres + Prisma Compute tutorial.
    • Introduced “Use with your agent” guided workflows (prompt/CLI tabs, copyable steps, icons, and stack diagrams) across getting started and framework/runtime guides.
  • Documentation

    • Reworked the docs landing pages and navigation to emphasize Prisma 7 setup paths and Prisma Next (recommended).
    • Expanded Prisma Compute deployment guidance and updated multiple framework/runtime walkthroughs with end-to-end deploy + verification steps.
    • Updated Prisma Postgres/ORM quickstart prerequisites and commands; added improved onboarding flows for new vs existing projects.
  • Bug Fixes

    • Improved docs rendering to protect fenced code blocks and structured prompt components from formatting/prompt corruption.

ankur-arch and others added 4 commits July 24, 2026 14:07
…and agent flows

The docs landing now leads with a single integrated journey (scaffold with
Prisma Next, create or connect Prisma Postgres, deploy on Prisma Compute)
instead of three parallel product commands. Prisma 7 stays one click away as
the clearly labeled GA path.

- /docs and /next: focused landing pages with quick setup, guided setup,
  copyable agent prompts, a framework logo grid, progressive-disclosure
  accordions for alternate paths, and a Browse-the-docs section. Sidebar is
  visually hidden on these two pages via a new hideSidebar frontmatter flag
  (pages stay in nav, search, sitemap, and llms.txt).
- Agent prompts for every flow: new app, existing project, external Postgres,
  Prisma 7 full stack, and ORM-/Postgres-/Compute-only, all verified against
  npm dist-tags and live runs.
- Framework guides (Next.js, Hono, TanStack Start, NestJS, Astro, Nuxt,
  SvelteKit, Elysia, Bun, Deno) validated end to end against live Prisma
  Postgres and extended with agent prompts plus Compute deploy legs where
  supported; 7 real deploys verified. Documented real traps: templates still
  emit the unqualified db.orm.User form, Next.js needs output standalone,
  TanStack needs nitro, Astro needs the node adapter and HOST=0.0.0.0.
- New TechIcon MDX component and local framework logos (hono, nestjs, bun,
  tanstack copied from apps/site) with dark-mode handling.
- orm/postgres/compute/orm-next index pages gain stack-continuation blocks
  and flow-specific prompts; getting-started nav reordered with Prisma Next
  first and Prisma 7 labeled; orphaned next/prisma-postgres pages wired into
  the sidebar.

Validated: types:check, lint:links, lint:agent-ready, lint:images,
lint:spellcheck all green; audit:redirects clean; desktop/mobile and
light/dark screenshots checked; .md endpoints verified for agent parity.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…d-teamed agent prompts

Compresses the getting-started landing from five scroll-screens to two using
Supabase-style visual components while keeping every word crawlable and in
the .md/llms agent output.

- New components (src/components/getting-started.tsx): HeroGrid + StackSteps
  (numbered product steps with ORM/Postgres/Compute icons), GetStartedTabs
  (CLI / AI Prompt tab card with copy, Show more truncation), AgentPrompt
  (collapsed click-to-copy prompt rows with guide links), SectionRow
  (two-column Supabase-style sections), IconGrid/IconLink (compact logo
  links). Prompts are authored as fenced children, so SEO crawlers see the
  text and llm-markdown emits it; llm-markdown.ts gains converters for all
  new components (fidelity snapshots pass).
- Landing rewritten around the components; /next gets the icon grid and a
  collapsed prompt; all product pages and the 10 framework guides swap raw
  prompt fences for AgentPrompt rows. Deno logo added; full:true on /.
- All 20 agent prompts red-teamed by an adversarial agent role-playing a
  literal coding agent, and every finding applied: non-interactive Prisma 7
  scaffold with --no-deploy, auth guards before browser-opening steps,
  template-aware deploy requirements (standalone/nitro/astro-adapter/
  --framework bun, svelte excluded), contract:emit before migration plan,
  migrate --yes, stop-and-ask rules for unresolved placeholders and missing
  connection strings, driver-adapter step in the Prisma 7 ORM prompt,
  create-db claim-URL surfacing, curl-based verification, bounded log
  reads, and the Compute deploy page's agent notes moved inside the
  copyable block.

Validated: types:check, lint:links, lint:agent-ready, lint:images,
lint:spellcheck, test:llm-markdown all green; .md output of the landing
verified clean of JSX residue; desktop/mobile/dark screenshots reviewed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…out polish

Addresses review feedback on the redesigned landing:

- Sidebar no longer flashes on load: page.tsx server-renders a scoped style
  that collapses the sidebar column and hides the desktop sidebar before
  hydration. Desktop-only, so the mobile drawer behind the hamburger keeps
  working (it was previously dead on hidden-sidebar pages).
- New hero: left pitch with Recommended badge and two CTA buttons
  (quickstart, deploy), right StackDiagram visual showing Compute over
  Prisma Next over Prisma Postgres with connectors and a type-safe caption.
  Every layer links straight into its getting-started flow, so clicking
  "Prisma Postgres" lands on the quickstart, not a product overview.
- The AI Prompt / CLI card is now full width below the hero, defaults to
  the AI Prompt tab, and its CLI tab carries the full command sequence
  (scaffold through deploy), replacing the removed "Run it, then ship it"
  section that duplicated commands and left dead space.
- Consistency and readability pass: section left-column text enlarged,
  4/8 column ratio, tighter AgentPrompt rows with ghost view toggle,
  consistent vertical rhythm, lucide connector icon.
- llm-markdown converters updated (HeroPitch, StackDiagram/StackLayer,
  template-literal cli extraction, indent cleanup) so the .md output keeps
  the pitch, CTAs, product layers, CLI commands, and prompts; fidelity
  snapshots pass.
- Verified nothing was removed from the old structure: git diff shows no
  deleted pages and the nav diff is reorder plus previously-orphaned
  next/prisma-postgres pages added.

Validated: types:check, lint:links, lint:agent-ready, lint:spellcheck,
test:llm-markdown green; SSR HTML contains the sidebar-hiding style;
screenshots at 1440/1024/390 and dark mode reviewed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mpt, CLI steps

- New /next/full-stack-tutorial page: one validated walkthrough from empty
  directory to live URL (scaffold with Prisma Next, Prisma Postgres
  provisioning, seed and query, Prisma Compute deploy), built from the
  live-verified hono run with real output blocks. Wired into the getting
  started nav, the /next cards, and the hero's primary CTA.
- Spacing pass: sections py-16 with wider gaps, roomier prompt rows and
  hero, capped left-column line length, larger grid gaps.
- Prompt card: the whole AI Prompt area is now click-to-copy (keyboard
  accessible, "Click to copy"/"Copied" affordance, nested code-block
  buttons hidden); CLI tab renders labeled step groups instead of a flat
  command dump.
- Recommended chip restyled as a quiet uppercase label; removed the
  awkward "also has the agent prompt" orphan line under the Prisma 7 cards
  (folded into the card description).

Validated: types:check, lint:links, lint:spellcheck, lint:agent-ready,
test:llm-markdown green; zero page errors in the browser console; click-to-
copy verified end to end via Playwright clipboard read.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Jul 27, 2026 2:55pm
docs Ready Ready Preview, Comment Jul 27, 2026 2:55pm
eclipse Ready Ready Preview, Comment Jul 27, 2026 2:55pm
site Ready Ready Preview, Comment Jul 27, 2026 2:55pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The PR restructures Prisma onboarding around Prisma 7 and Prisma Next, adds agent-oriented setup prompts and reusable UI components, updates framework/runtime deployment guides, and extends MDX-to-markdown normalization for the new content.

Changes

Prisma onboarding experience

Layer / File(s) Summary
Landing pages and setup paths
apps/docs/content/docs/(index)/*, apps/docs/content/docs/orm/*, apps/docs/content/docs/postgres/index.mdx, apps/docs/content/docs/compute/index.mdx
Navigation, landing pages, setup paths, tutorials, and product pages now document Prisma 7, Prisma Next, Prisma Postgres, Prisma Compute, and agent workflows.
Framework setup and deployment guides
apps/docs/content/docs/guides/next/frameworks/*, apps/docs/content/docs/(index)/prisma-compute/deploy.mdx
Framework guides add scaffolding, seed troubleshooting, local verification, framework configuration, agent prompts, and Prisma Compute deployment instructions.
Runtime-specific workflows
apps/docs/content/docs/guides/next/runtimes/*
Bun and Deno guides document runtime-specific queries, permissions, HTTP behavior, troubleshooting, and deployment limitations.
Getting-started components and page rendering
apps/docs/src/components/getting-started.tsx, apps/docs/src/mdx-components.tsx, apps/docs/source.config.ts, apps/docs/src/app/(docs)/(default)/[[...slug]]/page.tsx, apps/docs/cspell.json
Reusable prompt, tab, icon, hero, and stack components are wired into MDX; optional sidebar hiding, callout styling, and spellcheck entries are added.
MDX-to-markdown normalization
apps/docs/src/lib/llm-markdown.ts
New onboarding components are converted to structured markdown while fenced-code protection and linked-list dedenting are updated.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant AgentPrompt
  participant PrismaCLI
  participant PrismaCompute
  Developer->>AgentPrompt: Copy setup workflow
  AgentPrompt->>PrismaCLI: Scaffold, initialize, seed, and deploy
  PrismaCLI->>PrismaCompute: Deploy app with environment configuration
  PrismaCompute-->>Developer: Return live URL for verification
Loading

Possibly related PRs

  • prisma/web#8087: Both changes modify the protected markdown normalization pipeline in apps/docs/src/lib/llm-markdown.ts.
  • prisma/web#8099: Both changes modify markdown normalization and fenced-code protection in apps/docs/src/lib/llm-markdown.ts.

Suggested reviewers: nurul3101

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 56.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: a unified recommended getting-started path for the Prisma stack, including agent-friendly docs.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/getting-started-revamp

Comment @coderabbitai help to get the list of available commands.

ankur-arch and others added 2 commits July 24, 2026 16:36
… directive and details handler

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…Prisma 8 teasers

- Hero AI prompt collapses behind a View prompt toggle; content stays in the
  DOM (sr-only) so crawlers and agents still see it, and wraps when expanded
- Drop the db:seed failure admonition from the landing page (the prompt
  already carries the fix); give all docs admonitions roomier vertical rhythm
- Icon tiles on the More setup paths rows; 5 min badge on the Prisma 7
  quickstart card; backtick spans in section descriptions render as code
- Assertive cross-linked copy for the Express and MongoDB pointers, with
  breathing room after the grids
- Tease Prisma Next as soon Prisma 8 across hero, stack diagram, and Prisma 7
  sections
- llm-markdown: AgentPrompt attrs tolerate JSX icon props; IconLink badge
  surfaces in .md output

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ankur-arch

Copy link
Copy Markdown
Contributor Author

Design + content pass from review feedback:

  • Hero AI prompt now collapses behind a View prompt toggle instead of the faded wall of text. The prompt stays in the DOM (sr-only) and in the .md/llms output, so agents and crawlers still see it. Expanded view wraps long lines.
  • Removed the scary db:seed admonition from the landing page (the agent prompt already carries the workaround). All docs admonitions got roomier vertical spacing (leading-7, paragraph margins, more padding).
  • More setup paths rows have icon tiles (folder/plug/boxes/database/rocket).
  • Cross-links made visible + assertive copy: "If you're using Express… follow the [existing-project path]", MongoDB/Kysely/Drizzle/TypeORM pointers now individually linked, links styled in section prose, extra spacing after grids.
  • 5 min badge on the Prisma 7 quickstart card; backtick spans in section descriptions render as inline code.
  • Prisma 8 tease: "Prisma Next (soon Prisma 8)" across the hero, stack diagram, and Prisma 7 sections.
  • Merge conflicts with main resolved (kept the layout-level llms.txt directive and <details> md handler from main, kept the hideSidebar style from this branch).
  • Link pass: all links in the 20 changed content files resolve against routes + redirects; audit:redirects and test:llm-markdown pass; tsc clean.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

🍈 Lychee Link Check Report

377 links: ✅ 46 OK | 🚫 0 errors | 🔀 12 redirects | 👻 331 excluded

✅ All links are working!


Full Statistics Table
Status Count
✅ Successful 46
🔀 Redirected 12
👻 Excluded 331
🚫 Errors 0
⛔ Unsupported 0
⏳ Timeouts 0
❓ Unknown 0

@argos-ci

argos-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ⚠️ Changes detected (Review) 1 changed Jul 27, 2026, 3:02 PM

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 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/`(index)/next/index.mdx:
- Line 53: Update the deployment guidance in the numbered step to map template
names explicitly to the reviewed guide slugs: use nextjs.mdx for Next.js,
nestjs.mdx for Nest, and sveltekit.mdx for Svelte; skip svelte before
constructing or following the framework guide URL, while preserving the existing
framework-specific deployment requirements.

In `@apps/docs/content/docs/guides/next/frameworks/astro.mdx`:
- Line 41: Update the verification steps in
apps/docs/content/docs/guides/next/frameworks/astro.mdx#L41-L41,
apps/docs/content/docs/guides/next/frameworks/elysia.mdx#L31-L31, and
apps/docs/content/docs/guides/next/frameworks/hono.mdx#L31-L31 to start each dev
server in the background, wait until it is ready before running curl, and stop
the server after verification and subsequent deploy or cleanup steps.

In `@apps/docs/content/docs/guides/next/frameworks/tanstack-start.mdx`:
- Around line 87-93: Replace the prose inside the npm-tagged code fence in the
“Deploy to Prisma Compute” section with the runnable command npm install nitro,
and move the explanatory text into surrounding prose. Preserve the clarification
that the package is nitro rather than nitropack and that nitro() from nitro/vite
is enabled only for builds.

In `@apps/docs/src/lib/llm-markdown.ts`:
- Around line 590-597: Update the GetStartedTabs transformation to use the
existing component-tag parser used by replaceComponentBlocks instead of the
regex opening-tag match, so cli template literals containing “>” are parsed
intact. Preserve the existing getAttribute, trimComponentContent, and bash-block
generation behavior.
- Around line 572-619: Move the protectFencedCodeBlocks() call to run before the
component-tag replacement chain so fenced examples are excluded from
transformations such as AgentPrompt, GetStartedTabs, SectionRow, and HeroPitch.
Keep the existing restoration step after the replacement pipeline and
normalization complete.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: fa100b79-9d55-4e15-b6c5-e87dd77a166d

📥 Commits

Reviewing files that changed from the base of the PR and between 9cda7bc and 73fc18d.

⛔ Files ignored due to path filters (6)
  • apps/docs/public/img/technologies/bun.svg is excluded by !**/*.svg
  • apps/docs/public/img/technologies/deno.svg is excluded by !**/*.svg
  • apps/docs/public/img/technologies/hono.svg is excluded by !**/*.svg
  • apps/docs/public/img/technologies/nestjs.svg is excluded by !**/*.svg
  • apps/docs/public/img/technologies/prisma-postgres.svg is excluded by !**/*.svg
  • apps/docs/public/img/technologies/tanstack.svg is excluded by !**/*.svg
📒 Files selected for processing (27)
  • apps/docs/content/docs/(index)/getting-started.mdx
  • apps/docs/content/docs/(index)/index.mdx
  • apps/docs/content/docs/(index)/meta.json
  • apps/docs/content/docs/(index)/next/full-stack-tutorial.mdx
  • apps/docs/content/docs/(index)/next/getting-started.mdx
  • apps/docs/content/docs/(index)/next/index.mdx
  • apps/docs/content/docs/(index)/prisma-compute/deploy.mdx
  • apps/docs/content/docs/compute/index.mdx
  • apps/docs/content/docs/guides/next/frameworks/astro.mdx
  • apps/docs/content/docs/guides/next/frameworks/elysia.mdx
  • apps/docs/content/docs/guides/next/frameworks/hono.mdx
  • apps/docs/content/docs/guides/next/frameworks/nestjs.mdx
  • apps/docs/content/docs/guides/next/frameworks/nextjs.mdx
  • apps/docs/content/docs/guides/next/frameworks/nuxt.mdx
  • apps/docs/content/docs/guides/next/frameworks/sveltekit.mdx
  • apps/docs/content/docs/guides/next/frameworks/tanstack-start.mdx
  • apps/docs/content/docs/guides/next/runtimes/bun.mdx
  • apps/docs/content/docs/guides/next/runtimes/deno.mdx
  • apps/docs/content/docs/orm/index.mdx
  • apps/docs/content/docs/orm/next/index.mdx
  • apps/docs/content/docs/postgres/index.mdx
  • apps/docs/cspell.json
  • apps/docs/source.config.ts
  • apps/docs/src/app/(docs)/(default)/[[...slug]]/page.tsx
  • apps/docs/src/components/getting-started.tsx
  • apps/docs/src/lib/llm-markdown.ts
  • apps/docs/src/mdx-components.tsx

Comment thread apps/docs/content/docs/(index)/next/index.mdx Outdated
Comment thread apps/docs/content/docs/guides/next/frameworks/astro.mdx Outdated
Comment thread apps/docs/content/docs/guides/next/frameworks/tanstack-start.mdx
Comment thread apps/docs/src/lib/llm-markdown.ts Outdated
Comment thread apps/docs/src/lib/llm-markdown.ts Outdated
…ups, CodeRabbit fixes

Landing page hierarchy per product feedback (too many competing paths):
- Hero pitch now defines Prisma before naming versions, keeps one primary
  CTA (tutorial); secondary CTA becomes "Prisma 7 docs" so existing users
  exit early without a competing journey. Stack layers link to product
  overviews instead of three different setup flows.
- One-line bridge above the tabs card ties it to the tutorial (same
  journey, condensed); CLI deploy step discloses the free-account sign-in.
- Framework picker reframed as a step in the same journey; SvelteKit/Deno
  local-only caveat stated up front instead of inside the prompt only.
- Prisma 7 section moved above alternates; five alternate-path prompt rows
  now sit behind a native <details> disclosure (content stays in static
  HTML and .md output, keyboard accessible).
- /next drops the duplicate "What you can try" card block; /next/getting-started
  drops the duplicate Prisma Postgres section; /getting-started leads with
  the recommended quickstart and folds deploy into its own section.
- Fill empty Prerequisites on the Prisma 7 Prisma Postgres quickstart.

CodeRabbit findings:
- Template-to-guide slug mapping in the deploy step of the hero prompt
  (next/nest/svelte no longer produce dead .md URLs).
- Framework guide prompts run the dev server in the background, wait for
  readiness, and stop it after verification.
- TanStack Start guide: garbled npm fence replaced with `npm install nitro`.
- llm-markdown: fenced code is protected before all component transforms
  (prefix-aware restore replays dedent/blockquote shifts on fence lines),
  and GetStartedTabs parses via the brace-aware component parser so `>`
  inside the cli template literal cannot truncate the match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ankur-arch

Copy link
Copy Markdown
Contributor Author

Golden-path pass (b232dac)

Addresses the product feedback ("still a lot of different paths... make secondary options less prominent") plus all five open CodeRabbit threads.

Fewer decisions before starting. The landing page previously exposed two "start" mechanisms, three stack-layer links into three different setup flows, five alternate-path rows, and a Prisma 7 section, all at equal weight. Now:

  • Primary (Next + Postgres + Compute): hero pitch defines Prisma in one sentence, one primary CTA (full-stack tutorial), and the tabs card is explicitly "the tutorial's journey, condensed". Stack layers link to product overviews (informational), not competing setup flows.
  • Secondary (Prisma 7): hero secondary button is now "Prisma 7 docs" so existing users exit in one click; the "Using Prisma 7?" section moved above the alternates and says P7 is fully supported.
  • Tertiary (everything else): the five alternate-path prompt rows are collapsed behind a native <details> disclosure. Content stays in the static HTML, in .md/llms output, and keyboard-accessible; it's just no longer competing visually. /next dropped its duplicate "What you can try" card block; /next/getting-started dropped the duplicate Prisma Postgres section; /getting-started now leads with the recommended quickstart.

Adversarial persona review (P7 user, newcomer, "Prisma = ORM" dev, ship-fast hacker) produced 12 fixes, applied where they held up: action-labeled CTAs, version-ladder repetition trimmed (kept in hero/stack/P7 per earlier direction), SvelteKit/Deno no-Compute caveat surfaced in the framework section instead of only inside the prompt, free-account requirement disclosed on the deploy CLI step, disclosure summary names the ORM-only escape hatch, EA copy on /next reworded to drop the "not the real path yet" undertone, and the empty ## Prerequisites on the P7 Prisma Postgres quickstart (the "5 min" badge destination) filled in.

CodeRabbit: template→guide slug mapping in the deploy prompt; background dev server with readiness+teardown in all eight framework guide prompts; TanStack npm install nitro fence fixed; llm-markdown now protects fenced code before all component transforms (prefix-aware restore keeps callout/details fence behavior byte-identical); GetStartedTabs parsed brace-aware so > in the cli literal can't truncate.

Validated: types:check, lint:links, lint:agent-ready, lint:spellcheck, test:llm-markdown, audit:redirects all green; .md endpoints verified for the new structure (disclosure content present, no JSX/className leakage); screenshots at 1440 and 390/dark; collapsed details content confirmed present in served HTML.

Known remainders: the primary agent prompt is still triplicated (landing, /next, /next/getting-started) pending an MDX include mechanism; the drift risk is documented. SvelteKit/Deno still have no Compute leg (stated on-page).

🤖 Generated with Claude Code

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/docs/src/lib/llm-markdown.ts (1)

699-708: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Dedent/collapse regexes run after fences are already restored, exposing real code-fence content to corruption.

protectedCode.restore(unescaped) executes first (Line 702) and the subsequent .replace() calls (Lines 703-707) are chained onto its already-restored result — i.e., fenced code is no longer a protected placeholder when these blind, fence-unaware regexes run. Any fenced example containing an indented line starting with #### /### , - [, - **[, or N. **[ (plausible in docs that show markdown/JSX syntax samples, which this very pipeline processes), or containing 3+ consecutive blank lines, will have its leading whitespace stripped or blank lines collapsed — silently corrupting the code sample. Two of these four dedent rules (- **[, \d+. **[) are new in this PR, extending the exposure window.

Move .restore() to wrap the entire dedent/collapse chain so it executes last, after fences have safely done their job as opaque placeholders:

🛠️ Proposed fix
-  return protectedCode
-    .restore(unescaped)
-    .replace(/^[ \t]+(#{3,4} )/gm, "$1")
-    .replace(/^[ \t]+(- \[)/gm, "$1")
-    .replace(/^[ \t]+(- \*\*\[)/gm, "$1")
-    .replace(/^[ \t]+(\d+\. \*\*\[)/gm, "$1")
-    .replace(/\n{3,}/g, "\n\n")
-    .trim();
+  return protectedCode
+    .restore(
+      unescaped
+        .replace(/^[ \t]+(#{3,4} )/gm, "$1")
+        .replace(/^[ \t]+(- \[)/gm, "$1")
+        .replace(/^[ \t]+(- \*\*\[)/gm, "$1")
+        .replace(/^[ \t]+(\d+\. \*\*\[)/gm, "$1")
+        .replace(/\n{3,}/g, "\n\n"),
+    )
+    .trim();

Since the fenced-code placeholder token never matches #{3,4} , - [, - **[, or \d+. **[, running dedent before restore is safe for genuine headings/lists and eliminates the corruption risk for fence content.

🤖 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/llm-markdown.ts` around lines 699 - 708, Update the
transformation chain around protectedCode.restore so all dedent and
consecutive-blank-line replacements run on the still-protected placeholder
content, then invoke protectedCode.restore last. Preserve the existing unescaped
restoration and replacement patterns while ensuring fenced-code contents remain
opaque until every regex has completed.
🤖 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/`(index)/getting-started.mdx:
- Around line 42-44: Persist deployment environment variables before the
follow-on deployment guidance: in
apps/docs/content/docs/(index)/getting-started.mdx at lines 42-44, add a project
environment setup step or link to the environment-variable documentation between
the initial deploy and the “keep deploying/connect GitHub” instruction; apply
the same change in apps/docs/content/docs/guides/next/frameworks/nestjs.mdx at
line 32. Ensure both guides explain that --env .env is only a one-off deploy
input.

---

Outside diff comments:
In `@apps/docs/src/lib/llm-markdown.ts`:
- Around line 699-708: Update the transformation chain around
protectedCode.restore so all dedent and consecutive-blank-line replacements run
on the still-protected placeholder content, then invoke protectedCode.restore
last. Preserve the existing unescaped restoration and replacement patterns while
ensuring fenced-code contents remain opaque until every regex has completed.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b2108b9e-1c86-4208-8a72-262364dbc5fc

📥 Commits

Reviewing files that changed from the base of the PR and between 73fc18d and b232dac.

📒 Files selected for processing (14)
  • apps/docs/content/docs/(index)/getting-started.mdx
  • apps/docs/content/docs/(index)/index.mdx
  • apps/docs/content/docs/(index)/next/getting-started.mdx
  • apps/docs/content/docs/(index)/next/index.mdx
  • apps/docs/content/docs/(index)/prisma-orm/quickstart/prisma-postgres.mdx
  • apps/docs/content/docs/guides/next/frameworks/astro.mdx
  • apps/docs/content/docs/guides/next/frameworks/elysia.mdx
  • apps/docs/content/docs/guides/next/frameworks/hono.mdx
  • apps/docs/content/docs/guides/next/frameworks/nestjs.mdx
  • apps/docs/content/docs/guides/next/frameworks/nextjs.mdx
  • apps/docs/content/docs/guides/next/frameworks/nuxt.mdx
  • apps/docs/content/docs/guides/next/frameworks/sveltekit.mdx
  • apps/docs/content/docs/guides/next/frameworks/tanstack-start.mdx
  • apps/docs/src/lib/llm-markdown.ts
🚧 Files skipped from review as they are similar to previous changes (10)
  • apps/docs/content/docs/guides/next/frameworks/tanstack-start.mdx
  • apps/docs/content/docs/(index)/next/getting-started.mdx
  • apps/docs/content/docs/guides/next/frameworks/hono.mdx
  • apps/docs/content/docs/guides/next/frameworks/sveltekit.mdx
  • apps/docs/content/docs/guides/next/frameworks/elysia.mdx
  • apps/docs/content/docs/(index)/index.mdx
  • apps/docs/content/docs/(index)/next/index.mdx
  • apps/docs/content/docs/guides/next/frameworks/nextjs.mdx
  • apps/docs/content/docs/guides/next/frameworks/nuxt.mdx
  • apps/docs/content/docs/guides/next/frameworks/astro.mdx

Comment thread apps/docs/content/docs/(index)/getting-started.mdx Outdated
…e wrap for prompts

- Replace every Font Awesome icon in the getting-started components with
  lucide equivalents: fa-sparkles is not in the loaded FA set, which left
  the default AgentPrompt tile and the hero badge with empty boxes. The
  badge, tab icons, copy/check, chevrons, and arrows now render from
  lucide-react like the rest of the page's icons.
- orm/index: move the "Prisma 7 Connection Requirements" heading out of
  the callout body into the :::note[...] title, so the icon aligns with
  the title line and the h3 no longer leaks into the TOC.
- AgentPrompt expanded body wraps like the hero prompt ([&_pre]:w-full +
  pre-wrap) instead of a 2000px-wide horizontal scroll on mobile.
- Verified at 390px: no horizontal overflow with the disclosure open and
  prompts expanded; header rows wrap cleanly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ankur-arch

Copy link
Copy Markdown
Contributor Author

Icon + admonition + mobile fixes (287bca4)

  • Missing icons: fa-sparkles isn't in the Font Awesome set the docs app loads, so the default AgentPrompt tile and the "Recommended path" badge rendered empty boxes. All icons in the getting-started components now come from lucide-react (Sparkles, Terminal, Copy/Check, ArrowRight, chevrons), matching the lucide icons already used across the page — verified rendering on the landing, tutorial, and guide pages, desktop and mobile.
  • Admonition: the "Prisma 7 Connection Requirements" note on /orm used an ### heading inside the callout body, which broke icon/title alignment (and leaked an h3 into the TOC). It now uses the :::note[title] syntax; icon and title sit on one line.
  • Mobile: expanded agent prompts now wrap like the hero prompt instead of forcing a ~2000px horizontal scroll; verified zero horizontal overflow at 390px with the disclosure open and prompts expanded, and prompt-row headers wrap cleanly.

🤖 Generated with Claude Code

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 27, 2026
- GetStartedTabs: both tab panels share a fixed height with internal
  scrolling, so AI Prompt <-> CLI switching no longer shifts the page;
  the prompt is always visible (no View prompt toggle) with the
  click-to-copy affordance kept, and the caption is a static footer
- AgentPrompt: expanded body is bounded (max-h + scroll) so View
  expands by a fixed amount instead of the full prompt height
- getting-started: note that --env .env is per-deployment and point to
  project env vars for persistence (CodeRabbit follow-up)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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/`(index)/getting-started.mdx:
- Line 44: Update the deployment instructions around the project env add command
to explicitly pass the dotenv file with the supported --file .env option, or
instruct users to export DATABASE_URL before running it; do not imply that --env
.env applies to this command.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 9a86ce91-27c7-4f51-b475-aa23a0de5205

📥 Commits

Reviewing files that changed from the base of the PR and between c029607 and e302bdb.

📒 Files selected for processing (2)
  • apps/docs/content/docs/(index)/getting-started.mdx
  • apps/docs/src/components/getting-started.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/docs/src/components/getting-started.tsx

Comment thread apps/docs/content/docs/(index)/getting-started.mdx Outdated
ankur-arch and others added 2 commits July 27, 2026 16:41
project env add with a bare KEY reads the shell environment, not .env;
--file .env imports the values the deploy step actually used.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 27, 2026
The hero prompt tab shows a clipped preview with a fade into a View
full prompt button; the full text opens in a native <dialog> overlay,
so reading a prompt never reflows the page. AgentPrompt rows reuse the
same modal for View. Prompt content stays mounted for crawlers, and
both hero tabs keep equal heights.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ankur-arch

Copy link
Copy Markdown
Contributor Author

@coderabbitai approve

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Comments resolved and changes approved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant