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.0.0(4mo ago)103073[3 issues](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/issues)[2 PRs](https://github.com/JUVOJustin/wordpress-plugin-boilerplate/pulls)GPL-3.0-or-laterPHPPHP &gt;=8.0CI passing

Since Dec 14Pushed 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 3w ago

READMEChangelog (10)Dependencies (9)Versions (47)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`, `.opencode/command/`, and `.agents/skills/`

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/                    User-facing documentation site content
|- tests/php/               PHPUnit application tests
|- .agents/skills/          Reusable AI skills for this project
|- .opencode/command/       Custom OpenCode slash commands
|- .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 then asks for the plugin name, namespace, and slug and rewrites the boilerplate identity.

### 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)AI And Maintenance Notes
------------------------

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

- `AGENTS.md` contains the high-level repository rules and doc map
- `.agents/skills/` contains reusable task-specific guidance
- `.opencode/command/` contains custom commands such as `/readme-update`
- when repo structure or workflows change, update both `README.md` and the relevant files in `docs/`

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

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 74.1% 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 ~24 days

Recently: every ~43 days

Total

31

Last Release

127d 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 (40 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

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

[lexxpavlov/settingsbundle

Symfony2/3/4 Settings bundle provides flexible settings (Boolean, Integer, Float, String, Text, Html), easily configurable with Sonata Admin

104.5k](/packages/lexxpavlov-settingsbundle)

PHPackages © 2026

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