Skip to content

Releases: JUVOJustin/wordpress-plugin-boilerplate

v2.2.0

Choose a tag to compare

@JUVOJustin JUVOJustin released this 13 Jun 16:24
cf83dbe

Overview

This 2.2.0 release extends the boilerplate's public extension surface — a companion-plugin load handshake and an MCP exposure hook for abilities — alongside setup, packaging, and test-coverage fixes. As with previous releases, the boilerplate placeholders intentionally remain at 1.0.0; cloned plugins start there and use their own release pipeline for version fields.

What Changed

  • Added a companion-plugin load handshake: a demo_plugin_loaded action fired on plugins_loaded (priority 0) after bootstrap wiring, plus a global DEMO_PLUGIN_VERSION constant mirroring Demo_Plugin::PLUGIN_VERSION for cheap defined() / version_compare() gating. Both tokens rewrite to the plugin's own identity during setup. New docs/companion-plugins.mdx.
  • Added MCP (Model Context Protocol) exposure configuration to abilities via a new Ability_Interface::get_mcp(): array method, registered verbatim as the ability's meta.mcp for the WordPress MCP Adapter. Returns an array (array{public?: bool}, PHPStan-enforced) so future MCP options extend the shape rather than the interface.
  • Added generic, zero-maintenance registration regression tests: BlockRegistrationTest asserts every built block is reported by /wp/v2/block-types and that its block.json file: assets exist; AbilityRegistrationTest discovers every Ability_Interface implementation by reflection and asserts each ability and its category are registered. Both survive the setup rename and skip cleanly when no primitives exist.
  • Setup now renames and rewrites translation files: languages/{slug}.pot and {slug}-{locale}.(po|mo|json|l10n.php) are renamed to the new slug, and POT headers/source references (X-Domain, Project-Id-Version, support URL, #: refs) are rewritten to the new plugin identity. Previously the orphaned placeholder translation files were left behind and never loaded.
  • Made the Strauss download fail cleanly on HTTP errors by passing curl -f, while preserving the existing PHAR age check.
  • Fixed setup namespace default generation.
  • Initialized plugins now add .agents/ to .gitignore during setup cleanup; downstream agent skills are documented as npx skills-managed rather than committed files, and upgrade guidance no longer treats .agents/skills as boilerplate source.
  • Refined the wp-plugin-bp upgrade workflow docs into explicit upgradable parts and clarified the work-with-AI guidance for refreshing agent skills from upstream conventions.

Breaking Changes and Migration Notes

  • Ability_Interface gains a required get_mcp(): array method. Plugins that already implement Ability_Interface (abilities support shipped in 2.0.0) must add this method when adopting this change, or PHP will fatal on the unimplemented interface method. Return an empty array ([]) to keep the ability off the MCP adapter, or ['public' => true] to expose it. Newly generated plugins are unaffected.
  • No other WordPress runtime breaking changes were identified for generated plugins.

Included Pull Requests

  • #186 Fix Strauss download failure handling
  • #188 Refine AI upgrade workflow docs
  • #190 Ignore installed agent skills after setup
  • #191 Add companion-plugin load handshake and version constant
  • #192 Add registration regression tests for blocks and abilities
  • #193 Rename and rewrite translation files during plugin setup
  • #194 Add MCP exposure config to Ability_Interface

2.1.0

Choose a tag to compare

@JUVOJustin JUVOJustin released this 04 Jun 11:35

Overview

Demo Plugin 2.1.0 focuses on developer workflow, testing, packaging, and release automation. The boilerplate plugin placeholders intentionally remain at 1.0.0; cloned plugins start there and use their own release pipeline for version fields.

What Changed

  • Added global $ and jQuery aliases through webpack ProvidePlugin, with bundling docs and entry-point examples.
  • Preserved @wordpress/scripts auto-discovered block entries when custom webpack entries are configured.
  • Extracted setup replacement logic into a reusable plugin-replace.php helper and added support for renaming already-customized plugins by passing source plugin values.
  • Added minimal wp-env PHPUnit application-test scaffolding, npm run test:php, test plugin dependency mapping, and Action Scheduler testing guidance.
  • Reorganized documentation into a Starlight-friendly structure with dedicated guides for GitHub Actions, testing, wp-env, i18n, ACF, Sentry, Action Scheduler, bundling, abilities, and AI workflows.
  • Consolidated AI-agent workflow support into the wp-plugin-bp skill and stopped shipping repo-only agent assets in generated Composer projects.
  • Added optional setup guidance for installing the standardized agent skill with npx skills add https://github.com/JUVOJustin/wordpress-plugin-boilerplate --skill=*.
  • Added context7.json to the source project and setup cleanup so initialized plugins do not keep boilerplate-only Context7 config.
  • Updated @wordpress/env to 11.7.0 and @wordpress/scripts to 32.1.0, and pinned wp-env containers to PHP 8.1 for WP-CLI i18n make-php support.
  • Updated CI actions to Node.js 24-compatible versions and improved Composer cache invalidation by including composer.json in PHP cache keys.
  • Fixed release workflow behavior for downstream plugins, including prerelease/latest metadata, stable version persistence, and branch-targeted version commits.
  • Fixed distribution issues by anchoring .distignore patterns to the repository root, pinning dist-archive-command, and resolving a broken skill-reference symlink.

Breaking Changes and Migration Notes

  • No WordPress runtime breaking changes were identified for generated plugins.
  • AI workflow assets changed: legacy repo-local .opencode commands and separate boilerplate/translation skills are no longer shipped in generated Composer projects. Install the current standardized skill with npx skills add https://github.com/JUVOJustin/wordpress-plugin-boilerplate --skill=*.
  • Composer no longer provides WP-CLI for i18n commands. Run composer run i18n:extract and composer run i18n:compile in an environment where wp i18n is available, such as npm run env:cli composer run i18n:compile.
  • Test plugin dependencies now use tests/setup/plugins/ mapping. Place premium or private plugin dependencies there, or configure installer paths in tests/composer.json.

Included Pull Requests

  • #164 feat: add jQuery global aliases via webpack.ProvidePlugin
  • #165 refactor: extract replacement logic into shared boilerplate-replace.php script
  • #167 fix: preserve wp-scripts auto-discovered block entries in webpack config
  • #169 fix: anchor .distignore patterns to root to prevent vendor exclusions
  • #172 fix broken symlink in plugin-translations-update skill references
  • #174 fix deploy workflow: branch-targeted version commits, prerelease handling, and dedicated CI/CD docs
  • #176 docs: restructure README with MDX components and reorganize integration docs
  • #178 add minimal wp-env PHPUnit application test scaffolding and developer-oriented docs
  • #179 feat(boilerplate-replace): accept source strings to support renaming already-customized plugins
  • #180 fix: rely on environment WP-CLI for i18n commands
  • #181 fix(ci): include composer.json in PHP cache key hash
  • #182 fix(ci): upgrade actions to Node.js 24 compatible versions
  • #183 refactor test dependencies and improve plugin path handling
  • #184 update AI skill setup packaging
  • #185 update wp-env tooling and PHP runtime

2.0.0

Choose a tag to compare

@JUVOJustin JUVOJustin released this 17 Feb 14:34

Added

  • Full i18n support across PHP, JS, and blocks with extraction and build workflows.
  • Translation agent skill to automate translations and build files in wp-env during releases via GitHub Actions.
  • Block scaffolding and auto-registration with npm run create-block.
  • Boilerplate sync agent skill to keep local plugins aligned with upstream updates.
  • Typed Abilities API quick start via Loader::add_ability() for capability registration.
  • Agent skills cloning command to pull WordPress agent skills, including the PHPStan skill.
  • Opencode /qa-run command to auto-fix PHPCS, PHPStan, and wp-scripts issues.

1.1.0

Choose a tag to compare

@JUVOJustin JUVOJustin released this 23 Oct 13:22
8d14590

What's Changed

Full Changelog: 1.0.28...1.1.0

1.0.28

Choose a tag to compare

@JUVOJustin JUVOJustin released this 16 Oct 15:40
32fb895

What's Changed

  • Remove setup cli after setup by @JUVOJustin in #141
  • AI rules improvements

Full Changelog: 1.0.27...1.0.28

1.0.27

Choose a tag to compare

@JUVOJustin JUVOJustin released this 14 Sep 15:47

What's Changed

  • Switch from copilot instructions to more generic AGENTS.md
  • Improve rule inclusion of /rule-upsert opencode command by @JUVOJustin in #140

Full Changelog: 1.0.26...1.0.27

1.0.26

Choose a tag to compare

@JUVOJustin JUVOJustin released this 25 Aug 16:00
651de1a

What's Changed

  • Update deploy.yml by @JUVOJustin in #134
  • Add Copilot Setup Steps workflow for reliable dependency installation by @Copilot in #136
  • Use wp-cli dist-archive for plugin deployment with proper PHP setup and build testing by @Copilot in #139
  • Add opencode commands support

New Contributors

  • @Copilot made their first contribution in #136

Full Changelog: 1.0.25...1.0.26

1.0.25

Choose a tag to compare

@JUVOJustin JUVOJustin released this 26 Jun 11:59
4940009

Full Changelog: 1.0.24...1.0.25

1.0.24

Choose a tag to compare

@JUVOJustin JUVOJustin released this 05 Jun 07:25
63c12ed

What's Changed

Full Changelog: 1.0.23...1.0.24

1.0.23

Choose a tag to compare

@JUVOJustin JUVOJustin released this 15 Apr 15:35
b62bd4d

What's Changed

Full Changelog: 1.0.22...1.0.23