An experiment to explore an easy to install core WordPress development environment app.
This is a rough, experimental Electron app to get started with WordPress Core development. It’s meant to work on Windows, macOS, and Linux with zero system dependencies.
It handles the following tasks:
wordpress-develop repository into a local folder – without requiring a system install of git.npm install, npm run build, npm run watch --dev – without requiring a system install of node or npm.apache, php or mysql.See How does it work? for more details.
Getting a Core dev environment running (Node, npm, git, PHP/MySQL or an alternative) is a common source of friction for new contributors. This app removes most of that friction by bundling the tooling and using WordPress Playground locally for the server.
https://github.com/user-attachments/assets/59ef930b-cbe1-4aee-879e-21dcf9999d0c
npm install
❯ security find-identity -p codesigning
❯ codesign --deep --force --verify --verbose --sign "selfsigned" "WordPress Contributor Toolkit.app"
❯ xattr -d com.apple.quarantine "WordPress Contributor Toolkit.app"
Requirements: a recent Node.js to build the Electron app itself (runtime for the app is bundled).
npm install
npm run build:once # bundle renderer
npm start # run Electron + renderer in watch mode
# Package installers (no publishing):
npm run dist # all configured targets
npm run dist:win # Windows (x64 by default)
npm run dist:win:arm64
Output goes to dist/ (e.g., Windows installer .exe).
This app uses the official WordPress “W mark” as its icon.
build/wordpress-wmark.svgbuild/icon.icns (macOS), build/icon.png (Linux), build/icon.ico (Windows)Electron Builder picks these up via build configuration in package.json.
isomorphic-git npm package. It is a pure JS implementation of Git that works in the browser and Node.js.node, npm, and npx without requiring a system install.@wp-playground/cli npm package from WordPress Playground.diff npm package.SQLite should suffice for most new contributors. The SQLite support is miles ahead of where it used to be (e.g. most plugins and core unit tests work, query monitor works, we track failures and missing features and, thanks to the query parser, we can improve things fairly easily).
For cases when MySQL is required, local Playground can work with MySQL. The only missing part is shipping the MySQL server with the app.
GPLv2.
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.