PHPackages                             loonpwn/wp-keystone - 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. [Framework](/categories/framework)
4. /
5. loonpwn/wp-keystone

ActiveBoilerplate[Framework](/categories/framework)

loonpwn/wp-keystone
===================

Wordpress Keystone is a WordPress boilerplate designed for quickly building effective twelve-factor applications

v0.3(8y ago)920[2 PRs](https://github.com/loonpwn/wp-keystone/pulls)PHPPHP &gt;=7.1CI passing

Since Aug 8Pushed 1y ago2 watchersCompare

[ Source](https://github.com/loonpwn/wp-keystone)[ Packagist](https://packagist.org/packages/loonpwn/wp-keystone)[ RSS](/packages/loonpwn-wp-keystone/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (17)Versions (8)Used By (0)

WordPress Keystone
==================

[](#wordpress-keystone)

Wordpress Keystone is a WordPress boilerplate designed for quickly building effective [twelve-factor applications](https://12factor.net/)

#### **Why WordPress Keystone?**

[](#why-wordpress-keystone)

- Development environment ready to go with docker
- Asset building with Laravel Mix
- Component / action design at the core
- Sane assumptions about how you want to use it

WordPress Keystone is the combination of many libraries, taking inspiration and straight code from them. If you are confused on how some of the parts of this project work, checkout the following projects:

- [Laradock](https://github.com/laradock/laradock) - Docker
- [Sage](https://github.com/roots/sage) - Architecture
- [Bedrock](https://github.com/roots/bedrock) - Architecture
- [Laravel components](https://github.com/mattstauffer/Torch) - Laravel packages
- [WP Function Me](http://www.wpfunction.me/) - Random snippets
- [Composer Git Hooks](http://change-me/) - Workflow triggers
- [Laravel Mix](https://github.com/JeffreyWay/laravel-mix) - Asset Builds

#### **Project Structure**

[](#project-structure)

`app` - Project functionality

`app/components` - This is the bread and butter of the boilerplate. All your code you would usually stick in `functions.php` lives here. WordPress Keystone wil automatically parse folders within the `components` folder and have the files contained loaded under their wordpress filter or hook. This forces developers to think about when there code is being executed within the WordPress runtime.

`config` - All application configuration is found here including constant definition and bootstrapping

`env` - Environment based files. Mainly docker configuration and tools are found within here.

`resources` - Most importantly, your view files are found here as well as styles and scripts.

`runtime` - Any application runtime files live here, besides uploads.

`web` - This is your web root. Avoid putting anything in here if you can.

Setup
-----

[](#setup)

#### **Boilerplate Instructions**

[](#boilerplate-instructions)

Install: `composer create-project loonpwn/wp-keystone project-name`

First Run a search and replace for the following:

- Your site url: `local.wp-keystone` -&gt; local.your-domain
- Your project title: `Wordpress Keystone` -&gt; Your Project Name
- Your project slug: `wp-keystone` -&gt; your-project-slug

Then delete this section from the readme.

#### **Instructions**

[](#instructions)

Note: this project uses [docker](https://www.docker.com/) for all its local development.

*Local Setup*

1. Copy over the env file `cp -n .env.example .env`
2. Copy over the htaccess `cp -n web/.htaccess.sample web/.htaccess`
3. Build &amp; docker containers `docker-compose up -d`

    *Note: If you are already running apache or mysql on ports 80 / 3306, you can change the ports docker runs on in the `.env` file, otherwise close your other applications*
4. Setup your hosts file. `sudo sh -c 'echo "127.0.0.1       local.wp-keystone" >> /etc/hosts'`
5. Mount yourself to the workspace `./env/mount-workspace.sh`
6. Run the deployment script `composer build`
7. Install WordPress `wp core install --url=local.wp-keystone --title="WordPress Keystone" --admin_user="wp-keystone" --admin_email="admin@local.wp-keystone"`

    *Note: This command will output the admin password*
8. Done. You can visit the site at `http://local.wp-keystone`.

    *Note: Admin login is at `http://local.wp-keystone/wp/wp-admin` and login with `wp-keystone`. The local environment does not check for a valid password so you can enter in anything.*

Development
-----------

[](#development)

#### **Docker**

[](#docker)

This project uses a docker container which will host our site for us and be able to build all of our assets for us. Some useful commands:

- `docker-compose restart` - Restart the container
- `./env/mount-workspace.sh` - Attach yourself to the workspace container

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 74.6% 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 ~323 days

Total

2

Last Release

2924d ago

PHP version history (2 changes)v2.x-devPHP &gt;=7

v0.3PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/1c3cc9c67bbfb11d56dbe8aff65500444b1b17cd3f6dcaab17b3235a5691f65a?d=identicon)[harlan-zw](/maintainers/harlan-zw)

---

Top Contributors

[![harlan-zw](https://avatars.githubusercontent.com/u/5326365?v=4)](https://github.com/harlan-zw "harlan-zw (50 commits)")[![4mation-rubenfunai](https://avatars.githubusercontent.com/u/32623238?v=4)](https://github.com/4mation-rubenfunai "4mation-rubenfunai (9 commits)")[![arg2009](https://avatars.githubusercontent.com/u/10524173?v=4)](https://github.com/arg2009 "arg2009 (8 commits)")

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/loonpwn-wp-keystone/health.svg)

```
[![Health](https://phpackages.com/badges/loonpwn-wp-keystone/health.svg)](https://phpackages.com/packages/loonpwn-wp-keystone)
```

###  Alternatives

[roots/bedrock

WordPress boilerplate with Composer, easier configuration, and an improved folder structure

6.5k456.5k2](/packages/roots-bedrock)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45344.0k1](/packages/pressbooks-pressbooks)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)

PHPackages © 2026

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