# Overview

URL: /docs

A suite of composable @pro-laico/* plugins for Payload CMS. Each works standalone in any Payload + Next.js project.

**Payload Plugins** is a collection of composable [Payload CMS](https://payloadcms.com/)
plugins published under the `@pro-laico/*` scope. Each is an independent package you can
drop into any Payload + Next.js (App Router) project — add only the ones you need. They
peer on Payload `^3` and React 19, and ship in lockstep under one version.

> Payload Plugins is not affiliated with Payload CMS in any capacity.

## The plugins

- [payload-seed](/docs/plugins/payload-seed) — Type-safe database seeding — typed cross-file references, dependency ordering, media uploads, behind an ENABLE_SEED kill switch.

- [payload-images](/docs/plugins/payload-images) — On-demand image optimization — an Images collection that stores only the original, a Sharp transform endpoint with focal-aware cropping, a variant cache, and a responsive image component.

- [payload-icons](/docs/plugins/payload-icons) — SVG icons — an Icon collection that optimizes and sanitizes SVGs on save (svgo + currentColor theming) and a drop-in <Icon name> component that inlines the SVG.

- [payload-fonts](/docs/plugins/payload-fonts) — Custom self-hosted fonts — a Font typeface collection that subsets uploads to served WOFF2s, a fontSet global, and an export endpoint + CLI for next/font/local.

- [payload-mux](/docs/plugins/payload-mux) — Mux Video — a Videos collection that uploads straight to Mux, public or signed playback, virtual URLs, two-way delete, and an admin uploader.

- [payload-dev-tools](/docs/plugins/payload-dev-tools) — A utility to help you build Payload CMS projects faster: a floating dev toolbar, /dev pages inside your app, and a machine-readable app snapshot for AI agents.

## How they compose

Each plugin stands alone, but they're built to snap together — and
[`payload-seed`](/docs/plugins/payload-seed) is the connective tissue. Images, icons, and
font files seed natively as uploads; Mux clips seed through the same flow via a
`custom.seedAsset` marker the engine auto-discovers, so one set of `seed.ts` files
bootstraps a whole site's content — assets, cross-references, and all. The asset
collections share an **Assets** admin group, and no plugin imports another: composition
happens through plain Payload config —
[`payload-dev-tools`](/docs/plugins/payload-dev-tools) even discovers its siblings through
their config markers to power its diagnostics panels.

See it wired end-to-end in the
[example apps](https://github.com/pro-laico/payload-plugins/tree/main/examples):
[`service-co`](https://github.com/pro-laico/payload-plugins/tree/main/examples/service-co)
runs every plugin on one fictional studio site, and each content plugin has a focused
sandbox (`seed-sandbox`, `images-sandbox`, `icons-sandbox`, `fonts-sandbox`, `mux-sandbox`).

## Conventions

Every plugin follows the same shape: a `(opts) => (config) => config` factory exported
both as the default and a named export, zero-config by default, with the raw collections,
hooks, fields, and components also exported for advanced consumers.
