Cartwright vs create-next-app

Both are one-command Next.js scaffolds — the difference is what exists when the command finishes. create-next-app hands you a blank canvas: routing and tooling, no pages, no data layer, no admin. create-cartwright hands you a running product on the same stack. Two doors: npx create-cartwright@latest my-site --profile site is a plain website — designed pages, JSON-LD, sitemap, llms.txt, an OG image route, locale routing, a contact form; no database, no login, 20 runtime dependencies, plain next build. The default profile adds a Prisma database with seeded content, an admin with auth, optional cart/checkout and an AI tool surface your coding agent can drive. Start blank when the app is genuinely novel and you want zero opinions; start with Cartwright when the goal is a website or shop — you skip the first day (or two weeks) of plumbing and still own every line, because it is your repo either way.

DimensionCartwrightcreate-next-app
What exists after the commandA running site: design system, SEO/JSON-LD, locale routing — and, in the default profile, a seeded database, admin, auth and a webshop if you want it.A blank app directory with routing, TypeScript and Tailwind configured. Everything else is yours to build.
A single page or plain website--profile site: a designed, SEO-wired site with no database or login — ~22 s to scaffold and install, ~27 s to build, ~2 s to a rendered homepage (measured). A map, a timeline or a weather widget are components you write in either case.A blank route in seconds; layout, metadata, OG image, sitemap, locale routing, accessibility and security headers are the day that comes after.
StackNext.js 16 + React 19 + Tailwind v4 + Prisma + Stripe + NextAuth — pre-wired.Next.js + your choices; official, minimal, unopinionated.
FreedomOpinionated defaults you can rip out — it is a normal repo, not a framework on top.Total — no opinions to remove. This is its genuine strength for novel apps.
AI-agent readinessAgent rules files, an MCP server, a REST tool surface and plan-first admin tools ship in the box.The 16.3 next-dev-loop skill helps agents iterate, but there is no product surface to drive.
Time to a shippable website/shopMinutes (measured 99 s to a designed homepage with an AI agent).Days to weeks — auth, data, admin, checkout and SEO are all still ahead of you.
OwnershipMIT; your repo from the first commit.MIT; your repo from the first commit. Equal.

Frequently asked

Is create-cartwright built on create-next-app?
No — it scaffolds a complete open-source Next.js engine (Cartwright) from a template repo. The result is a normal Next.js 16 project you could have built from create-next-app, with the product layers already implemented.
When is create-next-app the better choice?
When you are building something that is not a website — a dashboard, an internal tool, a novel app — and you want zero opinions in the repo; blank is a feature there. And for a one-off page that needs neither design nor discovery, create-next-app is as fast to an empty route.
Is it faster than create-next-app for a single page?
Faster to a finished page, not to an empty one. create-next-app finishes in seconds and hands you a blank route; npx create-cartwright@latest my-site --profile site finishes in ~22 s and hands you a designed, SEO-wired site that builds in ~27 s — the same next build command in both. The time you save is the day that comes after create-next-app — layout, metadata, OG image, sitemap, locale routing, accessibility, security headers. What you do not save: a map, a timeline or a weather widget are components you write in either case.
Can I strip Cartwright back to almost-blank?
Yes — it is your repo, and the engine is flag- and module-gated. But if you know you want near-blank, start with create-next-app instead; Cartwright earns its weight when you use the product layers.

Try it in one command

npx create-cartwright@latest my-shop

MIT-licensed. Read the docs or see the full comparison hub.