Skip to main content

Getting started

Prerequisites​

  • Node.js >= 18. The CLI is published as ESM; older runtimes won't start it.
  • npm (or any compatible package manager). Yarn / pnpm work for the generated shop; the CLI itself uses npm internally for the npm install step.
  • git is optional but recommended — the CLI runs git init + initial commit when present.

Scaffold a shop​

The fastest path:

npx @propeller-commerce/create-propeller-shop@latest my-shop \
--stack=next \
--mode=hybrid \
--cms=strapi \
--psp=mollie \
--spare-parts=no \
--yes

--psp picks the payment provider (mollie, multisafepay or none) — the other provider's package and route handlers are removed from the shop. --spare-parts=no drops the /machines section. Both are asked interactively when omitted; see the CLI reference.

--yes skips every interactive prompt by accepting the recommended default. Drop it (or omit individual flags) to get a guided flow with about ten prompts.

The result lands at ./my-shop/:

my-shop/
frontend/ # the runnable shop
cms/ # CMS backend (Strapi app) or connection notes; only with --cms

(public_html/ is not used — that segment was dropped in 0.3.2.)

Run the dev server​

cd my-shop/frontend
cp .env.example .env.local # fill in API URL + AUTH_SECRET + CMS_URL
npm run dev

The Next template serves at http://localhost:3000. The Vue template serves at http://localhost:5173.

Verify the shop is healthy​

# from inside frontend/ (or the shop root of a no-CMS shop)
npm run doctor

doctor re-reads the manifest at frontend/propeller.json and checks that:

  • The pinned packages are installed.
  • The env file sets the declared portal mode.
  • The B2B route tree exists if (and only if) the mode says it should.
  • CMS_PROVIDER selects the declared CMS adapter.

Green checks + zero red = healthy shop. See doctor for the full rule list and exit semantics.

  • CLI reference — every flag, every prompt, defaults per mode.
  • Shop modes — what changes when you flip --mode=b2b vs --mode=b2c vs --mode=hybrid.
  • Templates — what files come out of shop-next / shop-vue, and which ones are mode-specific.
  • CMS — the adapter pattern, Strapi setup, shops without a CMS.