Skip to content

About

Payload CMS plugins by napolab — Cloudflare Access authentication and more

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

payload-plugins

Payload CMS plugins by napolab, published as separate npm packages.

Package Description
@napolab/payload-cloudflare-access Sign Payload admin users in with Cloudflare Access instead of passwords.
@napolab/cloudflare-access-core Framework-agnostic Cloudflare Access JWT helpers (no Payload dependency).

Claude Code skills

This repository is also a Claude Code plugin marketplace. The payload-cloudflare-access plugin ships skills that set up @napolab/payload-cloudflare-access in a Payload project and verify Access tokens with @napolab/cloudflare-access-core.

/plugin marketplace add napolab/payload-plugins
/plugin install payload-cloudflare-access@napolab-payload-plugins
Skill Use
setup-payload-cloudflare-access Install and configure cloudflareAccessPlugin, Access application / env vars, profile sync, debug.
cloudflare-access-core Verify Access JWTs in Workers, Hono or Next.js middleware, read custom claims, fetch get-identity.

The marketplace lives in .claude-plugin/marketplace.json and the plugin in plugins/payload-cloudflare-access. Validate changes with claude plugin validate ..

Development

Tooling is pinned with mise (Node 24, pnpm 10).

mise install
pnpm install
pnpm exec playwright install chromium # once, for the browser test project

pnpm lint       # oxfmt --check + oxlint
pnpm fmt        # oxfmt --write + oxlint --fix
pnpm typecheck  # tsgo
pnpm test       # vitest (unit: node, browser: Playwright Chromium)
pnpm build      # swc + tsgo declarations into packages/*/dist

During development, each package's exports point at src/*.ts. publishConfig.exports swaps them for dist/*.js + dist/*.d.ts when the package is packed (pnpm pack / pnpm publish).

Releasing

Releases use Changesets.

  1. Add a changeset with pnpm changeset in your PR.
  2. On main, the Release workflow opens a "Version Packages" PR.
  3. Merging that PR publishes the bumped packages to npm.

Publishing uses npm trusted publishing (GitHub OIDC, with provenance). There is no NPM_TOKEN secret.

Important

npm only lets you configure a trusted publisher for a package that already exists. Publish the first version of each package manually (pnpm build && cd packages/<name> && pnpm publish --access public), then add napolab/payload-plugins + release.yml as the trusted publisher on npmjs.com for each package.

License

MIT

About

Payload CMS plugins by napolab — Cloudflare Access authentication and more

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages