Skip to main content
The itemshop CLI ships in the @itemshop/sdk package (Node.js 20 or newer). You don’t need to install it globally — npx is enough. In a project that has the SDK in package.json, npx itemshop works without extra setup.

Commands

Global options: --shop <id>, --api-base <url> (default https://itemshop.dev), --profile <name>, -h, -v.
The production Storefront API rejects localhost, 127.0.0.1 and [::1] as Origin and returnUrl. During itemshop dev you read shop data normally, but test a full purchase on a preview (preview-<id>.itemshop.site) or a local backend install.

A typical flow

1

Create an API key

In the panel, under API keys, create a key with the site:read and site:write permissions. See API with a key.
2

Log in

The key goes to ~/.config/itemshop/config.json (mode 0600; %APPDATA%\itemshop on Windows). Passing --shop verifies the key against that shop.
3

Start a project or pull an existing one

4

Work locally

5

Deploy

If the shop has no site yet, deploy creates it on the first run.
Not uploaded: node_modules, .git, .itemshop, .env and .env.*, *.log, .DS_Store and cache folders (.vite, .turbo, .cache). The rest must fit the limits. The CLI picks the shop and key in this order: flags → environment variables → the project’s .itemshop/project.json → profile.

Environment variables

In CI (GitHub Actions)

.github/workflows/deploy.yml
A key with site:write can replace your shop’s site. Keep it in CI secrets, never in the repository. If it leaks, revoke it in the panel.

itemshop pull and the AI editor

The AI editor and the CLI work on the same project. If you change the site in both places, run itemshop pull before working locally and deploy from the up-to-date version — otherwise you overwrite changes made in the panel (they stay in the revision history).

TypeScript SDK

Storefront, React and the API client.

Build & hosting

What happens after deploy.