Skip to content

feat(blog): improve cover image generation and refresh blog artwork - #8156

Open
ankur-arch wants to merge 9 commits into
shane/launchfrom
ankur/editorial-covers
Open

feat(blog): improve cover image generation and refresh blog artwork#8156
ankur-arch wants to merge 9 commits into
shane/launchfrom
ankur/editorial-covers

Conversation

@ankur-arch

@ankur-arch ankur-arch commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

What changed

The cover-image skill is now an editorial art-direction system rather than a template filler, and every blog cover in the archive has been regenerated through it.

Skill upgrades (.claude/skills/content-create-hero-image/)

  • Article-message extraction runs before any drawing. The workflow now opens with "what is the most important idea in this article, and what visual best communicates it?" — a primary message, a core highlight ranked by kind (result, comparison, capability, mechanism, code pattern, architecture, concept), and a design brief with an explicit component, accent, gradient, and reserved empty space.
  • Cover titles are separate from article titles. Covers carry a derived 3–7 word editorial title, or no copy at all. Blog frontmatter titles are never changed to fit artwork.
  • A real component library (references/component-library.md): HeroChart, MetricComponent, ComparisonTable, CodeWindow, QueryPanel, ArchitectureFlow, DatabaseObject, PrismObject, GradientField, TypeMark, with an article→visual routing heuristic and calibration against the strongest developer-brand OG art.
  • A gradient/light system (references/gradient-system.md): spectral wash, radial bloom, product glow, prism/spectrum gradient, spectral edge, gradient beam, mesh field, aurora band, fade mask — each an SVG recipe on real eclipse tokens, with the "what is this light doing?" test replacing a blanket no-gradients rule.
  • Modular template families (assets/templates/): editorial, chart, code, table, flow, object, abstract. They share canvas, typography, tokens, primitive gradient defs, and the inlined lockup — not one composition.
  • Stronger design review (references/design-review.md): rebrand-corrected type and color categories plus new criteria for message fidelity, highlight discipline, gradient quality, accuracy, and editorial quality; every cover is reviewed at full size and at ~300px thumbnail size.
  • Batch tooling: scripts/validate-covers.sh (dimensions, size budget, embedded fonts, frontmatter wiring) and scripts/contact-sheet.sh (thumbnail contact sheets for whole-archive review).

Design approach

Each cover is now driven by the article's core message and strongest visual highlight rather than by a fixed layout. The routing heuristic is a starting point; the article's actual message overrides it. Composition follows one idea, one hero, one highlight, plenty of space — one dominant component, one light treatment, deliberate negative space, and a viewer who can find the point in under a second. Consistency across the archive comes from typography, prism color, paper surfaces, spacing, and restraint — deliberately not from a shared layout.

Competitive calibration informed the bar: the strongest developer-brand covers carry one or two elements, use an object bespoke to the article's idea, and never screenshot product UI. Dark is the crowd, so Prisma's light paper surface is treated as the differentiator.

Validation

  • 237 covers regenerated, one per blog post not already covered by Shane's rebrand pass; all 296 posts in apps/blog/content/blog now carry a current-brand cover.
  • Every cover was rendered through the committed pipeline (embed-fonts.py → headless-Chrome export-png.sh), opened as a raster, graded against the design-review categories, fixed worst-first, and re-rendered. The raster is the product; nothing shipped on "the SVG compiles".
  • validate-covers.sh apps/blog --all passes for all 296 posts: exact 1200×630 dimensions, embedded subset fonts, meta PNG under the 1 MB budget, and frontmatter wired to hero.svg/meta.png.
  • pnpm build in apps/blog compiles and prerenders all 671 pages (the search route needs MIXEDBREAD_API_KEY, a pre-existing requirement). Zero broken image references across all frontmatter paths.
  • Batch review: all regenerated covers were inspected together as 300px thumbnail contact sheets. That review found two real repetition problems — the prism-refraction motif had spread to 10 covers, and four headlines were duplicated across sibling posts. Thirteen covers were redesigned into distinct families in response; the motif is now used on 3 covers where refraction genuinely maps to the idea, and there are no duplicate headlines.

Component families used

Charts, single-metric compositions, comparison tables, code windows, query/trace panels, architecture flows, database objects, prism objects, gradient fields, and typography-led covers — plus bespoke one-off graphics where an article's idea deserved its own form (a freshness window, a scan-scope diagram, a hash-bucket, an origin boundary, a file tree).

