$ ps-lando

Welcome

ps-lando spins up a full PrestaShop sandbox — open to any theme — in one command.

ps-lando is a zero-config CLI for local PrestaShop development. Drop any theme zip into a folder, run one command, and you have a working sandbox. It wraps Lando (which wraps Docker) and adds the pieces every PrestaShop developer actually needs — open to any theme, with a bundled panda preset for Panda shops:

  • Open to any theme — auto-detects the theme from theme.yml in any zip you drop in cwd. No theme-specific binary.
  • Downloads PrestaShop from the official CDN (PS 9.x) or GitHub Releases (PS 8.x).
  • Extracts the theme zip and copies all module zips alongside it.
  • Runs the PrestaShop CLI installer with sensible defaults.
  • Installs every module in dependency-aware parallel batches.
  • Auto-loads the bundled panda preset when a panda*.zip is detected — backwards-compatible Panda + Easy Builder behavior.
  • Optionally runs hook scripts and bundled recipes (now with PS_LANDO_THEME_NAME, PS_LANDO_PRESETS, and a JSON resolved-plan in env).
  • Optional pslando.config.json (via ps-lando init) for explicit, repeatable behavior.
  • Full sandbox lifecycle commands: db reset, db dump, db restore, doctor.

If you've ever spent an afternoon installing PrestaShop, dragging zips, configuring Lando, and re-installing modules one by one — ps-lando is for you.

Get started

Compatibility

ps-lando is validated against:

  • PrestaShop 8.2.x — via GitHub Releases zip.
  • PrestaShop 9.0.x — via the official CDN (expected OK; not directly tested).
  • PrestaShop 9.1.x — via the official CDN.

Both branches with Panda theme + Easy Builder + 56 st* modules.

See the Compatibility matrix for the full breakdown.

Why ps-lando exists

PrestaShop's docs assume you'll click through a wizard, drop zips by hand, and click "install" on each module in the back-office. That's fine for a one-off install. It is not fine when you start a new client project every couple of weeks, each with its own variant of the Panda theme.

ps-lando exists so the boring parts of that loop disappear. You drop your zips, run one command, and start working on what matters — the actual customisation for your client.

On this page