PHPackages                             juvo/wordpress-plugin-boilerplate - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. juvo/wordpress-plugin-boilerplate

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

juvo/wordpress-plugin-boilerplate
=================================

A boilerplate for WordPress plugin development. Supercharged with Autoloading, @wordpress/scripts, PHPStan and PHPCS.

v2.2.0(1mo ago)103153[5 issues](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/issues)[5 PRs](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/pulls)GPL-3.0-or-laterPHPPHP &gt;=8.0CI passing

Since Feb 15Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/JUVOJustin/wordpress-plugin-boilerplate)[ Packagist](https://packagist.org/packages/juvo/wordpress-plugin-boilerplate)[ RSS](/packages/juvo-wordpress-plugin-boilerplate/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (18)Versions (54)Used By (0)

WordPress Plugin Boilerplate
============================

[](#wordpress-plugin-boilerplate)

[![PHPStan](https://camo.githubusercontent.com/3f7138a32cbdc88c79057d4e02246eef7d4b66df03013f2b36967877199eb5d4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d4c6576656c253230362d626c7565)](https://phpstan.org/)[![PHPCS](https://camo.githubusercontent.com/323e0faa79138dccf8e9e77fd64fe99322716a3df13f55c9ff7c2e09c5b17f9d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50485043532d576f726450726573732d677265656e)](https://github.com/WordPress/WordPress-Coding-Standards)[![Test/Analyse](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/actions/workflows/test-analyse.yml/badge.svg)](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/actions/workflows/test-analyse.yml)

This repository is a modern, object-oriented WordPress plugin boilerplate. It is intended as a source repo, starter template, and reference implementation for developers and AI coding agents building production-ready plugins.

If you want the user-facing documentation site entry point, start with [`docs/index.mdx`](docs/index.mdx).

What This Repository Includes
-----------------------------

[](#what-this-repository-includes)

- Composer-based PHP structure with namespacing
- Centralized WordPress hook registration through the loader
- `@wordpress/scripts` for bundling, linting, and formatting
- `@wordpress/env` for reproducible local WordPress development
- PHPUnit application testing in the dedicated `tests-cli` container
- GitHub Actions for analysis, testing, and release automation
- AI-oriented project instructions in `AGENTS.md`, `.agents/skills/wp-plugin-bp/`, and official WordPress skills in `.agents/skills/wp-*/`

Typical Use
-----------

[](#typical-use)

Use this repo when you want to:

- create a new plugin with sane defaults
- inspect the preferred project structure before extending a plugin
- sync an existing plugin with upstream boilerplate changes
- give an AI agent enough repo context to make safe edits

Repository Map
--------------

[](#repository-map)

```
.
|- demo-plugin.php          Main bootstrap file only
|- src/                     Plugin logic grouped by feature/domain
|- resources/               Admin and frontend assets
|- docs/                    Source documentation site content; emptied after plugin setup
|- tests/php/               PHPUnit application tests
|- .agents/skills/wp-plugin-bp/   Unified plugin AI skill with task references
|- .agents/skills/wp-*/     Official WordPress agent skills for focused workflows
|- .github/workflows/       CI/CD workflows
`- README.txt               WordPress.org plugin readme template

```

Local Development
-----------------

[](#local-development)

### Create a Plugin From the Boilerplate

[](#create-a-plugin-from-the-boilerplate)

```
composer create-project juvo/wordpress-plugin-boilerplate
```

The setup script asks for the plugin name, namespace, and slug, runs the packaged `wp-plugin-bp` replacement script, and removes `.agents/` from the initialized plugin. After replacement, setup asks whether to install agent skills for ongoing AI-assisted work.

### Common Commands

[](#common-commands)

CommandPurpose`npm run env:start`Start the local WordPress environment`npm run env:stop`Stop the environment`npm run build`Build production assets`npm run start`Watch and rebuild assets during development`npm run test:php`Run PHPUnit application tests in `wp-env``npm run lint:js`Lint JavaScript`npm run lint:style`Lint styles`composer run phpstan`Run PHP static analysis`composer run phpcs`Run WordPress coding standards checks`composer run i18n:extract`Extract translatable strings`composer run i18n:compile`Compile translation filesArchitecture Notes
------------------

[](#architecture-notes)

- Keep business logic in `src/`; do not place it in `demo-plugin.php`
- Register hooks, filters, shortcodes, CLI commands, and abilities through the loader
- Put assets in `resources/admin/` and `resources/frontend/`
- Add PHPUnit application tests in `tests/php/`
- Treat `docs/` as user-facing documentation and keep it in sync with repo behavior

Where To Look Next
------------------

[](#where-to-look-next)

GoalStart hereUnderstand the docs site structure[`docs/index.mdx`](docs/index.mdx)Learn local environment workflows[`docs/wp-env.mdx`](docs/wp-env.mdx)Write application tests[`docs/testing.mdx`](docs/testing.mdx)Work on bundling or block assets[`docs/bundeling.mdx`](docs/bundeling.mdx), [`docs/create-blocks.mdx`](docs/create-blocks.mdx)Configure translations[`docs/i18n.mdx`](docs/i18n.mdx)Review AI-specific repo rules[`AGENTS.md`](AGENTS.md), [`docs/work-with-ai.mdx`](docs/work-with-ai.mdx), [`.agents/skills/wp-plugin-bp/SKILL.md`](.agents/skills/wp-plugin-bp/SKILL.md)AI And Maintenance Notes
------------------------

[](#ai-and-maintenance-notes)

- `AGENTS.md` contains the high-level repository rules and doc map
- `.agents/skills/wp-plugin-bp/` contains the unified skill, task references, doc snapshots, and scripts
- `.agents/skills/wp-*/` contains official WordPress skills for block development, Interactivity API, PHPStan, project triage, and REST API work
- natural requests such as "sync with upstream project conventions" should route through the `wp-plugin-bp` skill and infer the upgrade workflow
- when repo structure or workflows change, update `README.md`, the relevant files in `docs/`, and `.agents/skills/wp-plugin-bp/`

Upstream Reference
------------------

[](#upstream-reference)

This plugin was created using the [wordpress-plugin-boilerplate](https://github.com/JUVOJustin/wordpress-plugin-boilerplate). Keep that upstream reference so future updates and comparisons stay straightforward.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance79

Regular maintenance activity

Popularity21

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 79.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~26 days

Recently: every ~59 days

Total

33

Last Release

55d ago

Major Versions

1.1.0 → v2.0.02026-02-16

PHP version history (3 changes)1.0.5PHP &gt;=7.4

1.0.15PHP &gt;=8.1

1.0.17PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/32efecde6068b3efb5bd8edbfc59500f23c7047b43f7846790925f73e23317a6?d=identicon)[JUVOJustin](/maintainers/JUVOJustin)

---

Top Contributors

[![JUVOJustin](https://avatars.githubusercontent.com/u/30726576?v=4)](https://github.com/JUVOJustin "JUVOJustin (55 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

wordpress-developmentwordpress-pluginwordpress-plugin-boilerplate

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/juvo-wordpress-plugin-boilerplate/health.svg)

```
[![Health](https://phpackages.com/badges/juvo-wordpress-plugin-boilerplate/health.svg)](https://phpackages.com/packages/juvo-wordpress-plugin-boilerplate)
```

###  Alternatives

[benhall14/php-calendar

A simple PHP class to generate calendars.

9929.2k](/packages/benhall14-php-calendar)[laravelplus/laravel-updater

A Laravel package for syncing with upstream repositories (GitHub, GitLab, Bitbucket, etc.)

222.0k](/packages/laravelplus-laravel-updater)[andrmoel/astronomy-bundle

Bundle for astronomical calculations such as position of moon, sun and planets, sunrise, sunset or solar eclipses. Most of the calculations are based on Jean Meeus 'Astronomical Algorithms' book and the VSOP87 theory.

111.4k](/packages/andrmoel-astronomy-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
