Show HN: NextBlock CMS – Open-source full-stack CMS for NextJS 16 and Supabase NextBlock CMS, an open-source, AI-native CMS for Next.js 16 and Supabase, launched on Hacker News, claiming 100% Lighthouse performance and native AI-readiness. The open-core product is free under AGPL, with premium features via license keys, and offers a CLI scaffold, a first-boot setup wizard, and Docker self-hosting. It targets developers seeking a high-performance alternative to WordPress and headless CMSs like Payload or Strapi. The AI-Native, Open-Core CMS for Next.js 16 Speed. Scalability. AI-Readiness coming soon . Build premium, high-performance websites in minutes, not months. 👉 View Live Demo Explore the admin dashboard in our public sandbox resets every 15 minutes . User: demo@nextblock.ca • Pass: password Tired of slow WordPress sites? Finding headless CMSs too complex? NextBlock™ is the sweet spot. We combined the flexibility of a Block Editor with the raw power of Next.js 16 Server Components . The result is a CMS that feels like a static site but manages like a dynamic platform. ⚡ 100% Lighthouse Performance : Built-in edge caching, image optimization, and zero layout shift. Speed is not a plugin; it's the default. 🤖 Built for AI Agents : Our codebase is documented and structured specifically to be easily read and extended by AI coding assistants. 🛍️ E-Commerce Ready : Premium commerce package for digital products, checkout providers, currency, tax, and shipping management. 🧱 Visual Block Editor : A reusable Tiptap-powered Notion-style editor that your clients will actually enjoy using. 🔓 Open-Core Model : The core is 100% Free & Open Source AGPL . Premium features are activated via License Keys. | Feature | NextBlock™ CMS | WordPress | Payload / Strapi | |---|---|---|---| Tech Stack | Next.js 16 + Supabase | PHP + MySQL | React / Node.js | Architecture | Nx Monorepo | Monolith | Monolith / Workspaces | Performance | 🟢 100/100 Default | 🔴 Bloated Plugins | 🟡 Spec-dependent | Security | 🔒 Static/Edge First | 🔓 Plugin vulnerabilities | 🔒 Secure | DX | 💎 React Server Components | 📜 Legacy PHP Hooks | 🧩 Config Heavy | AI Ready | ✅ Native | ❌ No | 🟡 Integration required | Stop cloning heavy repos. Start with our CLI and get a production-ready app instantly. npm create nextblock@latest This runs the create-nextblock CLI, which scaffolds the canonical application. The CLI no longer asks for credentials in the terminal — once the project is created, start it and finish setup in your browser: npm run dev then open http://localhost:4200/setup The First-Boot Setup Wizard at /setup walks you through connecting Supabase, configuring storage / email, and creating the first administrator. Every fresh instance redirects there automatically until an admin exists. Tip — keep the new repo public.When Vercel asks, leave"Create private Git Repository" unchecked. On the free Hobby plan, automatic upstream updates only deploy from apublicrepo — Hobby blocks bot-authored deploys on private repos — and public also makes update checks fully tokenless. You can change visibility later in the repo's GitHub settings if you change your mind. Details: docs/13 . During import, Vercel's native Supabase Marketplace integration the stores button parameter prompts you to create a Supabase database name + region , then provisions it, connects it to the project, and injects its keys before the first build — you never copy a value, and there are no environment variables to fill in the site URL defaults to your .vercel.app URL and the app secrets are derived automatically . The app boots with the database already connected: the wizard auto-skips the connection step, applies the schema for you, uses the connected Supabase project for media storage, and leaves just "create your admin." Full walkthrough: docs/12-VERCEL-DEPLOYMENT.md /nextblock-cms/nextblock/blob/master/docs/12-VERCEL-DEPLOYMENT.md . Want a fully local, zero-config sandbox?UseLocal Self-Hosted Docker Mode— one command spins up the entire stack Supabase engines + S3 storage + the app on your own machine, withno cloud accounts. The app boots straight into the /setup wizard with MinIO storage pre-filled. See docs/11-SELF-HOSTED-DOCKER.md . Note:You are currently looking at theNx Monorepo The Factory , not the generated product template.NextBlock™ is an Nx monorepo for a Next.js 16 CMS backed by Supabase. The repo contains the canonical application, the create-nextblock CLI, shared editor and UI packages, the database and migration layer, and the premium ecommerce module. apps/nextblock : canonical public site and CMS application apps/create-nextblock : scaffolding CLI and template sync pipeline libs/db : Supabase clients, package activation checks, migrations, and db types libs/editor : reusable Tiptap editor package libs/ecommerce : premium commerce package and CMS commerce screens libs/sdk : typed block extensibility contract libs/ui , libs/utils : shared primitives and helpers Prerequisites — create these three things first; npm run setup will ask for their keys: Supabase project dashboard https://supabase.com/dashboard — you'll need the Reference ID Project Settings → General , the connection string Connect → Direct connection → URI , the anon + service role keys Project Settings → API Keys , and a Personal Access Token Account → Access Tokens → Generate new token . Cloudflare R2 bucket dashboard https://dash.cloudflare.com → R2 — create a bucket, enable its Public Development URL Bucket → Settings → General , then create an Account API token R2 → Manage API Tokens with Object Read & Write . Copy the Access Key ID and Secret Access Key — the secret is shown only once. SMTP credentials SMTP2GO https://www.smtp2go.com works very well — required so Supabase can email the confirmation link your first admin needs to sign in. Then run: git clone https://github.com/nextblock-cms/nextblock.git cd nextblock npm install npm run setup npx nx serve nextblock The interactive setup wizard writes your .env.local Supabase, R2, SMTP, and auto-generated secrets , links the Supabase CLI, and applies the database schema. First login: the dev server runs at http://localhost:4200 . Open /sign-up and create your account — the first account to register automatically becomes the ADMIN . Click the confirmation email or confirm the user in Supabase → Authentication → Users , then sign in to reach the CMS at /cms/dashboard .Prefer to run everything on your machine? With Docker Desktop running: git clone https://github.com/nextblock-cms/nextblock.git cd nextblock npm install npm run docker:setup or: npm run setup → pick "Local Self-Hosted Docker Mode" This builds and boots the full self-hosted stack Postgres + GoTrue + PostgREST + Kong, MinIO for media, and the app and applies migrations automatically — the only prompts are optional Turnstile and SMTP. The app runs at http://localhost:3000 and the first sign-up becomes ADMIN auto-confirmed, no email step . Manage it with npm run docker:up / docker:down / docker:logs . Full guide: docs/11-SELF-HOSTED-DOCKER.md /nextblock-cms/nextblock/blob/master/docs/11-SELF-HOSTED-DOCKER.md . npx nx serve nextblock - Start the local development server for the CMS npm run lint - Lint the monorepo npm run db:types - Generate Supabase types npm run db:migrate:check - Preview pending Supabase migrations safely npm run db:migrate / npm run db:push - Apply pending migration files only, without resets or sandbox seeding npm run db:migrate:repair-history:check - Preview baseline migration-history repair for existing live databases npm run generate:sandbox - Generate sandbox data npm run sandbox:reset - Reset the sandbox environment The root docs/ folder is the maintained reference set for both contributors and AI agents. The template docs are copied from the root docs through the sync pipeline, so this root docs set is the place to maintain first. | Document | Purpose | |---|---| | docs/02-ECOMMERCE-CAPABILITIES.md /nextblock-cms/nextblock/blob/master/docs/02-ECOMMERCE-CAPABILITIES.md docs/03-CMS-AND-EDITOR.md /nextblock-cms/nextblock/blob/master/docs/03-CMS-AND-EDITOR.md docs/04-DATABASE-AND-AUTH.md /nextblock-cms/nextblock/blob/master/docs/04-DATABASE-AND-AUTH.md docs/05-DEVELOPER-GUIDE.md /nextblock-cms/nextblock/blob/master/docs/05-DEVELOPER-GUIDE.md docs/06-CLI-AND-SCAFFOLDING.md /nextblock-cms/nextblock/blob/master/docs/06-CLI-AND-SCAFFOLDING.md create-nextblock , template sync, and generated-project behavior docs/07-BLOCK-SDK-AND-EXTENSIBILITY.md /nextblock-cms/nextblock/blob/master/docs/07-BLOCK-SDK-AND-EXTENSIBILITY.md docs/08-NEXTBLOCK-CORTEX-AI-ARCHITECTURE.md /nextblock-cms/nextblock/blob/master/docs/08-NEXTBLOCK-CORTEX-AI-ARCHITECTURE.md docs/09-LIVE-DRAFT-MODE.md /nextblock-cms/nextblock/blob/master/docs/09-LIVE-DRAFT-MODE.md docs/10-CUSTOM-BLOCKS.md /nextblock-cms/nextblock/blob/master/docs/10-CUSTOM-BLOCKS.md docs/11-SELF-HOSTED-DOCKER.md /nextblock-cms/nextblock/blob/master/docs/11-SELF-HOSTED-DOCKER.md docs/README.md /nextblock-cms/nextblock/blob/master/docs/README.md Under the hood note:The migration folder under libs/db/src/supabase/migrations is the best source of truth for current platform capabilities. Join the community and stay updated on the latest features. X Twitter : @NextBlockCMS https://x.com/NextBlockCMS LinkedIn: NextBlock™ https://www.linkedin.com/in/nextblock/ GitHub: nextblock-cms/nextblock https://github.com/nextblock-cms/nextblock Medium: @nextblockcms https://medium.com/@nextblockcms Dev.to: nextblockcms https://dev.to/nextblockcms Built with ❤️ by the NextBlock™ Team. Licensed under AGPLv3.