Title: WP-CLI – Page 11 – The command line interface for WordPress

---

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
5:31 pm _on_ March 22, 2017      

# 󠀁[RFC: Usage analytics and WP-CLI v2.0.0](https://make.wordpress.org/cli/2017/03/22/rfc-usage-analytics-and-wp-cli-v2-0-0/)󠁿

There are two issues in the backlog we’d love your input on:

 * [Capture and report anonymized usage statistics](https://github.com/wp-cli/wp-cli/issues/3886)(
   scheduled for v1.3.0) – In addition to the data points listed, what others might
   be worthwhile to capture? And, are there other aspects to the project we should
   consider?
 * [WP-CLI 2.0.0](https://github.com/wp-cli/wp-cli/issues/3909) (scheduled for late
   2017) – What breaking changes should we consider and why?

Feel free to weigh in as you see fit.

 

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F03%2F22%2Frfc-usage-analytics-and-wp-cli-v2-0-0%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
1:26 pm _on_ March 17, 2017      

# 󠀁[New support venue: WordPress.org support forum](https://make.wordpress.org/cli/2017/03/17/new-support-venue-wordpress-org-support-forum/)󠁿

Have a question about something related to 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/](http://wp-cli.org/) [https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)?
There are now two places you can go for general help:

 * Join the `#cli` channel in the [WordPress.org Slack](https://make.wordpress.org/chat/)
   to chat with whomever might be available at the time. This option is best for
   quick questions.
 * [Post a new thread](https://wordpress.org/support/forum/wp-advanced/#new-post)
   in 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/](https://wordpress.org/)
   support forumSupport Forum WordPress Support Forums is a place to go for help
   and conversations around using WordPress. Also the place to go to report issues
   that are caused by errors with the WordPress code and implementations. and tag
   it with ‘[WP-CLI](https://wordpress.org/support/topic-tag/wp-cli/)‘ so it’s seen
   by the community.

Want to help others with their use of WP-CLI? Click “Subscribe to this topic tag”
to receive email notifications of new forum discussion:

![](https://i0.wp.com/make.wordpress.org/cli/files/2017/03/2017-03-17-at-6.24-AM.
png?resize=776%2C261&ssl=1)

GitHubGitHub GitHub is a website that offers online implementation of git repositories
that 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 by the repository owner. [https://github.com/](https://github.com/)
issues are meant for tracking enhancements to and bugs of existing commands, not
general support. Use the wp-cli/ideas repository to [up vote existing ideas](https://github.com/wp-cli/ideas/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
or [share your own](https://github.com/wp-cli/ideas/issues/new).

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F03%2F17%2Fnew-support-venue-wordpress-org-support-forum%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
6:43 pm _on_ February 23, 2017      

# 󠀁[Planning for Community Summit 2017](https://make.wordpress.org/cli/2017/02/23/planning-for-community-summit-2017/)󠁿

In preparation for the 2017 WordPress Community Summit (“CS”) on June 13th-14th 
before WordCampWordCamp WordCamps are casual, locally-organized conferences covering
everything related to WordPress. They're one of the places where the WordPress community
comes together to teach one another what they’ve learned throughout the year and
share the joy. [Learn more](https://central.wordcamp.org/about/). Europe in Paris,
France [we’ve been asked](https://make.wordpress.org/summit/2017/01/26/community-summit-2017/)
to provide the following (in summary):

 1. A list of topics for the CS
 2. A list of representatives to attend the CS
 3. One or two contributors who are willing to help with the organization of the CS

This post serves as a request for input for the above three areas. _Note that these
three requests are detailed further with some clarifying notes on [Make/Summit](https://make.wordpress.org/summit/2017/01/26/community-summit-2017/)._

Feel free to pingPing The act of sending a very small amount of data to an end point.
Ping is used in computer science to illicit a response from a target server to test
it’s connection. Ping is also a term used by Slack users to @ someone or send them
a direct message (DM). Users might say something along the lines of “Ping me when
the meeting starts.” me privately in SlackSlack Slack is a Collaborative Group Chat
Platform [https://slack.com/](https://slack.com/). The WordPress community has its
own Slack Channel at [https://make.wordpress.org/chat/](https://make.wordpress.org/chat/)
if you prefer. I will send a summary of the responses with the Community Summit 
team on Wednesday, March 1st (as I’ll be offline on Thursday and Friday).

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F02%2F23%2Fplanning-for-community-summit-2017%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
8:12 pm _on_ February 8, 2017      

# 󠀁[Two new commands: doctor and profile](https://make.wordpress.org/cli/2017/02/08/two-new-commands-doctor-and-profile/)󠁿

Excited to experiment with a couple new 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/](http://wp-cli.org/) [https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)
commands? `wp doctor` and `wp profile` are now available for everyone to install.

[wp doctor](https://github.com/wp-cli/doctor-command) lets you diagnose problems
within WordPress by running a series of checks for symptoms. It includes an APIAPI
An API or Application Programming Interface is a software intermediary that allows
programs to interact with each other and share data in limited, clearly defined 
ways. for defining your own diagnosis, as well as writing custom checks.

    ```
    $ wp @daniel doctor check --all
    Running checks  100% [============================================================================================] 0:02 / 0:09
    +----------------------------+---------+--------------------------------------------------------------------+
    | name                       | status  | message                                                            |
    +----------------------------+---------+--------------------------------------------------------------------+
    | core-verify-checksums      | success | WordPress verifies against its checksums.                          |
    | file-eval                  | success | All 'php' files passed check for 'eval\(.*base64_decode\(.*'.      |
    | autoload-options-size      | success | Autoloaded options size (16.25kb) is less than threshold (900kb).  |
    | constant-savequeries-falsy | success | Constant 'SAVEQUERIES' is undefined.                               |
    | constant-wp-debug-falsy    | success | Constant 'WP_DEBUG' is defined falsy.                              |
    | core-update                | success | WordPress is at the latest version.                                |
    | cron-count                 | success | Total number of cron jobs is within normal operating expectations. |
    | cron-duplicates            | success | All cron job counts are within normal operating expectations.      |
    | option-blog-public         | success | Site is public as expected.                                        |
    | plugin-active-count        | success | Number of active plugins (2) is less than threshold (80).          |
    | plugin-deactivated         | success | Less than 40 percent of plugins are deactivated.                   |
    | plugin-update              | success | Plugins are up to date.                                            |
    | theme-update               | warning | 1 theme has an update available.                                   |
    +----------------------------+---------+--------------------------------------------------------------------+
    ```

[wp profile](https://github.com/wp-cli/profile-command) quickly identifies what’s
slow with WordPress, by giving you visibility into key I/O indicators.

    ```
    $ wp @daniel profile stage --fields=stage,time,cache_ratio
    +------------+---------+-------------+
    | stage      | time    | cache_ratio |
    +------------+---------+-------------+
    | bootstrap  | 0.2643s | 80%         |
    | main_query | 0.0186s | 85.71%      |
    | template   | 0.0489s | 93.71%      |
    +------------+---------+-------------+
    | total (3)  | 0.3318s | 86.47%      |
    +------------+---------+-------------+
    ```

Both packages are in early stages of development — feedback welcome!

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F02%2F08%2Ftwo-new-commands-doctor-and-profile%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
6:13 pm _on_ February 1, 2017      

# 󠀁[Version 1.1.0 released](https://make.wordpress.org/cli/2017/02/01/version-1-1-0/)󠁿

Happy release day!

Today, I’m excited to bring you 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/](http://wp-cli.org/) [https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)
v1.1.0, chock full of enhancements and bug fixes.

Want to get props in the next release? There are a few projects we’ll be working
on:

 * Creating a new WPorg home for [wp-cli.org/commands](http://wp-cli.org/commands/)
   and [wp-cli.org/docs/internal-api](http://wp-cli.org/docs/internal-api/) [[meta#2465](https://meta.trac.wordpress.org/ticket/2465)]
 * Splitting internal commands into distinct packages [[#3728](https://github.com/wp-cli/wp-cli/issues/3728)]
 * Transforming some [ideas](https://github.com/wp-cli/ideas/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
   into working prototypes.

And, in case you missed it: I’m looking for help maintaining WP-CLI (paid opportunity,
commitment of 5-10 hours/week). Know someone who might fit? Email [daniel@handbuilt.co](https://make.wordpress.org/cli/page/11/daniel@handbuilt.co?output_format=md)
or pingPing The act of sending a very small amount of data to an end point. Ping
is used in computer science to illicit a response from a target server to test it’s
connection. Ping is also a term used by Slack users to @ someone or send them a 
direct message (DM). Users might say something along the lines of “Ping me when 
the meeting starts.” ‘danielbachhuber’ on the WordPress SlackSlack Slack is a Collaborative
Group Chat Platform [https://slack.com/](https://slack.com/). The WordPress community
has its own Slack Channel at [https://make.wordpress.org/chat/](https://make.wordpress.org/chat/).

## Everything in 1.1.0

Command improvements:

 * `wp cache *`:
    - Explicitly sets default cache group as ‘default’ to replicate WordPress’ behavior[
      [#3714](https://github.com/wp-cli/wp-cli/pull/3714)]
 * `wp cache type`:
    - Detects W3 Total Cache object cache [[#3637](https://github.com/wp-cli/wp-cli/pull/3637)]
 * `wp (comment|post|user) list`:
    - Magically parses CSV values for any argument with double underscore [[#3726](https://github.com/wp-cli/wp-cli/pull/3726),
      [#3744](https://github.com/wp-cli/wp-cli/pull/3744)]
 * `wp core config`:
    - Introduces `--force` parameter for overwriting existing `wp-config.php` file[
      [#3706](https://github.com/wp-cli/wp-cli/pull/3706)]
 * `wp core is-installed`:
    - Prevents error notice from `wp_guess_url()` when coreCore Core is the set 
      of software required to run WordPress. The Core Development Team builds WordPress.
      isn’t installed [[#3711](https://github.com/wp-cli/wp-cli/pull/3711)]
 * `wp core language install`:
    - Passes `$wp_version` through to `translations_api()` so that WordPress reports
      the correct language download file [[#3748](https://github.com/wp-cli/wp-cli/pull/3748)]
 * `wp core update`:
    - Supports `--version=(nightly|trunk)`, which will download the latest nightly
      build [[#3645](https://github.com/wp-cli/wp-cli/pull/3645)]
 * `wp core update-db`:
    - Updates `wpmu_upgrade_site` option for all networks, not just current, to 
      ensure the admin notice is dismissed [[#3659](https://github.com/wp-cli/wp-cli/pull/3659)]
 * `wp db *`:
    - Runs help at the same point as the command, to enable `wp help db import` 
      to be run when WordPress has been downloaded, a wp-config.php has been created,
      but WordPress hasn’t yet been installed [[#3780](https://github.com/wp-cli/wp-cli/pull/3780)]
 * `wp db cli`:
    - Makes it possible to pass arguments through to the `mysql` executable [[#3745](https://github.com/wp-cli/wp-cli/pull/3745)]
 * `wp db export`:
    - Appends a random hash to generated SQL file to help mitigate database files
      from being accessible at predictable URLs [[#3765](https://github.com/wp-cli/wp-cli/pull/3765)]
 * `wp media regenerate`:
    - Support generating thumbnails for ‘application/pdf’ for WordPress 4.7+ [[#3768](https://github.com/wp-cli/wp-cli/pull/3768)]
 * `wp plugin install`:
    - Correctly installs ZIPs uploaded to the GitHubGitHub GitHub is a website that
      offers online implementation of git repositories that 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 by the repository owner.
      [https://github.com/](https://github.com/) release page for a project [[#3776](https://github.com/wp-cli/wp-cli/pull/3776)]
    - Displays error message when a 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/](https://wordpress.org/plugins/) or can be
      cost-based plugin from a third-party. cannot be installed due to write permissions[
      [#3764](https://github.com/wp-cli/wp-cli/pull/3764)]
 * `wp scaffold plugin`:
    - Ignores `multisite.xml.dist` in scaffolded `.distignore` [[#3677](https://github.com/wp-cli/wp-cli/pull/3677)]
 * `wp scaffold plugin-tests`:
    - Opts-in to container-based infrastructure on Travis [[#3739](https://github.com/wp-cli/wp-cli/pull/3739)]
    - Supports PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is
      a widely-used open source general-purpose scripting language that is especially
      suited for web development and can be embedded into HTML. [https://www.php.net/manual/en/index.php](https://www.php.net/manual/en/index.php)
      7.1 and PHPUnit 5.7 when scaffolding `.travis.yml` [[#3758](https://github.com/wp-cli/wp-cli/pull/3758)]
    - Updates GitLab template to run WPCSWordPress Community Support A public benefit
      corporation and a subsidiary of the WordPress Foundation, [established](https://wordpressfoundation.org/news/2016/introducing-wordpress-community-support-a-public-benefit-subsidiary/)
      in 2016. tests [[#3772](https://github.com/wp-cli/wp-cli/pull/3772)]
 * `wp scaffold (plugin-tests|theme-tests)`:
    - Validates plugin/theme slug to prevent you from scaffolding tests into an 
      unexpected directory [[#3666](https://github.com/wp-cli/wp-cli/pull/3666)]
 * `wp scaffold _s`:
    - Validates theme slug earlier to provide a more understandable error [[#3724](https://github.com/wp-cli/wp-cli/pull/3724)]
 * `wp search-replace`:
    - Supports passing regex modifiers [[#3639](https://github.com/wp-cli/wp-cli/pull/3639)]
    - Only skips replacement when array is a reference to an existing array [[#3708](https://github.com/wp-cli/wp-cli/pull/3708),
      [#3713](https://github.com/wp-cli/wp-cli/pull/3713)]
 * `wp server`:
    - Sets the path global parameter as docroot [[#3700](https://github.com/wp-cli/wp-cli/pull/3700)]
 * `wp site create`:
    - Replicates core logic for creating `$newdomain` and `$path` to form proper
      path then global `$base` isn’t ‘/’ [[#3688](https://github.com/wp-cli/wp-cli/pull/3688)]
 * `wp site option list`:
    - Adds `--site_id=<id>` filterFilter Filters are one of the two types of Hooks
      [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
      They provide a way for functions to modify data of other functions. They are
      the counterpart to Actions. Unlike Actions, filters are meant to work in an
      isolated manner, and should never have side effects such as affecting global
      variables and output. [[#3769](https://github.com/wp-cli/wp-cli/pull/3769)]
 * `wp theme install`:
    - Uses httpHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is
      the underlying protocol used by the World Wide Web and this protocol defines
      how messages are formatted and transmitted, and what actions Web servers and
      browsers should take in response to various commands. cacher when automatically
      installing a parent theme [[#3689](https://github.com/wp-cli/wp-cli/pull/3689)]
 * `wp theme mod get`:
    - Introduces `--field=<field>` argument for fetching a particular field [[#3644](https://github.com/wp-cli/wp-cli/pull/3644)]

Framework enhancements:

 * Updates Composer-based dependencies to latest [[#3638](https://github.com/wp-cli/wp-cli/pull/3638),
   [#3676](https://github.com/wp-cli/wp-cli/pull/3676), [#3678](https://github.com/wp-cli/wp-cli/pull/3678),
   [#3698](https://github.com/wp-cli/wp-cli/pull/3698), [#3720](https://github.com/wp-cli/wp-cli/pull/3720),
   [#3786](https://github.com/wp-cli/wp-cli/pull/3786)]
 * Ensures passed positionals take precedent over defaults defined in `wp-cli.yml`[
   [#3648](https://github.com/wp-cli/wp-cli/pull/3648)]
 * `WP_CLI::runcommand()` correctly persists current process’ environment variables[
   [#3683](https://github.com/wp-cli/wp-cli/pull/3683), [#3730](https://github.com/wp-cli/wp-cli/pull/3730)]
 * Removes backslashes from display of path when destination folder already exists[
   [#3691](https://github.com/wp-cli/wp-cli/pull/3691)]
 * Globalizes `wp-config.php` variables to local scope too, enabling WordPress to
   properly change `$table_prefix` in multisiteMultisite Multisite is a WordPress
   feature which allows users to create a network of sites on a single WordPress
   installation. Available since WordPress version 3.0, Multisite is a continuation
   of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued
   and its features were included into WordPress core. [Advanced Administration Handbook -> Create A Network.](https://developer.wordpress.org/advanced-administration/multisite/create-network/)[
   [#3695](https://github.com/wp-cli/wp-cli/pull/3695)]
 * Adds global parameters to bash completion [[#3697](https://github.com/wp-cli/wp-cli/pull/3697)]
 * Permits dots to be used in aliases [[#3705](https://github.com/wp-cli/wp-cli/pull/3705)]
 * Introduce a Behat step for replacing a string in a file [[#3712](https://github.com/wp-cli/wp-cli/pull/3712)]

Contributors to this release (pull requests, documentation, and package authors):
[amq](https://github.com/amq), [bgeihsgt](https://github.com/bgeihsgt), [danielbachhuber](https://github.com/danielbachhuber),
[edpittol](https://github.com/edpittol), [ernilambar](https://github.com/ernilambar),
[greatislander](https://github.com/greatislander), [inderpreet99](https://github.com/inderpreet99),
[louisremi](https://github.com/louisremi), [lwh](https://github.com/lwh), [metodiew](https://github.com/metodiew),
[migueldemoura](https://github.com/migueldemoura), [miya0001](https://github.com/miya0001),
[mmcev106](https://github.com/mmcev106), [nikschavan](https://github.com/nikschavan),
[ntwb](https://github.com/ntwb), [nylen](https://github.com/nylen), [ocean90](https://github.com/ocean90),
[ramoonus](https://github.com/Ramoonus), [rosswintle](https://github.com/rosswintle),
[szepeviktor](https://github.com/szepeviktor), [trepmal](https://github.com/trepmal),
[westonruter](https://github.com/westonruter)

You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A1.1.0+is%3Aclosed)
on Github.

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F02%2F01%2Fversion-1-1-0%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
11:54 pm _on_ January 26, 2017      

# 󠀁[New home for WP-CLI docs](https://make.wordpress.org/cli/2017/01/26/new-home-for-wp-cli-docs/)󠁿

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/](http://wp-cli.org/)
[https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)’s long-form documentation
has a new shiny home: [make.wordpress.org/cli/handbook](https://make.wordpress.org/cli/handbook/)

[⌊2017-01-26 at 3.47 PM⌉⌊2017-01-26 at 3.47 PM⌉[

Want to suggest an edit?

Click on the “Edit” next to the title to submit your changes via pull request workflow.
The documents are [tracked in a GitHub repo](https://github.com/wp-cli/handbook/)
for easy collaboration. Just like with code changes, documentation contributors 
receive credit in every WP-CLI release.

Have five minutes to make the documentation better?

[Read through the handbook](https://make.wordpress.org/cli/handbook/) and [open an issue](https://github.com/wp-cli/handbook/issues)
with ideas on how we can improve or expand upon our documentation.

Happy scripting!

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F01%2F26%2Fnew-home-for-wp-cli-docs%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
11:58 pm _on_ January 18, 2017      

# 󠀁[What do you wish you had a WP-CLI command for?](https://make.wordpress.org/cli/2017/01/18/command-ideas/)󠁿

At the heart of it, 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/](http://wp-cli.org/) [https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)
commands enable you to do anything you want with WordPress, faster. Performing some
task at the command line almost always yields some (often huge) amount of efficiency
gain over the alternative.

For instance, consider the following ([from #2523](https://github.com/wp-cli/wp-cli/issues/2523)):

> Using the `theme list` command without `url` parameter shows if a theme is enabled
> for the network and active in the default site.
> If you pass the `url` of a site of the network, this command shows if a theme 
> is active in that site.
> But i can’t find a way to list which themes are inactive in every site of the 
> network so i can safely disable and delete them, and i’d love to have this feature

Without WP-CLI, you’d need to:

 1. Find an intern.
 2. Prepare a spreadsheet of all sites and themes.
 3. Have the intern go through each site to log the active theme on your spreadsheet.
 4. Evaluate the spreadsheet to determine with themes can safely be deleted.

With WP-CLI, you can simply run `wp find-unused-themes`. Pretty much infinity time
savings.

---

So, what do you wish you had a WP-CLI command for?

Now you have a place to request them. Head over to the new [wp-cli/ideas](https://github.com/wp-cli/ideas)
GitHubGitHub GitHub is a website that offers online implementation of git repositories
that 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 by the repository owner. [https://github.com/](https://github.com/)
repo and [file issues](https://github.com/wp-cli/ideas) to your heart’s content.

There’s no such thing as a bad idea. We’ll implement the best, and maintain them
as canonical WP-CLI community packages.

_But wait, how will you pick which ideas to build?_

That’s a great question — I’d [love your input on how to decide](https://github.com/wp-cli/ideas/issues/1).

The end goal for the WP-CLI package index is to be a directory of well-maintained,
canonical features. Packages will be considered community projects shepherded by
one or more maintainers, instead of the domain of a specific author. There’s a two-
fold benefit in taking this approach:

 * You (as a WP-CLI package author) will feel less burdened in maintaining your 
   package, because you have supporting resources to help you out.
 * You (as a WP-CLI user) will have greater confidence in using the packages in 
   the package index because you know there’s a small community of maintainers around
   each of them.

But, we need to work out how we get from 0 to 1 (idea to initial implementation),
and then 1 to n (ongoing development and maintenance).

_But wait, who’s “we”?_

That’s a great question too.

I’m now actively looking for someone to help me run with this vision. They’ll focus
on facilitating great community packages: soliciting and vetting ideas, establishing
best practices and standards, and supporting package maintainers. The best candidate
sweats the little details, and commitment is already a part of their track record.

In the near future, we’ll be looking for people to maintain packages in the directory.
Our goal is for maintainership to be a rewarding, enjoyable experience — and for
maintainers to extend the same to contributors.

Know anyone who might fit either of these roles? I’d love to hear from you. Email
[daniel@handbuilt.co](https://make.wordpress.org/cli/page/11/daniel@handbuilt.co?output_format=md)
or pingPing The act of sending a very small amount of data to an end point. Ping
is used in computer science to illicit a response from a target server to test it’s
connection. Ping is also a term used by Slack users to @ someone or send them a 
direct message (DM). Users might say something along the lines of “Ping me when 
the meeting starts.” ‘danielbachhuber’ on the WordPress SlackSlack Slack is a Collaborative
Group Chat Platform [https://slack.com/](https://slack.com/). The WordPress community
has its own Slack Channel at [https://make.wordpress.org/chat/](https://make.wordpress.org/chat/).

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F01%2F18%2Fcommand-ideas%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
12:36 am _on_ January 3, 2017      

# 󠀁[Let’s do this!](https://make.wordpress.org/cli/2017/01/03/lets-do-this/)󠁿

As [announced last week](https://make.wordpress.org/core/2016/12/28/supporting-the-future-of-wp-cli/),
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/](http://wp-cli.org/)
[https://make.wordpress.org/cli/](https://make.wordpress.org/cli/) is now an official
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/](https://wordpress.org/) project. I consider
this the best possible outcome of my efforts trying to identify sustainability for
the project over the last year. Frankly, it’s hard to communicate how relieved I
am.

_But wait, what does that actually mean?_

Most of the details are still to be worked out. On a high-level, these are the big
changes:

 * The website will be migrated to some part of wordpress.org, shape and form TBD.
 * Development will continue on GithubGitHub GitHub is a website that offers online
   implementation of git repositories that 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 by the repository owner. [https://github.com/](https://github.com/),
   and could possibly move to github.com/wordpress/wp-cli (see below).
 * At the end of the day, I am no longer _solely_ responsible for the project. If
   I were to be hit by a bus, there’s a more recognizable continuation plan for 
   someone else to step in. Eventually, I hope to onboard a couple more maintainers
   who regularly invest significant time in the project.

The decision to make WP-CLI an official WordPress project also means there’s a clear
path forward for me to invest more of my own time into the [WP-CLI roadmap](http://wp-cli.org/docs/roadmap/).
Concurrent with the transition process over the next couple of months, I want to
move forward the conversation of how we realize a future where WP-CLI is the fastest
way to do anything with WordPress. If that’s something you’re interested in, stay
tuned!

### Migrating the website

In order to successfully and completely migrate the wp-cli.org website to wordpress.
org (and WordPress), it’s important to understand its current form:

 * wp-cli.org is a [Jekyll-based website](https://github.com/wp-cli/wp-cli.github.com/)
   hosted on Github / Github Pages.
 * Much of the reference documentation is [generated by a series of WP-CLI commands](https://github.com/wp-cli/wp-cli.github.com/blob/master/command.php#L16-L24)
   from the WP-CLI codebase. These commands take structured data about the codebase
   and transform it into a series of Markdown files served by Jekyll. This documentation
   is typically regenerated for every major releaseMajor Release A set of releases
   or versions having the same major version number may be collectively referred
   to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and
   all other versions in the 5.2. (five dot two dot) branch of that software. Major
   Releases often are the introduction of new major features and functionality..
 * The rest of the documentation is a [series of user-editable files](https://github.com/wp-cli/wp-cli.github.com/tree/master/docs).
   It would be nice to be able to replicate the pull request workflow for editing
   the docs, because it’s a good source of contributions.
 * The WP-CLI package index (wp-cli.org/package-index) is built from a [separate Github repository](https://github.com/wp-cli/package-index).
   It uses [Satis](https://github.com/composer/satis) to build the [HTML](http://wp-cli.org/package-index/)
   and [JSON](http://wp-cli.org/package-index/packages.json) representations of 
   the package index. Satis is running on one of my personal servers.

These are the coreCore Core is the set of software required to run WordPress. The
Core Development Team builds WordPress. functions needing to be replicated on WordPress.
org. Ideally, the work done would be the foundation of where [I’d love to see the WP-CLI website go in the future](http://wp-cli.org/docs/wish-list/#website):

 * Produce command pages for the packages listed in the package index.
 * Proxy Github APIAPI An API or Application Programming Interface is a software
   intermediary that allows programs to interact with each other and share data 
   in limited, clearly defined ways. requests for new WP-CLI versions ([from 3426](https://github.com/wp-cli/wp-cli/issues/3426)).
 * Display download / installation counts for each package.
 * Display number of Github stars for each package.
 * Highlight packages in the index that are regularly updated, have multiple maintainers,
   or reflect some other quality we hold to be important.
 * Create distribution releases for packages in the package index to speed up installation(
   [from 2566](https://github.com/wp-cli/wp-cli/issues/2566)).
 * Run test suite for each package on a weekly basis ([from 3197](https://github.com/wp-cli/wp-cli/issues/3197#issuecomment-238946219)).
 * Validate packages submitted to the package index ([from 3177](https://github.com/wp-cli/wp-cli/issues/3177)).

### Migrating the Github repo

Fortunately, Github makes it easy to transfer repositories between organizations.
Before we make the switch, we need to dot the i’s and cross the t’s on these core
functions:

 * Travis is used to run the test suite. Travis also commits a build artifact to
   the [builds repo](https://github.com/wp-cli/builds).
 * WP-CLI’s update check [uses the Github releases API](https://github.com/wp-cli/wp-cli/blob/master/php/commands/cli.php#L345).
   If Github doesn’t transform the request URI for migrated repos, then users will
   experience a cryptic error. Now that I write this, this dependency might be a
   large-ish problem.
 * Similarly, some users have build systems dependent on a consistent URLURL A specific
   web address of a website or web page on the Internet, such as a website’s URL
   www.wordpress.org pattern for the release Phar file. See the [releases page](https://github.com/wp-cli/wp-cli/releases)
   for examples.

It’s also worth noting there will be more WP-CLI repositories in the future. Each
new feature will be developed as an independent package. In fact, existing features(
e.g. search-replace) are going to be split out into separate packages too. We’ll
need an organizational structure that can accommodate this growth (let it be github.
com/wordpress/wp-search-replace-command or github.com/wp-cli-packages/search-replace-
command).

Anything I’ve missed? Have a question about something I didn’t cover? Hit me up 
with a comment!

cc [@pento](https://profiles.wordpress.org/pento/)

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2017%2F01%2F03%2Flets-do-this%2F%23respond&locale=en_US)

 [  ](https://profiles.wordpress.org/wordpressdotorg/) [WordPress.org](https://profiles.wordpress.org/wordpressdotorg/)
11:03 pm _on_ December 28, 2016      

# 󠀁[Hello world!](https://make.wordpress.org/cli/2016/12/28/hello-world/)󠁿

> [Supporting the Future of wp-cli](https://make.wordpress.org/core/2016/12/28/supporting-the-future-of-wp-cli/)

 [  ](https://profiles.wordpress.org/danielbachhuber/) [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/)
12:00 am _on_ December 12, 2016      

# 󠀁[How much is WP-CLI worth to you?](https://make.wordpress.org/cli/2016/12/12/the-big-question/)󠁿

**[Update 3 12/28](https://make.wordpress.org/core/2016/12/28/supporting-the-future-of-wp-cli/)**:
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/](http://wp-cli.org/)
[https://make.wordpress.org/cli/](https://make.wordpress.org/cli/) is now an official
WordPress project. Fundraising will continue into 2017.

**[Update 2 12/15:](https://twitter.com/wpcli/status/809352614580080640)** Undecided
on how much WP-CLI is worth to you? The experiment ends Dec 28th — please make a
decision by then 🙂

**[Update 1 (12/13):](https://twitter.com/wpcli/status/808687676010287105)** Up 
to 17 subscribers so far. If we can get to 50, I’ll launch a members-only forum.

Last week, I [tweeted](https://twitter.com/danielbachhuber/status/806539537610481664):

> At a decision point with @wpcli: it’s too large for me to voluntarily maintain.
> Have an opinion on its future? I’d love to chat.

Last February, I started a business, [runcommand](https://runcommand.io/), as an
indirect way of being able to invest my time into WP-CLI. The business is doing 
alright, not great but not horrible. What I’ve come to realize, though, is that 
my time is zero-sum. I’m incentivized to spend time on runcommand, when I’d rather
spend it on WP-CLI.

Ultimately, the challenge I’m running into is opportunity cost. I’d _love_ to be
able to invest more into WP-CLI, but doing so comes at the cost of other business
pursuits. Because WP-CLI is such a large project, the several hours I volunteer 
each week are basically enough to fight entropy — not make headway on larger initiatives.

The response to my tweet has been overwhelmingly supportive. One future I’m considering
is directly commercializing WP-CLI, through patreon-esque membership, advertising
on the website, and other ideas to be determined.

So, dear reader, a question: how much is WP-CLI worth to you?

 * [$7,500/year](https://runcommand.memberful.com/checkout?plan=17529)
 * [$4,000/year](https://runcommand.memberful.com/checkout?plan=17577)
 * [$1,500/year](https://runcommand.memberful.com/checkout?plan=17528)
 * [$750/year](https://runcommand.memberful.com/checkout?plan=17553)
 * [$250/year](https://runcommand.memberful.com/checkout?plan=17552)
 * [$100/year](https://runcommand.memberful.com/checkout?plan=17526)

Or, phrased another way, how much time does WP-CLI save you?

If the experiment goes well, then we’re in business! Your purchase will support 
ongoing maintenance of WP-CLI, as well as development of new commands like [wp doctor](https://runcommand.io/wp/doctor/)
and [wp profile](https://runcommand.io/wp/profile/), [improvements to the website and package index](http://wp-cli.org/docs/wish-list/),
and so on.

If the experiment doesn’t go well, then at least I can say I tried 🙂 To avoid any
risk with the investment above, a full refund will be made available to you should
the campaign not reach its goal, before we look at other approaches to help with
maintaining the project.

Happy to take any questions you might have: [daniel@runcommand.io](https://make.wordpress.org/cli/page/11/daniel@runcommand.io?output_format=md).
I’ll keep the list below updated as new questions come in.

---

_Have you tried crowdfunding?_

Yep! See the post I wrote, “[Using Kickstarter to fund open source](https://poststatus.com/kickstarter-open-source-project/)“.
Nadia Eghbal has a [series of great articles on open source sustainability](http://nadiaeghbal.com/oss)
as well.

_How much money do you want to see to consider this a success?_

I have a number, but I’m not going to share it. I want to see if this is a viable
approach for funding a for-profit business.

_What if I want to pay a different amount?_

[Email me](https://make.wordpress.org/cli/page/11/daniel@runcommand.io?output_format=md),
and I’ll create a purchase link for you.

_Do I get anything special for paying the amount I paid?_

Potentially, but nothing to announce at this point.

I do have some ideas in mind for offerings at different levels (e.g. members-only
support forumSupport Forum WordPress Support Forums is a place to go for help and
conversations around using WordPress. Also the place to go to report issues that
are caused by errors with the WordPress code and implementations., feature prioritization,
etc.).

_Do I need to keep paying after I pay the first time?_

Well, if everyone cancels, then the business will tank 🙂

All levels are billed annually unless you disable automatic renewal.

_What if I’m an existing runcommand customer?_

If the experiment goes well, then `wp doctor` and `wp profile` will become completely
open sourceOpen Source Open Source denotes software for which the original source
code is made freely available and may be redistributed and modified. Open Source**
must be** delivered via a licensing model, see GPL.. I’ll reach out about the other
aspects of your purchase.

_What about scribu and Andreas?_

I’ve been talking with them a bit. We’re all very interested to see how this plays
out.

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2016%2F12%2F12%2Fthe-big-question%2F%23respond&locale=en_US)

## Post navigation

[← Older posts](https://make.wordpress.org/cli/page/12/?output_format=md)

[Newer posts →](https://make.wordpress.org/cli/page/10/?output_format=md)