Skip to main content

Setting Up a StoreEngine Development Environment

This guide walks you through building StoreEngine locally from source — installing dependencies, compiling assets, activating the free and Pro plugins, and running the linters. It assumes a working local WordPress site (Herd, Local, wp-env, or any LAMP/LEMP stack).

Prerequisites

ToolRequirementNotes
WordPress6.5+A local install you can drop plugins into.
PHP7.4+Matches the plugin's Requires PHP.
Node.jsvia nvmThe repo ships a .nvmrc; run nvm use.
Composeroptional but recommendedManages Strauss-prefixed PHP dependencies.
WP-CLIoptional but recommendedHandy for activation and store scripting.
Node version

The pinned Node version lives in .nvmrc. On Linux/macOS, nvm use reads it automatically. On Windows, nvm does not read .nvmrc — run nvm use <version> explicitly, and prefer Git Bash for parity with the shell commands below.

1. Clone into wp-content/plugins

Clone the free plugin into your WordPress install's plugins directory:

git clone [email protected]:storeengine/storeengine.git wp-content/plugins/storeengine
cd wp-content/plugins/storeengine

If you have Pro access, clone it alongside the free plugin:

git clone [email protected]:storeengine/storeengine-pro.git wp-content/plugins/storeengine-pro

2. Select the Node version

nvm use

3. Install JavaScript dependencies

npm install

4. Install PHP dependencies (optional)

Composer pulls in the vendored, Strauss-prefixed PHP dependencies. The plugin ships a working vendor/ in distributed builds, but for development from a fresh clone:

composer install

5. Build the assets

StoreEngine compiles JavaScript with Webpack. Start the compiler:

npm start
No dev server

npm start compiles the JavaScript bundles — it does not launch a hot-reloading dev server. Re-run it (or use a watch task) after editing source. For a one-off production build, use the build script described in Source vs built assets.

6. Activate the plugins

Activate StoreEngine (free) first, then StoreEngine Pro — Pro declares Requires Plugins: storeengine and will not run without the free plugin active.

With WP-CLI:

wp plugin activate storeengine
wp plugin activate storeengine-pro

Or from Plugins → Installed Plugins in wp-admin. On first activation, the installer creates the wp_storeengine_* tables and registers default options; a setup redirect walks you through initial configuration.

Pro licensing

Pro addons are gated behind Pro being active and licensed. In development you can activate the plugin to load its code, but licensed features validate a license key at runtime. See Free vs Pro.

Source vs built assets

Know where code lives versus where it runs:

LocationContents
dev_storeengine/JavaScript/React source (what you edit).
assets/Built bundles emitted by Webpack (what WordPress enqueues).
webpack.config.jsWebpack configuration.
build.sh, build.config.json, build-tools/Produce distributable zips.

Edit source under dev_storeengine/, run npm start to recompile into assets/, and never hand-edit built files in assets/ — they are overwritten on the next build.

To produce a distributable zip, use the build script:

./build.sh

Coding standards and linting

StoreEngine follows the WordPress coding standards for PHP and standard JS tooling.

  • PHPWPCS and VIPCS, configured in phpcs.xml:

    ./vendor/bin/phpcs # report violations
    ./vendor/bin/phpcbf # auto-fix what it can
  • JavaScript — ESLint and Prettier per the repo config; run through the project's npm scripts (see package.json).

Git merge driver

The repo recommends configuring the "theirs" merge driver to smooth conflict resolution during rebases: git config merge.theirs.driver true.

Where to go next