Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 32 additions & 19 deletions contributor-day.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,63 @@
# WordCamp Contributor Day
# WP-CLI Hack Day

Welcome to WCUS Contributor Day! We appreciate you sharing your time with WP-CLI.
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, so we put together this guide to make it as straightforward as possible. We're here to support you however we can.
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 you submit your pull request, add `Related https://github.com/wp-cli/wp-cli/issues/5832` so we can see all pull requests created during the day. We'll give these some special promotion in the next release notes.
When do you submit a pull request during Hack Day, please add `Related https://github.com/wp-cli/wp-cli/issues/5859` so we can easily keep track of them. We'll include them in a recap post at the end of the day.

Your table leads for the day are: [schlessera](https://github.com/schlessera), [danielbachhuber](https://github.com/danielbachhuber)
We put together this guide to make contributing as straightforward as possible. Please also join the [#cli channel in WordPress.org Slack](https://wordpress.slack.com/messages/C02RP4T41) ([sign up instructions](https://make.wordpress.org/chat/)) to chat with other contributors, for questions, etc.

Your leads for the day are: [schlessera](https://github.com/schlessera), [danielbachhuber](https://github.com/danielbachhuber), [swissspidy](https://github.com/swissspidy)

A few seasoned WP-CLI contributors are also helping out: TBD

## Getting Started

If you normally use WP-CLI on your web host or via Brew, you're most likely using the Phar executable. The Phar executable is the "built", single-file version of WP-CLI. It's compiled from a couple dozen repositories in the WP-CLI GitHub organization, so modifying WP-CLI requires working amongst those repositories.
If you normally use WP-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 GitHub organization.

Before you can work on WP-CLI, you'll need to first make sure you have PHP and a functioning MySQL or MariaDB server. Once those prerequisites are met, install the [`wp-cli-dev` development environment](https://github.com/wp-cli/wp-cli-dev) to start contributing:
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](https://getcomposer.org/), PHP, and a functioning MySQL or MariaDB server on your local machine.

```
git clone https://github.com/wp-cli/wp-cli-dev
Once the prequisites are met, clone the GitHub repository and run the installation process:

```bash
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 it's complete, you'll be able to make changes in whichever repository you'd like. However, you'll need to fork the repository and add it as a remote in order to push your feature branch.
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](https://github.com/cli/cli) is pretty helpful for this:

All WP-CLI pull requests are expected to have tests. See [running and writing tests](https://make.wordpress.org/cli/handbook/contributions/pull-requests/#running-and-writing-tests) for a complete introduction.
```bash
cd core-command
gh repo fork
```

All WP-CLI pull requests are expected to have tests. [Watch a ~10 minute video introduction](https://github.com/wp-cli/wp-cli/issues/5858), or see [running and writing tests](https://make.wordpress.org/cli/handbook/contributions/pull-requests/#running-and-writing-tests) for the written version.

## Suggested Tickets

To help you be successful during Contributor 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.
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**

- [Optional field for plugin author](https://github.com/wp-cli/extension-command/issues/368)
- [Add --all flag to uninstall commands](https://github.com/wp-cli/language-command/issues/122)
- [wp plugin update does not respect minimum PHP requirements](https://github.com/wp-cli/extension-command/issues/357)
- [WP-CLI overrides default WP password when no password is set](https://github.com/wp-cli/core-command/issues/183)
- [Add support for site archive and site deactivate by slug](https://github.com/wp-cli/entity-command/issues/257)
- [Admin context crashes because of admin.php file formatting](https://github.com/wp-cli/wp-cli/issues/5844)
- [Add url-to-id commands for each entity](https://github.com/wp-cli/entity-command/issues/429)
- [Support multiple roles in user add-role and user remove-role](https://github.com/wp-cli/entity-command/issues/423)
- [Support for forcing an update check](https://github.com/wp-cli/core-command/issues/154)
- [Include `update_version` in default plugin list and theme list fields](https://github.com/wp-cli/extension-command/issues/198)
- [Output only matching IDs in db search](https://github.com/wp-cli/db-command/issues/158)
- [Provide hardcoded edge case for hello plugin installed by Core](https://github.com/wp-cli/checksum-command/issues/33)

See [issues labeled 'good-first-issue'](https://github.com/issues?q=is%3Aopen+org%3Awp-cli+is%3Aissue+sort%3Aupdated-desc+label%3Agood-first-issue+) for a broader list.

**Seasoned contributors**

- [Run the test suite with SQLite](https://github.com/wp-cli/wp-cli/issues/5831)
- [Set WP_CLI_PACKAGES_DIR in config file](https://github.com/wp-cli/wp-cli/issues/5645)
- [Improve speed of import when uploads are available locally](https://github.com/wp-cli/import-command/issues/83)
- [Introduce a dedicated search-replace url command](https://github.com/wp-cli/search-replace-command/issues/186)
- [Path errors when running wp dist-archive on Windows](https://github.com/wp-cli/dist-archive-command/issues/76)
- [Prompt if archive file already exists, instead of overwriting automatically](https://github.com/wp-cli/dist-archive-command/issues/70)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there other issues we should add to this list for seasoned contributors?


You're obviously welcome to work on any other issue you'd like too! Contributor Day can be a good opportunity to discuss trickier issues and brainstorm approaches.
You're obviously welcome to work on [any other issue](https://github.com/issues?q=is%3Aopen+org%3Awp-cli+is%3Aissue+sort%3Aupdated-desc) you'd like too! This day can be a good opportunity to discuss trickier issues and brainstorm approaches.