Title: Code contributions
Published: July 15, 2026
Last modified: July 16, 2026

---

# Code contributions

## In this article

 * [Contribute Pull Requests](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#contribute-pull-requests)
    - [Running a local Multisite](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#running-a-local-multisite)
 * [Debugging](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#debugging)
    - [Use VS Code and Chrome](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#use-vs-code-and-chrome)
    - [Debugging PHP](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#debugging-php)

[ Back to top](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#wp--skip-link--target)

Like all WordPress projects, Playground uses GitHub to manage code and track issues.
The main repository is at [https://github.com/WordPress/wordpress-playground](https://github.com/WordPress/wordpress-playground)
and the Playground Tools repository is at [https://github.com/WordPress/playground-tools/](https://github.com/WordPress/playground-tools/).

**Contribute to Playground Tools**

This guide includes links to the main repository, but all the steps and options 
apply for both. If you’re interested in the plugins or [local development](https://developer.wordpress.org/playground/developers/local-development/)
tools—start there.

Browse [the list of open issues](https://github.com/wordpress/wordpress-playground/issues)
to find what to work on. The [`Good First Issue`](https://github.com/wordpress/wordpress-playground/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22)
label is a recommended starting point for first-time contributors.

Be sure to review the following resources before you begin:

 * [Coding principles](https://developer.wordpress.org/playground/contributing/coding-standards)
 * [Architecture](https://developer.wordpress.org/playground/developers/architecture)
 * [Vision and Philosophy](https://github.com/WordPress/wordpress-playground/issues/472)
 * [WordPress Playground Roadmap](https://github.com/WordPress/wordpress-playground/issues/525)

## 󠀁[Contribute Pull Requests](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#contribute-pull-requests)󠁿

[Fork the Playground repository](https://github.com/WordPress/wordpress-playground/fork)
and clone it to your local machine. To do that, copy and paste these commands into
your terminal:

    ```bash
    git clone -b trunk --single-branch --depth 1 --recurse-submodules

    # replace `YOUR-GITHUB-USERNAME` with your GitHub username:
    git@github.com:YOUR-GITHUB-USERNAME/wordpress-playground.git
    cd wordpress-playground
    npm install
    ```

Create a branch, make changes, and test it locally by running the following command:

    ```bash
    npm run dev
    ```

Playground will open in a new browser tab and refresh automatically with each change.

**Troubleshooting: File watcher limit on Linux**

On Linux, you might see an error like `ENOSPC: System limit for number of file watchers
reached` when running `npm run dev`. This happens because the Playground repository
has more files than the default system limit allows to watch.

To fix this, first check your current limit:

    ```bash
    cat /proc/sys/fs/inotify/max_user_watches
    ```

If it’s around 65,536 or lower, increase it by running:

    ```bash
    sudo sysctl fs.inotify.max_user_watches=131070
    sudo sysctl -p
    ```

Then try `npm run dev` again. This is a common issue on Debian, Ubuntu, and other
Linux distributions.

When your’e ready, commit the changes and submit a Pull Request.

**Formatting**

We handle code formatting and linting automatically. Relax, type away, and let the
machines do the work.

### 󠀁[Running a local Multisite](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#running-a-local-multisite)󠁿

WordPress Multisite has a few [restrictions when run locally](https://developer.wordpress.org/advanced-administration/multisite/prepare-network/#restrictions).
If you plan to test a Multisite network using Playground’s `enableMultisite` step,
make sure you either change Playground CLI’s default port or set a local test domain
running via HTTPS.

To change Playground CLI’s default port to the one supported by WordPress
 Multisite,
run it using the `--port=80` flag:

    ```bash
    npx @wp-playground/cli@latest start --port=80
    ```

There are a few ways to set up a local test domain, including editing your `hosts`
file. If you’re unsure how to do that, we suggest installing [Laravel Valet](https://laravel.com/docs/11.x/valet)
and then running the following command:

    ```bash
    valet proxy playground.test http://127.0.0.1:5400 --secure
    ```

Your dev server is now available on https://playground.test.

## 󠀁[Debugging](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#debugging)󠁿

### 󠀁[Use VS Code and Chrome](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#use-vs-code-and-chrome)󠁿

If you’re using VS Code and have Chrome installed, you can debug Playground in the
code editor:

 * Open the project folder in VS Code.
 * Select Run > Start Debugging from the main menu or press `F5`/`fn`+`F5`.

### 󠀁[Debugging PHP](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#debugging-php)󠁿

Playground logs PHP errors in the browser console after every PHP request.

First published

July 15, 2026

Last updated

July 16, 2026

Edit article

[ Improve it on GitHub: Code contributions ](https://raw.githubusercontent.com/WordPress/wordpress-playground/trunk/packages/docs/site/docs/main/contributing/code.md)

Changelog

[ See list of changes: Code contributions ](https://developer.wordpress.org/playground/handbook/contributing/code/?output_format=md#)

[  Previous: Contributing to WordPress Playground project](https://developer.wordpress.org/playground/handbook/contributing/)

[  Next: Releasing packages](https://developer.wordpress.org/playground/handbook/contributing/releases/)