Skip to Content
Delmare Digital

Installation

Requirements and install command for @delmaredigital/payload-puck.

Install the plugin together with Puck's core package. Coming from an earlier version? The upgrade guide lists the steps each breaking or security release needs.

npm i @delmaredigital/payload-puck @puckeditor/core @payloadcms/db-postgres

The quick start assumes an existing Payload app with its Next.js routes, @payload-config alias and admin layout. It uses Postgres and these environment variables:

.env
PAYLOAD_SECRET=replace-with-a-random-secret-at-least-32-characters
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/my-app

Merge its configuration with your app's existing collections and plugins.

Requirements

DependencyVersionPurpose
node≥ 20.9.0Runtime
@puckeditor/core≥ 0.24.0Visual editor core
payload≥ 3.69.0CMS backend
@payloadcms/next≥ 3.69.0Payload Next.js integration (optional peer)
@payloadcms/ui≥ 3.69.0Payload admin UI (optional peer)
@tailwindcss/postcss≥ 4.0.0Tailwind 4 PostCSS integration (optional peer)
next≥ 15.4.8React framework
react / react-dom≥ 19.2.1UI library
tailwindcss≥ 3.0.0 (or ≥ 4.0.0)Component and RichText styling (optional peer)
zod≥ 3.0.0Input schemas for AI tools (optional peer)

The AI and heading-analyzer Puck plugins (@puckeditor/plugin-ai, @puckeditor/cloud-client, @puckeditor/plugin-heading-analyzer) and the TipTap rich text editor ship as dependencies of this package, so you don't install them yourself.

Puck 0.21 moved from @measured/puck to @puckeditor/core. This plugin requires the new package scope.

Next.js security floor

If your app uses Next.js middleware (or proxy.ts) to protect dynamic routes, use next ≥ 15.5.16 / 16.2.5 to pick up the fix for CVE-2026-44574 (middleware bypass via dynamic route parameter injection). Turbopack users need ≥ 15.5.18 / 16.2.6.

Using payload-better-auth?

Any published version of @delmaredigital/payload-better-auth works, because its auth strategy stamps collection on the user, which is what the access checks need. 0.9.0 or later is recommended: it is the first release where the recommended payload.auth() wiring, combined with the request headers this plugin forwards into Payload, has no side effects for API-key requests. See custom API routes.

Next

Continue with the quick start.

Edit this page on GitHub

On this page