Notes and limitations

  • Posts predating the current product lineup (GraphQL-era, Prisma 1, Accelerate, Data Platform) carry topic-label kickers and a single concept-chosen prism accent rather than a current product accent, so no cover retro-claims a product that did not exist when the post was written.
  • Where an article has no numbers, no chart was drawn — several routing hints suggesting charts were overridden for exactly this reason rather than inventing data.
  • Legacy hashed image files are left in place, since post bodies still reference some of them.
  • Frontmatter changes are limited to heroImagePath, metaImagePath, and heroImageAlt. No titles, slugs, dates, or body content were modified.

Dependency

This PR is stacked on top of Shane's PR: #8142

Its base branch is shane/launch. It contains no duplicate of Shane's changes.

ankur-arch and others added 6 commits August 20, 2026 15:16
Message-first workflow (extract primary message + core highlight before any
drawing), derived cover titles separate from article titles, component
library (chart/metric/table/code/query/flow/object/prism/field/type) with
article-to-visual routing, gradient/light system with SVG recipes on the
eclipse spectrum tokens, modular template families, batch distribution +
contact-sheet review, and rebrand-corrected design-review criteria.

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

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Each cover derives from its article's core message and strongest visual
highlight, routed to a component family with one light treatment.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
embed-fonts.py collected glyphs with a regex that only matched a text run
immediately followed by a closing tag, so any run preceding a nested tspan
fell out of the subset and Chrome rendered it in a fallback serif - silent,
visible only in the raster. Flatten tspans before collecting, and decode
entities. Twelve affected covers re-embedded and re-exported.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 20, 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 Aug 20, 2026 6:46pm
docs Ready Ready Preview Aug 20, 2026 6:46pm
eclipse Ready Ready Preview Aug 20, 2026 6:46pm
site Ready Ready Preview Aug 20, 2026 6:46pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 246 files, which is 96 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to Pro+ to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d3a098ec-55c3-4607-946e-0bf76f6718b7

📥 Commits

Reviewing files that changed from the base of the PR and between e1dbbb2 and 0887b19.

