Boilerplates
WP Bones ships four curated starter templates on GitHub. Each one builds on the same v2 infrastructure (webpack + yarn + TypeScript + Jest + Prettier) and differs only in what it demonstrates. Pick the one that matches the stack you want to learn or start from.
The minimum starter: JS/TS, SCSS/LESS/CSS, a small React sample, a Jest test. Use this if you want the leanest possible scaffold.
BaseFocused TypeScript showcase — interfaces, generics, discriminated unions, type guards, utility types. Great to learn idiomatic TS in a WordPress plugin.
TypeScriptReact using only WordPress runtime libraries — @wordpress/components, @wordpress/data,
@wordpress/hooks, @wordpress/i18n. Native wp-admin look, no third-party UI kit.
A full admin app built on Mantine — theme customization, dark mode toggle, tabs, form validation, modals, notifications, and a DataTable fed by WordPress AJAX.
Mantine UITry them in the browser
Every boilerplate has a WordPress Playground blueprint. Click the Playground link on each boilerplate page to spin up a throwaway WordPress install with the plugin pre-activated.
How to start from one
Each boilerplate is a GitHub template repository. You have three options:
- Use as a template — click “Use this template” on GitHub and clone your new repo.
- Clone + rename — clone the repo locally and run
php bones rename "My Plugin Name"to reset the namespace. - Playground first — test-drive in Playground, then grab the
.zipfrom wpbones.com .
All four boilerplates share the same bones CLI, the same yarn scripts
(dev/build/test/format/lint), and the same webpack auto-discovery rules. Moving from one
to another is mostly a matter of swapping dependencies in package.json.
What stays the same across all four
webpack.config.jswith auto-discovery of entriespackage.jsonscripts:dev,build,test,format,linttsconfig.json,.prettierrc,jest.config.js- The bones CLI (
php bones --help) withmake:*andmigrate:to-v2 plugin/folder (PSR-4 namespace root),config/,bootstrap/,resources/views/
What differs
dependenciesinpackage.json— only the UI kit / libraries the boilerplate demoes.resources/assets/apps/— the demo app(s) specific to each boilerplate.- Dashboard Blade view — each shows its own sources inline so learners can read them.
