| name | wp-core-contributing |
| description | This skill should be used when the user asks to "contribute to WordPress core", "fix a WordPress bug", "create a Trac patch", "contribute to Gutenberg", "find a good first bug", "submit a WordPress patch", "work on WordPress core", "set up a core development environment", "WordPress core development", "fix a Gutenberg issue", "create a PR for Gutenberg", "find good first issues", "work on a Trac ticket", "test a WordPress patch", "review a WordPress patch", or mentions WordPress core contributions, Trac patches, or Gutenberg PRs. Covers both Trac (core) and GitHub (Gutenberg) contribution workflows using Studio CLI.
|
| version | 1.0.0 |
Contributing to WordPress Core with Studio CLI
Studio CLI provides a fast, zero-dependency environment for contributing to WordPress core. No Docker, no VVV, no MAMP -- just create a site with --wp nightly and start fixing bugs.
Two Contribution Paths
WordPress has two main contribution paths:
| Path | What | Where | Workflow |
|---|
| WordPress Core (Trac) | PHP, REST API, admin, bundled themes | core.trac.wordpress.org | SVN patches on Trac tickets |
| Gutenberg (GitHub) | Block editor, block library, site editor | github.com/WordPress/gutenberg | Git branches + GitHub PRs |
Not sure which? If your change involves the block editor UI, block library, or site editor, it's Gutenberg. Everything else (PHP functions, REST API, admin screens, bundled themes, core JavaScript) goes through Trac.
Quick Setup
studio site create --name "Core Dev" --wp nightly --php 8.3 --path ~/wp-sites/core-dev
studio site create --name "Core Reference" --wp nightly --php 8.3 --path ~/wp-sites/core-reference
studio wp core version --path ~/wp-sites/core-dev
The working site (core-dev) is where you make changes. The reference site (core-reference) stays untouched so you can generate clean patches with diff.
Contribution Decision Tree
Want to contribute to WordPress?
|
+-- Is it about the block editor / site editor?
| |
| +-- YES --> Gutenberg (GitHub)
| | See: references/gutenberg-workflow.md
| |
| +-- NO --> WordPress Core (Trac)
| |
| +-- Do you have a specific ticket?
| | |
| | +-- YES --> Reproduce, fix, patch
| | | See: references/trac-workflow.md
| | |
| | +-- NO --> Find a good first bug
| | https://core.trac.wordpress.org/tickets/good-first-bugs
| | See: references/trac-workflow.md
Quick Reference
| Task | Command / URL |
|---|
| Create nightly dev site | studio site create --name "Core Dev" --wp nightly --path ~/wp-sites/core-dev |
| Switch PHP version | studio site set --php 8.1 --path ~/wp-sites/core-dev |
| Switch WP version | studio site set --wp 6.5 --path ~/wp-sites/core-dev |
| Run WP-CLI | studio wp <command> --path ~/wp-sites/core-dev |
| Enable Xdebug | studio site set --xdebug --path ~/wp-sites/core-dev |
| Good First Bugs (Trac) | https://core.trac.wordpress.org/tickets/good-first-bugs |
| Good First Issues (Gutenberg) | https://github.com/WordPress/gutenberg/labels/Good%20First%20Issue |
| WordPress Coding Standards | https://developer.wordpress.org/coding-standards/ |
| Core Handbook | https://make.wordpress.org/core/handbook/ |
| Gutenberg Contributor Guide | https://developer.wordpress.org/block-editor/contributors/ |
Key Concepts
- Nightly builds (
--wp nightly): Development version of WordPress, rebuilt daily from trunk. Always use this for core contributions.
- Trac tickets: WordPress uses Trac for issue tracking. Tickets have keywords like
good-first-bug, has-patch, needs-testing.
- SVN patches: Core contributions are submitted as unified diff patches (
.diff or .patch files) attached to Trac tickets.
- Gutenberg PRs: Gutenberg uses standard GitHub pull request workflow with automated CI checks.
- PHP version testing: Core must work across PHP 7.2-8.3+. Use
studio site set --php to test different versions.
Reference Files
references/trac-workflow.md -- Load when contributing to WordPress core via Trac. Covers finding tickets, reproducing bugs, creating patches, and submitting them. Full Trac contribution lifecycle.
references/gutenberg-workflow.md -- Load when contributing to Gutenberg via GitHub. Covers cloning the repo, building, symlinking to a Studio site, running tests, and creating PRs.
references/core-dev-environment.md -- Load when setting up or optimizing your core development environment. Covers reference installs for diffing, WP-CLI debugging, Xdebug setup, multi-PHP testing, and version comparison.