A WordPress plugin skeleton with modular architecture, first-class tooling, and enterprise-grade best practices - for humans and agentic contributors. Battle-tested and ready to help your team build plugins better, faster, and without compromise.
- Development Guide - Local setup, commands, testing, and contribution guidelines.
- Contributing - How to contribute to this project.
- Code of Conduct - Community standards.
- Security - Reporting security vulnerabilities.
Reference: Action Hooks | Filter Hooks | Constants | WP-CLI Commands
├── .github/workflows/ # CI/CD workflows
├── docs/ # Development guides and references
├── inc/ # Plugin-specific PHP source
├── framework/ # Reusable framework (shared across plugins)
│ └── README.md
├── src/ # TypeScript/JS entry points
│ └── README.md
├── templates/ # PHP templates with theme override support
└── tests/ # PHPUnit, Jest, Playwright tests
See ./docs/DEVELOPMENT.md for a detailed directory tree and descriptions.
Note
We recommend purging the example modules and blocks once you've understood the structure to keep your production codebase lean.
- Create a new repo from this template.
- Find and replace the following placeholder strings:
plugin-skeleton-d(slug)Plugin Skeleton D(title)PLUGIN_SKELETON_D(constant prefix)pluginSkeletonD(camelCase reference)PluginSkeletonD(PascalCase reference)
- Update plugin metadata in these config files:
.phpcs.xml.dist(testVersion,minimum_wp_version)composer.json(config.platform.php,require.php)phpstan.neon.dist(phpVersion)plugin-skeleton-d.phpreadme.txt
- Remove or replace example entrypoints and blocks from
src/, then updatewebpack.config.jsandinc/Core/Assets.php. - Update CI workflows in
.github/workflows/. - Search for
@todocomments and resolve them. - Remove all remaining example code from
inc/,src/, and their correspondingtests/. - Update the documentation in
docs/and this README to reflect your plugin's functionality and architecture.
GPL-2.0-or-later. See LICENSE.md.
