Getting Started at a Contributor Day

This guide is intended to help you get started at a contributor day. It includes a schematic outline of what the group does and how to quickly get started. If you need any help, talk to the contributor day organizer, or ask your question in the #core channel in Slack.

This is a work in progress so don’t be afraid to amend the document or leave comments, particularly if you’re at a contributor day and find that we’ve missed something.

Regular Meeting Time: Wednesdays at 21:00 UTC
Where: #core channel on Slack

Group responsibilities Group responsibilities

The responsibilities of the core group are:

  • To maintain the code and develop it for the future
  • Develop new features for WordPress
  • Maintain and improve design and UX
  • Design, develop, and maintain default themes
  • Maintain the utilities used to develop core
  • Maintaining the bug tracker

Top ↑

Common Tasks Common Tasks

As a member of the core group, some common tasks that you’ll carry out are:

  • Testing patches and fixing bugs
  • Handling stability and security issues
  • Code new features
  • Work on the user interface
  • User testing for new features
  • Writing unit tests to keep WordPress stable
  • Bug gardening

Top ↑

Prior Knowledge Prior Knowledge

Prior knowledge that you’ll find helpful for working on core is:

  • Grasp of whatever coding language you want to help out with, e.g. CSS, PHP, or Javascript
  • Familiarity with WordPress is beneficial but you don’t need a deep understanding of core to get started

Top ↑

Tools Tools

  • A version control system: either SVN or Git
  • a local development environment; for example, MAMP, WAMP, Vagrant, or XAMPP
  • for unit testing, PHPUnit
  • Grunt for compiling assets, building release packages, and JavaScript and PHP testing
  • QUnit for Javascript testing

Top ↑

Essential Reading Essential Reading

Top ↑

First Steps First Steps

The first step is to get set up with a local environment:

1. Install SVN: Mac |
2. Install a local server: Mac | Windows | Windows (alternative)
3. Check out the WordPress codebase using SVN

After that:

There are other ways that you can help out:

Top ↑

Tasks Tasks

Some easy tasks for a first time contributor to get started at a contributor day are:

Top ↑

Gutenberg Contributions:
Gutenberg Contributions:

Prerequisites: Prerequisites:

  • A local dev environment running WordPress (we suggest VVV)
  • Latest npm version. 

If you are unsure if you are on the latest npm version, run the following command:

 npm install npm@latest -g 
  •  
  • Docker – https://docs.docker.com/install/

A handy guide to setting up your local environment can be found in Contributing.md in the Gutenberg github repository. There you will find commands to help get your local environment up and running.

Largely, the setup process can be finished end to end by running the following command from the Gutenberg directory (Powershell works well if you are on Windows.):

./bin/setup-local-env.sh

The script will go step by step through the process of validating prerequisites are met. If there is something missing, the script will report what needs to be done to complete the setup. Re running the script a few times after making the suggested changes will complete setup.

Once you have the development version of Gutenberg running on your local environment you will need to run the following from within the Gutenberg directory:

npm run dev

This will monitor/update changes you make.

In order to avoid huge downloads at WCUS it is recommended that the environment is configured before the event.

Top ↑

Good First Gutenberg Issues: Good First Gutenberg Issues:

If you are looking for some unassigned first issues to get familiar with contribution to Gutenberg, look here.

Top ↑

Gutenberg First issue steps: Gutenberg First issue steps:

  1. Fork the Gutenberg repository to your own account.
  2. Clone your fork locally to your ‘plugins’ directory using `git clone`
  3. Create a new branch in your fork with the the issue number somewhere in the branch name (example: `fix-admin-align-center-12306` would be a good branch name for issue: “Latest Posts block “align center” has no effect in admin #12306”)
  4. Make an initial commit 
  5. Publish your branch using: 
git push -u origin <branch name&gt;

Now you are ready to make your changes locally to fix the issue. When finished, commit your changes and push them to your branch.

If you are ready to submit your changes for review to merge into Gutenberg, simply create a pull request via github.com by navigating to your branch. Create pull request and fill out the information requested in the form.