The documentation is located in GitHub to enable a pull request-based editing workflow.
Long-form documentation (e.g. "Commands cookbook") can be edited directly.
Internal API docs and command pages are generated dynamically from the WP-CLI codebase using the
wp handbook series of commands.
Before running these commands the bash script
bin/install-packages.sh should be run to install the latest versions of the non-bundled commands in
wp must point to the target WP-CLI instance, i.e. the phar/git that contains the docblocks to be generated against, and should be run with
So for instance to generate all dynamically created documentation against the nightly phar run:
wp cli update --nightly bin/install_packages.sh WP_CLI_PACKAGES_DIR=bin/packages WP_CLI_CONFIG_PATH=/dev/null wp handbook gen-all
All documentation is imported automatically into WordPress.org in a two step process:
- WordPress reads
handbook-manifest.jsonto understand all pages that need to be created.
- Each WordPress page has a
markdown_sourceattribute specifying a Markdown file to be fetched, converted to HTML, and saved in the database.
For make.wordpress.org/cli, the import process is a WordPress plugin running a WP Cron job every 15 minutes. For developer.wordpress.org/cli, this is a class in the devhub theme running a WP Cron job every 12 hours.