Welcome to WP-CLI Hack Day! We appreciate you taking time to contribute to the project.
We’d love to help you submit at least one pull request today. Given this goal, you’ll likely want to start with something small and attainable. After you’ve submitted your first pull request for the day, you’re welcome to work on something more ambitious.
When do you submit a pull request during Hack Day, please add Related https://github.com/wp-cli/wp-cli/issues/5935
so we can easily keep track of them. We’ll include them in a recap post at the end of the day.
We put together this guide to make contributing as straightforward as possible. Please also join the #cli channel in WordPress.org Slack (sign up instructions) to chat with other contributors, for questions, etc.
Your leads for the day are: schlessera, danielbachhuber, swissspidy
Open Video Sessions
During the Hack Day, we’ll have two open video chat sessions:
- 🕓 02:00-03:00 PST / 05:00-06:00 EST / 09:00-10:00 UTC / 11:00-12:00 CEST / 18:00-19:00 JST
- 🕓 08:00-09:00 PST / 11:00-12:00 EST / 15:00-16:00 UTC / 17:00-18:00 CEST / 00:00-01:00 JST
These sessions are a great opportunity to discuss remaining issues live, chat about the progress we’ve made, and to connect with the community. Feel free to join these to talk through any challenges or share your updates!
Getting Started
If you normally use 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/ on your web host or via Brew, you’re most likely using the Phar executable (wp-cli.phar
). This Phar executable file is the “built”, singular version of WP-CLI. It is compiled from a couple dozen repositories in the WP-CLI 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 be the repository owner. https://github.com/ organization.
In order to make code changes to WP-CLI, you’ll need to set up the wp-cli-dev
development environment on your local machine. Before you can proceed, though, you’ll need to make sure you have Composer, 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/preface.php., and a functioning MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. or MariaDB server on your local machine.
Once the prequisites are met, clone the GitHub repository and run the installation process:
git clone https://github.com/wp-cli/wp-cli-dev wp-cli-dev
cd wp-cli-dev
composer install
composer prepare-tests
The wp-cli-dev
installation process clones all of WP-CLI’s repositories to your local machine. After the installation process is complete, you can make changes in whichever repository you like. You’ll need to fork the repository in order to push your feature branch, however. GitHub’s CLI is pretty helpful for this:
cd core-command
gh repo fork
We have started a video tutorial series that you can watch here: WP-CLI Contribution Tutorials. These videos will provide an overview of the packages and then go through setting up the development environment to allow you to run automated tests locally.
All WP-CLI pull requests are expected to have tests. Watch a ~10 minute video introduction, or see running and writing tests for the written version.
Suggested Tickets
To help you be successful during the day, we curated a list of reasonably approachable and actionable issues.
Feel free to comment directly on the issue if you plan to work on it. We don’t usually assign issues, so no need to worry about that.
New contributors
- Regenerating a single image size (re-)generates auto-scaled big images & auto-rotated images
- wp plugin update all doesnt display info which plugin is being updated
- No thumbnail when importing PDF file using
media import
- Allow theme slug renaming
- Subtheme installation fails after installing main theme, if subtheme was tried first, due to left-behind directory
- Include more information with wp plugin list
- Output only matching IDs in db search
- DB-Check fails if Database requires SSL
See issues labeled ‘good-first-issue’ or issues labeled ‘contributor-day’ for a broader list.
Seasoned contributors
- Plugin Dependencies Support
- Set WP_CLI_PACKAGES_DIR in config file
- Cache wp plugin install from GitHub
- Improve speed of import when uploads are available locally
- Introduce a dedicated search-replace url command
You’re obviously welcome to work on any other issue you’d like too! Bug fixes in particular are very welcome. This day can be a good opportunity to discuss trickier issues and brainstorm approaches.
Thank You for Contributing
We appreciate your taking the time to participate in the Hack Day and contribute to wp-cli
. Have fun, and we look forward to seeing you on Slack!