⛔ Files ignored due to path filters (481)
  • .claude/skills/content-create-hero-image/assets/templates/abstract.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/chart.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/code.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/editorial.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/flow.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/object.svg is excluded by !**/*.svg
  • .claude/skills/content-create-hero-image/assets/templates/table.svg is excluded by !**/*.svg
  • apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/accelerate-ipv6-first/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-ipv6-first/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/accelerate-static-ip-support/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-static-ip-support/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/aws-marketplace/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/aws-marketplace/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/bfg/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/bfg/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/compliance-reqs-complete/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/compliance-reqs-complete/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/convergence/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/convergence/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/data-platform-static-ips/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/data-platform-static-ips/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/esop-exercise-windows/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/esop-exercise-windows/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-platform-environments/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-platform-environments/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/introducing-prisma-nuxt/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/labelbox-simnycbotiok/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/make-your-applications-fast-globally/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/operations-based-billing/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/operations-based-billing/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-6-8-0-release/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-6-8-0-release/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-6-9-0-release/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-6-9-0-release/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-insider-program/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-insider-program/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-optimize-early-access/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-optimize-early-access/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-manifesto/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-manifesto/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-startup-program/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-startup-program/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/why-prisma-2024/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/why-prisma-2024/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png is excluded by !**/*.png
  • apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg is excluded by !**/*.svg
  • apps/blog/public/working-with-data-in-large-teams/imgs/meta.png is excluded by !**/*.png
📒 Files selected for processing (246)
  • .claude/skills/content-create-hero-image/README.md
  • .claude/skills/content-create-hero-image/SKILL.md
  • .claude/skills/content-create-hero-image/assets/tokens.json
  • .claude/skills/content-create-hero-image/references/component-library.md
  • .claude/skills/content-create-hero-image/references/design-review.md
  • .claude/skills/content-create-hero-image/references/design-system.md
  • .claude/skills/content-create-hero-image/references/gradient-system.md
  • .claude/skills/content-create-hero-image/scripts/contact-sheet.sh
  • .claude/skills/content-create-hero-image/scripts/embed-fonts.py
  • .claude/skills/content-create-hero-image/scripts/validate-covers.sh
  • apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx
  • apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
  • apps/blog/content/blog/accelerate-ipv6-first/index.mdx
  • apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
  • apps/blog/content/blog/accelerate-static-ip-support/index.mdx
  • apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx
  • apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
  • apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
  • apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
  • apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
  • apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
  • apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
  • apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx
  • apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx
  • apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
  • apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx
  • apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx
  • apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
  • apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx
  • apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx
  • apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx
  • apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx
  • apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
  • apps/blog/content/blog/aws-marketplace/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
  • apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
  • apps/blog/content/blog/bfg/index.mdx
  • apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx
  • apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
  • apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx
  • apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx
  • apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
  • apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
  • apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx
  • apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
  • apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx
  • apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
  • apps/blog/content/blog/compliance-reqs-complete/index.mdx
  • apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx
  • apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
  • apps/blog/content/blog/convergence/index.mdx
  • apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
  • apps/blog/content/blog/data-platform-static-ips/index.mdx
  • apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
  • apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
  • apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx
  • apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
  • apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
  • apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx
  • apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
  • apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
  • apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
  • apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
  • apps/blog/content/blog/esop-exercise-windows/index.mdx
  • apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx
  • apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx
  • apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx
  • apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx
  • apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx
  • apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx
  • apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx
  • apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx
  • apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx
  • apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx
  • apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx
  • apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx
  • apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx
  • apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx
  • apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx
  • apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx
  • apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx
  • apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx
  • apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx
  • apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx
  • apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx
  • apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx
  • apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx
  • apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx
  • apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx
  • apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx
  • apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx
  • apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx
  • apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx
  • apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx
  • apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx
  • apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx
  • apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx
  • apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx
  • apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx
  • apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx
  • apps/blog/content/blog/introducing-platform-environments/index.mdx
  • apps/blog/content/blog/introducing-prisma-nuxt/index.mdx
  • apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx
  • apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx
  • apps/blog/content/blog/labelbox-simnycbotiok/index.mdx
  • apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx
  • apps/blog/content/blog/make-your-applications-fast-globally/index.mdx
  • apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx
  • apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx
  • apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx
  • apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx
  • apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx
  • apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx
  • apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx
  • apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx
  • apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx
  • apps/blog/content/blog/operations-based-billing/index.mdx
  • apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx
  • apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx
  • apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx
  • apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx
  • apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx
  • apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx
  • apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx
  • apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx
  • apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx
  • apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx
  • apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx
  • apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx
  • apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx
  • apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx
  • apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx
  • apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx
  • apps/blog/content/blog/prisma-6-8-0-release/index.mdx
  • apps/blog/content/blog/prisma-6-9-0-release/index.mdx
  • apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx
  • apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx
  • apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx
  • apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx
  • apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx
  • apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx
  • apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx
  • apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx
  • apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx
  • apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx
  • apps/blog/content/blog/prisma-insider-program/index.mdx
  • apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx
  • apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx
  • apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx
  • apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx
  • apps/blog/content/blog/prisma-optimize-early-access/index.mdx
  • apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx
  • apps/blog/content/blog/prisma-orm-manifesto/index.mdx
  • apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx
  • apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx
  • apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx
  • apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx
  • apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx
  • apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx
  • apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx
  • apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx
  • apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx
  • apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx
  • apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx
  • apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx
  • apps/blog/content/blog/prisma-startup-program/index.mdx
  • apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx
  • apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx
  • apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx
  • apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx
  • apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx
  • apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx
  • apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx
  • apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx
  • apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx
  • apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx
  • apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx
  • apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx
  • apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx
  • apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx
  • apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx
  • apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx
  • apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx
  • apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx
  • apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx
  • apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx
  • apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx
  • apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx
  • apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx
  • apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx
  • apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx
  • apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx
  • apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx
  • apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx
  • apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx
  • apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx
  • apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx
  • apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx
  • apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx
  • apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx
  • apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx
  • apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx
  • apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx
  • apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx
  • apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx
  • apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx
  • apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx
  • apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx
  • apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx
  • apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx
  • apps/blog/content/blog/why-prisma-2024/index.mdx
  • apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx
  • apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx
  • apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx
  • apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx
  • apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx
  • apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx
  • apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx
  • apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx
  • apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx
  • apps/blog/content/blog/working-with-data-in-large-teams/index.mdx

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ankur-arch and others added 2 commits August 20, 2026 18:31
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Whole-archive contact-sheet review found the prism-refraction motif used on
ten covers and four duplicated headlines. Redesigned thirteen covers into
distinct component families so cohesion comes from type, color, surface and
restraint rather than a shared composition.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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