Governance Edit

This document describes the governance structure of the WP-CLI project.

Who’s in charge? Who’s in charge?

WP-CLI has one maintainer: schlessera. On a day to day basis, final decision-making authority resides with him.

The project roadmap is an organic, evolving vision developed between the project’s maintainers, committers, and contributors. Generally, we try to make decisions in alignment with the project’s philosophy and committers credo.

Top ↑

Why are some people members of the WP-CLI organization? Why are some people members of the WP-CLI organization?

On occasion, we grant write access to contributors who have demonstrated, over a period of time, that they are capable and invested in moving the project forward. These committers are expected to:

  • Hold product and code quality in the highest regard.
  • Exhibit stellar judgement and communication.
  • Participate in the project on a consistent basis.

Becoming a committer can seem glamorous, but it also comes with expectations of responsibility, commitment, and humility.

andreascreten is the original author of WP-CLI. scribu and danielbachhuber have been long time maintainers.

Top ↑

What’s the connection between WP-CLI and WordPress? What’s the connection between WP-CLI and WordPress?

As of December 2017, WP-CLI is a formal WordPress project.

Practically speaking, this means we get to take advantage of the WordPress project’s people and software infrastructure:

  • Much of the WP-CLI documentation is hosted on the domain.
  • We get to use the #cli channel in the WordPress Slack organization.
  • If we need help with something, we can ask.
  • Two core committers (dd32 and pento) have ownership permissions to the WP-CLI GitHub organization, in the unlikely event everyone else gets hit by a bus.

Other than this, WP-CLI operates independently.

Top ↑

How does all of this work? How does all of this work?

The WP-CLI GitHub organization contains all project code repositories. Some commands are bundled with WP-CLI, while others are independently installable. Commands are bundled with WP-CLI when they’re stable, closely aligned with the project philosophy, and useful to a majority of users.

wp-cli/wp-cli is the main project repository, which pulls in command packages and other dependencies through Composer. Composer defines which version of which dependencies is included in the build. Changes to command packages are included in WP-CLI proper when a stable release is tagged for the package.

Nightly Phar builds are created by a Travis job that calls and pushes the build artifact to the builds repository. Releases are prepared manually in accordance to the release checklist.

The domain is currently owned by andreascreten. DNS is managed through a Cloudflare account that danielbachhuber holds credentials to.

Much of the WP-CLI documentation (command pages, etc.) is editable through wp-cli/handbook, and then synced to The homepage is hosted on GitHub Pages.

From time to time, you may see a pull request from the wp-make-coffee bot. These originate from a donated WebFaction server running some cron jobs calling bash scripts:

5 4 * * 1,3,5 source ~/.bash_profile; WP_CLI_DIR=~/wp-cli bash ~/wp-cli/utils/ > ~/auto-composer-update.log 2>&1
5 6 * * 1,3,5 source ~/.bash_profile; WP_CLI_DIR=~/wp-cli-bundle bash ~/wp-cli-bundle/utils/ > ~/auto-composer-update-bundle.log 2>&1

The wpcli Twitter account is managed by danielbachhuber.

If you subscribe for email updates, your email address is registered with through Automattic’s Jetpack plugin.