Skip to main content

vendure-cli

Use the Vendure CLI (`vendure`) to scaffold, run, build, migrate and maintain a Vendure ecommerce project. Use whenever working inside a Vendure project that needs a dev server, a production build, database migrations, plugin/entity/service scaffolding, GraphQL schema generation, diagnostic checks, or codemods.

Informations de source

Dépôt
vendurehq/vendure
Dernière activité de la source
8 octobre 2026 à 06:44
Langue détectée de SKILL.md
anglais
Étoiles
8 521
Forks
1 521

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
10 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
vendure-cli
description
Use the Vendure CLI (`vendure`) to scaffold, run, build, migrate and maintain a Vendure ecommerce project. Use whenever working inside a Vendure project that needs a dev server, a production build, database migrations, plugin/entity/service scaffolding, GraphQL schema generation, diagnostic checks, or codemods.
allowed-tools
Bash, Read, Edit, Glob, Grep
# Vendure CLI The Vendure CLI (`@vendure/cli`, binary `vendure`) drives the full lifecycle of a Vendure project. Use it instead of hand-writing boilerplate or guessing build and migration commands. ## Detecting a Vendure project Run CLI commands from a Vendure server package root, or from a monorepo root that contains a Vendure package under `packages/`, `apps/`, `libs/`, `services/`, or `modules/`. `dev`, `build`, and `start` resolve the project directory from the current working directory if it contains `@vendure/core`, or by scanning those monorepo package directories. `add`, `migrate`, `schema`, and config-dependent `doctor` checks analyze the TypeScript project from `process.cwd()` and require a `tsconfig*.json` there, so do not assume they work from arbitrary nested subdirectories. ## Running the CLI `@vendure/cli` is normally a project dependency, so run it through the project's package manager — do **not** assume `npx`. Detect the package manager from the lockfile in the project root or workspace root and use the matching runner: | Lockfile in project root | Package manager | Run the CLI with | | ------------------------ | --------------- | ----------------------------- | | `bun.lock` / `bun.lockb` | bun | `bunx vendure <command>` | | `pnpm-lock.yaml` | pnpm | `pnpm exec vendure <command>` | | `yarn.lock` | yarn | `yarn vendure <command>` | | `package-lock.json` | npm | `npx vendure <command>` | | none found | npm (fallback) | `npx vendure <command>` | If `@vendure/cli` is installed globally, call `vendure <command>` directly. List all commands with `vendure --help`. The `commands/*.md` reference files write examples with a bare `vendure …` — prefix each one with the runner for the detected package manager. Note: CLI scaffolding that installs packages currently detects `yarn.lock`, `package-lock.json`, and `pnpm-lock.yaml` internally, then falls back to npm. It does not use Bun for those generated dependency installs. ## Commands | Command | Use it to… | Reference | | --------- | --------------------------------------------------------- | --------------------- | | `dev` | Run server + worker + dashboard in development mode | `commands/dev.md` | | `build` | Compile the project for production | `commands/build.md` | | `start` | Run an already-built project | `commands/start.md` | | `add` | Scaffold a plugin, entity, service, API extension, etc. | `commands/add.md` | | `migrate` | Generate, run or revert database migrations | `commands/migrate.md` | | `schema` | Generate a GraphQL schema file from the Admin/Shop API | `commands/schema.md` | | `doctor` | Diagnose project, dependency, config, schema and DB health | `commands/doctor.md` | | `codemod` | Run automated code transforms (e.g. UI migrations) | `commands/codemod.md` | | `plugins` | List / enable / disable CLI plugins for the project | `commands/plugins.md` | To diagnose a broken project, use the `vendure-troubleshooting` skill (`skills/vendure-troubleshooting/`). Installed **CLI plugins** (packages that declare `vendure.cliPlugin`) may add commands or replace built-ins such as `dev`. Prefer `vendure --help` in the project to see the effective command set. See the developer CLI guide section “Extending the CLI”. ## Critical rules for agents 1. **Never hardcode `npx`.** Resolve the runner from the project's lockfile — see "Running the CLI" above (`bunx`, `pnpm exec`, `yarn`, `npx`). 2. **Prompt-capable commands (`add`, `migrate`, `schema`, `codemod`, `plugins`) need explicit flags/arguments from agents.** Run them with explicit inputs so they take the non-interactive path; otherwise the process rejects prompt-only invocations in non-interactive environments. Set `VENDURE_CLI_NON_INTERACTIVE=true` when calling the CLI from an agent so prompt-only invocations fail fast with examples instead of waiting on a terminal prompt. The exact non-interactive flags are in each command's reference file. For CLI plugins use `vendure plugins --json` / `vendure plugins add <pkg>` / `vendure plugins remove <pkg>` — there is no blanket-approve flag. 3. **`dev`, `start`, and `build --watch` are long-running processes.** Do not run them just to "check" something. Run them only when the user asks, and prefer running them in the background. 4. **Production-only installs may not include `@vendure/cli`.** Generated apps keep the CLI as a dev dependency, so after pruning dev dependencies, start compiled server/worker entrypoints with `node ./dist/...` or make the CLI a production dependency explicitly. 5. **Read the relevant `commands/*.md` file before building a command.** Valid targets and flags differ per command (e.g. `start` has no `dashboard` target; `--inspect` only applies to `dev`).
Voir sur GitHub