The Codeware Sthlm platform monorepo — a multi-tenant Payload CMS in production,
and the Nx tooling that builds and ships it.
Three things live here, at different levels of maturity:
- The platform — a multi-tenant CMS built on Payload v3 and Next.js, serving tenant sites and their admin from one app. Custom domains with automated certificate issuance, per-tenant content scoping, forms, bookings and a themed admin.
@cdwr/nx-payloadandcreate-nx-payload— published Nx plugins that add Payload support to any Nx workspace. Developed here, against the platform that actually uses them.- The delivery pipeline — release-driven deploys to Fly.io, where an app ships when its conventional commits produce a version bump. Per-pull-request preview environments, and the internal GitHub Actions that drive them.
Add support for Payload in your existing Nx workspace.
npx add @cdwr/nx-payloadQuickly create a new Nx workspace with a Payload application, using the plugin as a preset.
npx create-nx-payloadA set of internal actions drives this repository's own delivery pipeline — gating,
image build, deploy, preview teardown, PR status and automatic Nx migrations. They are
consumed locally via uses: ./packages/<name> and are not published to npm or the GitHub
Marketplace; a GitHub Action is not installable from npm.
Fly CLI node wrapper for programmatic deployments to Fly.io.
Local setup, the CMS host/tenant modes, database and seed commands, dev email and the admin import-map rule are documented in CLAUDE.md, which is kept current as the workspace changes. It is the single source for how to run things here — this file deliberately does not repeat it.
Interactive CLIs for managing deployments and workspace configuration:
pnpm cdwrReleases are cut from a developer's machine; GitHub Actions publishes to npm on the resulting tags.
nx release-cliApplications deploy to Fly.io from GitHub Actions, for both single-tenant and multi-tenant setups. The pipeline detects affected applications with Nx, resolves the target environment, and deploys production on merge or an isolated preview environment per pull request.
