The seams
declare it — the framework wires itRouter
Declare REST + AJAX routes in one file. URLs are auto-exposed to JS as Localized Routes — nonces handled, never hand-built.
Admin & List Pages
Declare a menu page — or a full CRUD table with pagination, search, sort, and a rules-derived edit form. Zero custom Vue.
Models & Validation
A small wpdb ORM with $rules + validate(). Controllers shrink to fill → validate → save → respond.
Lifecycle & Migrations
Declarative activate / deactivate / uninstall, plus versioned, append-only migrations applied at activation.
CLI Generators
wp matrix:make:resource Book scaffolds the model, migration, controller, list page, and routes — wired and ready.
Execution Tracer
Gated, zero-overhead-when-off tracing of your plugin's own hooks and routes — for debugging and performance work.
Zero to a feature
three commands# 1 · scaffold + personalize, one command composer create-project wp-plugin-matrix/starter my-plugin # 2 · generate a whole resource — model, migration, controller, list page, routes wp matrix:make:resource Book # 3 · strip the demo when you're ready wp matrix:clean
Why it's fast
the philosophyA Model + a ListPage gives you five REST routes, a Vue table, and a validated edit form — without wiring a single hook by hand.
Artisan-style make:* commands stamp the right files from stubs, matching the framework's conventions every time.
Learn from a complete feature, then remove it with one idempotent, drift-safe command. No leftover cruft.
Ships with an AGENTS guide, a deep architecture map, and an interactive graph — humans and agents get up to speed fast.