cartwright
Getting started

CLI Options

All flags accepted by create-cartwright.

create-cartwright is the public scaffolder for Cartwright sites and shops. Use @latest for the current stable CLI; its default template channel remains pinned to a tagged engine release.

FlagDefaultWhat it does
--yes, -yfalseSkip prompts and use defaults. It never creates a remote GitHub repository unless --github is also explicit.
--profile <light|full|site>lightlight (default) keeps the database-backed site/shop engine; full keeps every module; site is a plain website — no database, admin, auth or commerce, zero env vars, plain next build.
--with <module>contact-form for siteOptional site-profile module. Pass --with none for the bare site; this flag is rejected for light/full.
--template <name>website-corporate (light/site), generic (full)Starting mode and seed preset: generic, website-corporate, coffee, sunglasses, or agent-marketplace. Agent marketplace requires full; site requires website-corporate.
--db <turso|postgres|sqlite>tursoDatabase guidance for light/full. Site has no database and ignores this flag.
--ai, --no-aiprompt (true with --yes)Include or omit the AI integration hint. Site has no AI runtime surface.
--ref <stable|next|tag|branch>stableEngine channel. Stable resolves to the tagged release baked into that CLI build; next resolves to the public development branch.
--look <url>—Apply a public Cartwright look after scaffold. Database-backed palette/scene parts require a prepared light/full database.
--pm <pnpm|npm|yarn|bun>auto-detectOverride the package manager used for dependency install.
--start, --no-startprompt in interactive runsStart the dev server after a successful scaffold. --yes and non-TTY runs never start it implicitly.
--githubfalseExplicitly create and push a private GitHub repository using gh.
--no-githubfalseDo not offer GitHub publishing.
--no-installfalseSkip dependency installation after the template is downloaded.
--no-gitfalseSkip git init, git add -A, and the initial commit.
--skip-skillsfalseSkip optional agent-skill setup.
--no-telemetryfalseSkip the anonymous scaffold event; CARTWRIGHT_TELEMETRY=0 and DO_NOT_TRACK=1 are also honored.
--help, -h—Print the CLI's authoritative current help.
--version, -v—Print create-cartwright <version> and exit. An unknown flag prints one line and exits 2.

Every profile also gets .github/workflows/ci.yml and .github/dependabot.yml, written by the CLI (under --no-git too) and inert until GitHub hosts the repository. From then on Dependabot opens update PRs weekly: for npm, Next.js with React in one and every other minor or patch bump in another, majors left to you; for the actions in ci.yml, one more, majors included. It groups security fixes into one PR once Dependabot security updates is on in the repository's settings.

Which profile?

You are buildingFlagRunbook
a page or a plain website — no database, no login--profile siteBuild a plain website
a website someone edits in a browser, or a webshop(default) --profile lightQuick Start
everything the engine ships, incl. the agent marketplace--profile fullthis page

The profile is the first of three choices; the build method and the origin (a URL, Shopify, WordPress/WooCommerce, a CSV, a Google Doc) can force it — the Shopify importer needs full, every database-backed origin needs the default, and there is no dedicated WordPress/WooCommerce importer yet. Choose your path works five requests through.

A plain website (no database):

npx create-cartwright@latest my-site --yes --profile site
# bare core without the default contact form:
npx create-cartwright@latest my-site --yes --profile site --with none

A database-backed shop with a seeded catalogue:

npx create-cartwright@latest my-shop --yes --profile light --template coffee --db=sqlite --pm=pnpm

The CLI help is the source of truth for the installed version:

npx create-cartwright@latest --help

Marketplace subcommands

Inside a scaffolded project, the cartwright CLI can pull individual designs and Voices from the marketplace into your repo:

# Install a design pack (a Skin) — see /designs for the catalogue
npx cartwright design install <slug>     # e.g. apex, halo, jungle

# Install a Voice (a vertical preset) — see /verticals
npx cartwright vertical install <slug>   # e.g. kindergarten, carpenter, cafe

Both resolve a template ref. By default they use stable, which maps to the current DEFAULT_REF (the latest engine release); pass --ref next to track the development branch, or --ref vX.Y.Z to pin a tag:

npx cartwright design install apex --ref next

Each command scaffolds the pack into designs/<slug>/ (or verticals/<slug>/) and registers it, so you can select it in /admin/designs (or apply it from /admin/verticals) right away.

On this page