Cortext has two WordPress Playground blueprints:
assets/wordpress-org/blueprints/blueprint.jsonis the demo linked from the README and the blueprint copied to WordPress.org for the plugin Preview button. It installs the latest stable Cortext release from WordPress.org.playground/gallery/blueprint.jsonis for theWordPress/blueprintsgallery PR. It installs a bundled./cortext.zip, because gallery submissions need to include every file they reference.
The README link loads:
https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/Automattic/cortext/main/assets/wordpress-org/blueprints/blueprint.json
That link loads assets/wordpress-org/blueprints/blueprint.json, which installs
Cortext from the WordPress.org plugin directory:
pluginData.resource: wordpress.org/plugins
pluginData.slug: cortext
The demo follows whatever version is currently stable on WordPress.org.
The plugin directory looks for a blueprint at
assets/blueprints/blueprint.json in the WordPress.org SVN repository. In this
repo, that source file lives at
assets/wordpress-org/blueprints/blueprint.json and is deployed with the other
WordPress.org assets.
After the file is live, enable the public Preview button from the plugin's Advanced view.
Build the plugin ZIP:
pnpm run build:zipThen copy these files into blueprints/cortext/ in a fork of
WordPress/blueprints:
playground/gallery/blueprint.jsonplayground/gallery/screenshot.jpgdist/cortext.zip, renamed tocortext.zip
Regenerate screenshot.jpg from a working Playground run before opening the
gallery PR.
Validate the blueprints:
jq empty assets/wordpress-org/blueprints/blueprint.json playground/gallery/blueprint.jsonThe release workflow checks the ZIP contents in its run summary. For a local spot check:
unzip -l dist/cortext.zip | lessThe ZIP should include runtime files such as cortext/cortext.php,
cortext/vendor/autoload.php, cortext/build/index.js, and
cortext/readme.txt. It should not include source, test, or tooling paths such
as src/, tests/, apps/, .github/, node_modules/, composer.lock, or
package.json.