Pattern Builder is free software, developed in the open by Twenty Bellows. The plugin, its companion, and this documentation are all on GitHub, and every kind of contribution is welcome: a bug report, a feature request, a pull request, a better sentence in these pages.
Where things live
- Twenty-Bellows/pattern-builder — the plugin’s source, issues and releases.
- wordpress.org/plugins/pattern-builder — the release you install, plus the support forum and reviews.
- Twenty-Bellows/synced-patterns-for-themes — the companion runtime, also on wordpress.org.
Reporting a bug
Open an issue at github.com/Twenty-Bellows/pattern-builder/issues. Search first, since someone may have hit the same thing. A report that can be acted on the same day includes:
- The WordPress, PHP and Pattern Builder versions, and whether Synced Patterns for Themes is also active.
- The theme, and whether it is a block theme.
- Steps to reproduce, what you expected, and what happened instead.
- For anything involving a specific pattern, the pattern file itself or its markup. Most pattern bugs are in the markup, and the file is the fastest way to see it.
For a security issue, email support@twentybellows.com rather than opening a public issue, so a fix can ship before the details do. Questions that are not bugs are welcome on the wordpress.org support forum.
Requesting a feature
Feature requests are issues too. Say what you are trying to do rather than only how you imagine it working; the job is what shapes the design. The plugin’s architecture keeps some doors deliberately shut (nothing is mirrored into the database, no editor canvas of its own, no AI in the plugin), and a request that argues with one of those is more useful when it says why the trade-off is wrong for you.
Working on the code
git clone https://github.com/Twenty-Bellows/pattern-builder.git
cd pattern-builder
npm install && composer install
npm run build # production build
npm run watch # rebuild on change
npm run start # a local WordPress in Docker, with the plugin active
The JavaScript is built with @wordpress/scripts; the PHP follows the WordPress Coding Standards. Both have checks:
npm run lint:js # ESLint
composer lint # PHPCS
npm run test:unit # JavaScript unit tests, no Docker needed
npm run test:php # PHPUnit inside the Docker environment
A few things to know before a pull request:
- The runtime classes and the
src/runtimedirectory are vendored from Synced Patterns for Themes and must stay logic-identical to it. A change to how synced theme patterns render belongs in that repository first. - Theme pattern files are the single source of truth. A change that caches pattern data in the database or intercepts a core REST route is working against the design.
- Tests accompany behaviour. The PHP suite runs against a real WordPress; the JavaScript suite covers the block validation and the pattern kinds.
- The repository’s
CLAUDE.mdis the architecture document, written for AI coding agents and just as useful to people. Read it before a change of any size.
Licence
Pattern Builder is licensed under the GPL, version 2 or later, like WordPress itself. You may use it on any number of sites, for any purpose, modify it, and redistribute it under the same terms. Patterns you make with it are yours. Patterns shared to the community collection are shared under GPL-compatible terms so that others may use them in their sites.
Pattern Builder is developed and maintained by Twenty Bellows.
