Governance Edit

This document describes the governance structure of the WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/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 wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ domain.
  • We get to use the #cli channel in the WordPress Slack organization.
  • If we need help with something, we can ask.
  • Two coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers (dd32 and pento) have ownership permissions to the WP-CLI GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ 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 releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. is tagged for the package.

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

The wp-cli.org domain is currently owned by andreascreten. DNSDNS DNS is an acronym for Domain Name System - how you assign a human readable address to a website’s exact numeric coded location (ie. wordpress.org uses the actual IP address 198.143.164.252). 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 WordPress.org. The WP-CLI.org 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.sh > ~/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.sh > ~/auto-composer-update-bundle.log 2>&1

The wpcli Twitter account is managed by schlessera.

If you subscribe for email updates, your email address is registered with WordPress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ through Automattic’s Jetpack pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

Last updated: