New Contributors: Preparing for WordCamp Contributor Day

If you’re planning to attend a WordPress Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of There are many teams that people can participate in, each with a different focus. for the first time, then this post is for you.

The number one recommendation for first time contributors heading to Contributor Day is to prepare before heading to the event. Conference WiFi can be very unreliable, especially if everyone is installing and configuring the required software and tools at the same time. Getting set up can take a significant amount of time depending on a number of factors, even with good internet!

This is a rough guide to help you show up to Contributor Day ready to contribute!

First, a couple notes:

  • Some parts of this guide will be helpful for multiple contributor teams, but this is particularly targeted at Core team contributors. Check out this guide to get started with the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Test team.
  • Most of the information below exists somewhere in the Core handbook, but is not organized into a “guide” (the topics are stand alone).
  • You can view the full list of Make WordPress contributor teams here:
WordPress buttons

Register for and the Slack instance

This step is for all new contributors to the WordPress 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. project (regardless of contributor team)

The large majority of the communication around contributing to the WordPress open source projects happens on 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. or in the WordPress SlackSlack Slack is a Collaborative Group Chat Platform The WordPress community has its own Slack Channel at instance. Your first step should be to register for both in that order.

Top ↑

Install required software

The steps below are specifically for Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac.

In order to contribute to Core, you’ll need the following software installed on your machine:

  • GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. or SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the released code are all centrally managed through SVN. (whichever you prefer)
  • NodeJS (WordPress currently requires NodeJS 14.x)
  • npm (comes bundled with NodeJS)
  • Composer (optional, but highly recommended)

Additionally, you’ll have to choose between one of the following:

Note: There are other tools that can be used to set up a local development environment (such as Local), but the two above are the ones maintained and officially supported.

Top ↑

Decide how you’re going to work

There’s a few options for you to work with the wordpress-develop codebase.

Note: if you chose the Vagrant/Virtualbox/VVV option above, the default is the third option below, but you can change that later.

Top ↑

Forking WordPress/wordpress-develop on GitHub

This option will allow you to submit and work within a pull request 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 be the repository owner. When using this option, all of the configured automated testing will run on your code to help verify your change. You can read more about this option in the Core Handbook.

Top ↑

Using WordPress/wordpress-develop directly

With this option, you’ll clone the wordpress-develop repository locally and use that as your codebase. You won’t be able to push any changes or submit pull requests, but you will be able to create patches with your changes to submit on TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.

Top ↑

Using SVN to check out WordPress

With this option, you’ll checkout the `trunk` branch of the repository to use as your local WordPress site. Any changes you make need to be submitted as patches.

Top ↑

Docker Option

Here are the basic steps to get started with the local Docker environment:

  1. Clone your repository of choice from the previous section. If you’re using a fork that you created, the command will look like this: git clone{your GitHub username}/wordpress-develop
  2. Run cd wordpress-develop to move into the directory created by the git clone.
  3. Run npm install to install dependencies
  4. Run npm run env:start to start the development environment
  5. Run npm run env:install to set up clean installation with the user admin and the password password
  6. Run npm run build:dev to run a build.

You can now load WordPress:

Frontend: http://localhost:8889

Backend: http://localhost:8889/wp-admin/

  • Username: admin
  • Password: password

You’ll find these steps and more details in the project’s file.

Top ↑

Varying Vagrant Vagrants Option

You’ll find detailed instructions for how to get started on the project’s website.

Top ↑

Other Tips

  • Running npm install, vagrant up, or npm run env:start can be network intensive. Run these at home before you leave for the event and confirm everything’s working as expected. Depending on what you work on during Contributor Day, you may need to run these commands again. But having dependencies, virtual boxes, and containers cached locally will greatly decrease the time they take to run at the event.
  • Try creating patches or a PR ahead of time. If you’re able to start working on a ticket before the event, contributors at the event can give you feedback on your work so far.

Top ↑

Here are a handful of other helpful links that will help new Core contributors better prepare for Contributor Day.

Special thanks to Jonathan Desrosiers for writing this guide. Additional thanks to David Baumwald and Joe McGill who helped review this prior to publishing, and Micah Wood for sharing his (more detailed) document from a previous 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. that Jonathan borrowed inspiration and the list of links from.

Last updated: