Skip to content
Guides

Installation

Create an Ecomiq storefront in minutes with create-ecomiq.

Last updated:

Requirements

  • Node.js 20 or later
  • An active Ecomiq store (slug or domain, e.g. marketplace or store.com)

Create the project

npm create ecomiq@latest

You can also pass the directory:

npx create-ecomiq@latest my-store

The wizard asks for:

  1. Project name — destination folder
  2. Domain — store slug or domain; validated against the Storefront API before continuing
  3. Package manager — npm, pnpm, yarn, or bun

If the domain is valid, you see the store name and scaffolding continues. If it does not exist, you get a clear error and can correct it.

The CLI always downloads the scaffold template (home, PLP, PDP, cart, login/register).

Start the store

cd my-store
npm run dev

Open http://localhost:3000. The CLI generates .ecomiq/ (SSR + HMR); do not commit it:

.gitignore
.ecomiq/

What you get:

ecomiq.config.js
package.json
layout.tsx

ecomiq.config.js already includes the domain you verified. Continue with configuration and the CLI.

Non-interactive mode

Useful for CI or scripts. With --yes, --domain is required:

npx create-ecomiq@latest my-store \
  --domain marketplace \
  --pm pnpm \
  --yes
FlagDescription
--domainStore domain (x-Store-Domain)
--pmnpm | pnpm | yarn | bun
--yes / -ySkip prompts
--skip-installWrite files only; skip install

Manual installation

If you prefer to set up the project by hand (no scaffold):

npm install @ecomiq/storefront react react-dom
npm install --save-dev typescript @types/node @types/react @types/react-dom

React 19, "type": "module", and CLI scripts:

package.json
{
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "ecomiq dev",
    "build": "ecomiq build",
    "deploy": "ecomiq deploy",
    "clean": "ecomiq clean"
  }
}

Identify the store at the project root:

ecomiq.config.js
import { defineConfig } from "@ecomiq/storefront/config";

export default defineConfig({
  domain: "marketplace",
});

domain can be a slug (marketplace) or a domain (marketplace.ecomiq.app / marketplace.com).

Create at least one page:

pages/index.tsx
import { definePage } from "@ecomiq/storefront";

export default definePage({
  meta: () => ({ title: "Home" }),
  component: ({ settings }) => (
    <main>
      <h1>{settings.store.name}</h1>
      <p>{settings.store.description}</p>
    </main>
  ),
});

Then npm run dev or pnpm dev.

Scaffold vs CLI

create-ecomiq creates the project. The ecomiq CLI (shipped with @ecomiq/storefront) is what you use afterward: dev, build, deploy, and clean.

On this page