Developers
The architecture of an installed XPAC plugin, plus generated reference for every block and hook XPAC ships.
An XPAC plugin is a WordPress plugin assembled from PHP packages. Its entry file
loads the Composer autoloader and constructs one Bootstrap per package; the
packages live under packages/; the compiled JavaScript, CSS and block metadata
live under dist/; the framework they all run on lives under vendor/.
Every plugin in the suite has that shape. That is why the reference below applies
across all of them, and why packages/Forms/core/base/Uploader.php, where the
hook page says xpac_forms_upload_errors fires, is a path you can open on your
own server.
This section has two halves, and they are maintained in completely different ways.
Hand-written guides
Architecture and conventions. Written by hand, which means they can go stale — every claim on these pages cites the file it came from so you can check.
Getting started
What an XPAC plugin is, what you find inside one, and how to build your own code the same way.
Front end
The browser side: the JavaScript interfaces Forms and Popups attach to the DOM, and the CSS custom properties that style them.
Generated reference
These pages are generated from the source, so they cannot describe a block that is not registered or a hook that is not fired — they are built from the same files WordPress reads.
Blocks
Every registered block, generated from the block.json files each plugin ships under dist/.
Hooks
Every action and filter, generated from the do_action and apply_filters call sites under packages/.
Where a guide and the generated reference disagree, the generated reference is right. Report the guide.