{"id":18135,"date":"2025-06-12T00:42:41","date_gmt":"2025-06-12T00:42:41","guid":{"rendered":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/handbook\/pull-requests\/"},"modified":"2025-07-01T13:11:58","modified_gmt":"2025-07-01T13:11:58","slug":"pull-requests","status":"publish","type":"handbook","link":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/handbook\/contributions\/pull-requests\/","title":{"rendered":"Pull Requests"},"content":{"rendered":"<p><span tabindex='0' class='glossary-item-container'>WP-CLI<span class='glossary-item-hidden-content'><span class='glossary-item-header'>WP-CLI<\/span> <span class='glossary-item-description'>WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/http\/wp-cli.org\/\">https:\/\/round-lake.dustinice.workers.dev:443\/http\/wp-cli.org\/<\/a> <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/<\/a><\/span><\/span><\/span> follows a pull request workflow for changes to its code (and documentation). Whether you want to fix a bug or implement a new feature, the process is pretty much the same:<\/p>\n<ol>\n<li><a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/search?q=org%3Awp-cli+is%3Aopen+sort%3Aupdated-desc&amp;type=issues\">Search existing issues<\/a>; if you can\u2019t find anything related to what you want to work on, open a new issue in the appropriate repository so that you can get some initial feedback.\n<ol>\n<li>Opening an issue before submitting a pull request helps us provide architectural and implementation guidance before you spend too much time on the code.<\/li>\n<\/ol>\n<\/li>\n<li>Fork the repository you\u2019d like to modify, either the framework or one of the command packages.\n<ol>\n<li>See <a href=\"#setting-up\">Setting Up<\/a> for more details on configuring the codebase for development.<\/li>\n<\/ol>\n<\/li>\n<li>Create a branch for each issue you\u2019d like to address. Commit your changes.<\/li>\n<li>Push the code changes from your local clone to your fork.<\/li>\n<li>Open a pull request. It doesn\u2019t matter if the code isn\u2019t perfect. The idea is to get it reviewed early and iterate on it.<\/li>\n<li>Respond to <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/handbook\/code-review\/\">code review feedback<\/a> in a timely manner, recognizing development is a collaborative process.<\/li>\n<li>Once your pull request has passed code review, it will be merged into the default branch and be in the pipeline for the next release.<\/li>\n<\/ol>\n<p>New to WP-CLI commands? You may want to <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/handbook\/commands-cookbook\/\">start with the commands cookbook<\/a> to learn more about how commands work.<\/p>\n<p>There are three classes of repos you might want to edit:<\/p>\n<ul>\n<li><a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/wp-cli\/\">wp-cli\/wp-cli<\/a> is the framework implementation.<\/li>\n<li><a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/scaffold-command\/\">wp-cli\/scaffold-command<\/a> is an example of a command implementation. There are many others.<\/li>\n<li><a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/handbook\/\">wp-cli\/handbook<\/a> contains documentation rendered in the handbook.<\/li>\n<\/ul>\n<h2>Expectations<\/h2>\n<p>When submitting a pull request, there are several expectations to keep in mind.<\/p>\n<p><strong>Tests are required<\/strong><\/p>\n<p>Most of the time, we\u2019ll ask that functional or unit tests be added to cover the change. If it\u2019s a new feature, the pull request needs tests. If it\u2019s fixing a bug, the pull request needs tests.<\/p>\n<p>See the documentation below for more information on writing and running tests.<\/p>\n<p><strong>Follow <span tabindex='0' class='glossary-item-container'>WordPress Coding Standards<span class='glossary-item-hidden-content'><span class='glossary-item-header'>WordPress Coding Standards<\/span> <span class='glossary-item-description'>The Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/developer.wordpress.org\/coding-standards\/\">Coding Standards Handbook<\/a>.\rMay also refer to <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/WordPress\/WordPress-Coding-Standards\/\">The collection of PHP_CodeSniffer rules<\/a> (sniffs) used to format and validate PHP code developed for WordPress according to the PHP coding standards.<\/span><\/span><\/span><\/strong><\/p>\n<p>While not yet strictly enforced, the WP-CLI project generally follows the <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/core\/handbook\/coding-standards\/\">WordPress Coding Standards<\/a>. We may ask you to clean up your pull request if it deviates too much.<\/p>\n<p><strong>Please refrain from unnecessary code churn<\/strong><\/p>\n<p>Code refactoring should not be done just because we can. With a years-old codebase, there\u2019s an infinite number of best practice, readability, or consistency improvements that could be made. However, engaging on any of them has non-obvious costs: our time and attention, making <span tabindex='0' class='glossary-item-container'>Git<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Git<\/span> <span class='glossary-item-description'>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.\r<a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/git-scm.com\/\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/git-scm.com\/<\/a><\/span><\/span><\/span> history more difficult to review, etc. Any code changes should have clear and obvious value.<\/p>\n<p><strong>Contributions are atomic<\/strong><\/p>\n<p>To make it far easier to merge your code, each pull request should only contain one conceptual change. Keeping contributions atomic keeps the pull request discussion focused on one topic and makes it possible to approve changes on a case-by-case basis.<\/p>\n<p>If you submit a pull request with multiple conceptual changes, we\u2019ll ask you to resubmit as separate pull requests.<\/p>\n<p><strong>Make regular progress on your contribution<\/strong><\/p>\n<p>Through <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/handbook\/code-review\/\">our code review process<\/a>, we\u2019ll work with you to make sure your pull request is ready for merge. But if changes are needed and we haven\u2019t heard from you in <strong>two weeks<\/strong>, we\u2019ll consider the pull request abandoned. Someone else may pick it up and make the changes required. Or it may be closed.<\/p>\n<p>If you need to step away for any reason, make a comment on the pull request or the related issue so we can pick things up or put things on hold when needed.<\/p>\n<h2>Setting up<\/h2>\n<p>If you haven\u2019t submitted a pull request before, you\u2019ll want to install WP-CLI for local development. Depending on whether you want to work on a particular command\/package or on the entire project as a whole, the process is slightly different.<\/p>\n<h3>Working on a specific command\/package<\/h3>\n<ol>\n<li>Install <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/getcomposer.org\/\">Composer<\/a> and <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/hub.github.com\/\">hub<\/a> if you don\u2019t already have them.<\/li>\n<li>Clone the git repository of the command\/package you want to work on to your local machine. As an example for working on the <code>wp core<\/code> command: <code>hub clone wp-cli\/core-command<\/code><\/li>\n<li>Change into the cloned directory and fork WP-CLI: <code>cd core-command<\/code>.<\/li>\n<li>Install all Composer dependencies: <code>composer install<\/code><\/li>\n<li>Verify WP-CLI was installed properly: <code>vendor\/bin\/wp --info<\/code><\/li>\n<\/ol>\n<p>Within this package, you should preferably use <code>vendor\/bin\/wp<\/code> to run the command. Just using <code>wp<\/code> should work as well, but by doing that you might run the command through a different version of the framework and thus getting an unexpected result.<\/p>\n<h3>Working on the project as a whole<\/h3>\n<ol>\n<li>Install <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/getcomposer.org\/\">Composer<\/a> and <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/hub.github.com\/\">hub<\/a> if you don\u2019t already have them.<\/li>\n<li>Clone the WP-CLI git repository to your local machine: <code>git clone git@github.com:wp-cli\/wp-cli.git ~\/wp-cli<\/code><\/li>\n<li>Change into the cloned directory and fork WP-CLI: <code>cd ~\/wp-cli<\/code>. If you are going to work on the <span tabindex='0' class='glossary-item-container'>core<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Core<\/span> <span class='glossary-item-description'>Core is the set of software required to run WordPress. The Core Development Team builds WordPress.<\/span><\/span><\/span> framework itself, run <code>hub fork<\/code> here to create a pushable repository on <span tabindex='0' class='glossary-item-container'>GitHub<span class='glossary-item-hidden-content'><span class='glossary-item-header'>GitHub<\/span> <span class='glossary-item-description'>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 \u2018pull request\u2019 where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/<\/a><\/span><\/span><\/span>.<\/li>\n<li>Install all Composer dependencies: <code>composer install --prefer-source<\/code><\/li>\n<li>Alias the <code>wp<\/code> command to your new WP-CLI install: <code>alias wp='~\/wp-cli\/bin\/wp'<\/code><\/li>\n<li>Verify WP-CLI was installed properly: <code>wp --info<\/code><\/li>\n<\/ol>\n<p>Commands bundled with WP-CLI (e.g. <code>wp scaffold plugin<\/code>) will be editable from the <code>vendor\/wp-cli<\/code> directory (e.g. <code>vendor\/wp-cli\/scaffold-command<\/code>). The <code>--prefer-source<\/code> flag when installing WP-CLI ensures each command is installed as a Git clone, making it easier to commit to.<\/p>\n<p>Commands available for standalone installation (e.g. <code>wp dist-archive<\/code>) can be installed from source (e.g. <code>wp package install git@github.com:wp-cli\/dist-archive-command.git<\/code>). Run <code>wp package path &lt;package-name&gt;<\/code> to find the appropriate directory to edit.<\/p>\n<p>Importantly, you\u2019ll need to fork each repository in order to have an <code>origin<\/code> to push to. Run <code>hub fork<\/code> to fork a repository from the command-line:<\/p>\n<pre><code>$ cd vendor\/wp-cli\/scaffold-command\n$ hub fork\nUpdating danielbachhuber\nFrom https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/scaffold-command\n * [new branch]      master     -&gt; danielbachhuber\/master\nnew remote: danielbachhuber\n$ git remote -v\ndanielbachhuber git@github.com:danielbachhuber\/scaffold-command.git (fetch)\ndanielbachhuber git@github.com:danielbachhuber\/scaffold-command.git (push)\n<\/code><\/pre>\n<p>Once you\u2019ve done so, you\u2019ll have a fork in your GitHub account and new remote you can push to. If you didn\u2019t install <code>hub<\/code>, you\u2019ll need to fork the target repo through the web <span tabindex='0' class='glossary-item-container'>UI<span class='glossary-item-hidden-content'><span class='glossary-item-header'>UI<\/span> <span class='glossary-item-description'>UI is an acronym for User Interface - the layout of the page the user interacts with. Think \u2018how are they doing that\u2019 and less about what they are doing.<\/span><\/span><\/span> and manually add your fork as a remote.<\/p>\n<h2>Running and writing tests<\/h2>\n<p>There are three types of automated tests:<\/p>\n<ul>\n<li>code style sniffers, implemented using <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/squizlabs\/PHP_CodeSniffer\">PHPCS<\/a><\/li>\n<li>functional tests, implemented using <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/http\/behat.org\">Behat<\/a><\/li>\n<li>unit tests, implemented using <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/http\/phpunit.de\/\">PHPUnit<\/a><\/li>\n<\/ul>\n<h3>Code style sniffers<\/h3>\n<p>The sniffers ensure that the code adheres to a given code style, to avoid unneeded discussions about less relevant details like spacing or alignments.<\/p>\n<p>They also check for known sources of bugs and <span tabindex='0' class='glossary-item-container'>PHP<span class='glossary-item-hidden-content'><span class='glossary-item-header'>PHP<\/span> <span class='glossary-item-description'>PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.php.net\/manual\/en\/index.php\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.php.net\/manual\/en\/index.php<\/a><\/span><\/span><\/span> compatibility problems.<\/p>\n<p>To run the <span tabindex='0' class='glossary-item-container'>sniffs<span class='glossary-item-hidden-content'><span class='glossary-item-header'>sniff<\/span> <span class='glossary-item-description'>A module for <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/squizlabs\/PHP_CodeSniffer\">PHP Code Sniffer<\/a> that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/en.wikipedia.org\/wiki\/Code_smell\">code smells<\/a>, similar to how a dog would \"sniff\" out food.<\/span><\/span><\/span>:<\/p>\n<pre><code>composer phpcs\n<\/code><\/pre>\n<p>To fix the errors and warnings that can be automatically fixed:<\/p>\n<pre><code>vendor\/bin\/phpcbf\n<\/code><\/pre>\n<h3>Functional tests<\/h3>\n<p>WP-CLI uses <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/behat.org\/\">Behat<\/a> as its functional test suite. Stability between releases is an important contact WP-CLI makes with its users. Functional tests are different than unit tests in that they execute the entire WP-CLI command, and ensure they always work as expected.<\/p>\n<p>Every repository has a <code>features\/<\/code> directory with one or more <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/yaml.org\/\">YAML<\/a>-formatted <code>*.feature<\/code> files. Here\u2019s an example of what you might see:<\/p>\n<pre><code class=\"language-yml\">Feature: Manage WordPress options\n\n  Scenario: Read an individual option\n    Given a WP install\n\n    When I run `wp option get home`\n    Then STDOUT should be:\n      \"\"\"\n      https:\/\/round-lake.dustinice.workers.dev:443\/https\/example.com\n      \"\"\"\n<\/code><\/pre>\n<p>In this example:<\/p>\n<ul>\n<li><code>Feature:<\/code> documents the scope of the file.<\/li>\n<li><code>Scenario:<\/code> describes a specific test.<\/li>\n<li><code>Given<\/code> provides the initial environment for the test.<\/li>\n<li><code>When<\/code> causes an event to occur.<\/li>\n<li><code>Then<\/code> asserts what\u2019s expected after the event is complete.<\/li>\n<\/ul>\n<p>In a slightly more human-friendly form:<\/p>\n<blockquote><p>\n  I have a WordPress installation. When I run <code>wp option get home<\/code>, then the output from the command should be \u2018https:\/\/round-lake.dustinice.workers.dev:443\/https\/example.org\u2019.\n<\/p><\/blockquote>\n<p>Essentially, WP-CLI\u2019s functional test suite lets you <em>describe how a command should work<\/em>, and then run that description as a functional test.<\/p>\n<p>Notably, Behat is simply the framework for writing these tests. We\u2019ve written our own custom <code>Given<\/code>, <code>When<\/code>, and <code>Then<\/code> step definitions (<a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/wp-cli-tests\/blob\/560ed5ca2776b6b3b66c79a6e6dc62904ae20b3b\/src\/Context\/GivenStepDefinitions.php#L105-L110\">example<\/a>, <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/wp-cli-tests\/blob\/560ed5ca2776b6b3b66c79a6e6dc62904ae20b3b\/src\/Context\/WhenStepDefinitions.php#L34-L42\">example<\/a>).<\/p>\n<h4>Creating a test database<\/h4>\n<p>Before running the functional tests, you\u2019ll need a <span tabindex='0' class='glossary-item-container'>MySQL<span class='glossary-item-hidden-content'><span class='glossary-item-header'>MySQL<\/span> <span class='glossary-item-description'>MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.mysql.com\/\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.mysql.com<\/a><\/span><\/span><\/span> (or MariaDB) user called <code>wp_cli_test<\/code> with the password <code>password1<\/code> that has full privileges on the MySQL database <code>wp_cli_test<\/code>.<br>\nTo override these credentials you can make use of the <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/wp-cli-tests#the-database-credentials\">database credentials constants of wp-cli-tests<\/a><\/p>\n<p>If your user has the correct permissions, the database can also be set up by running <code>composer prepare-tests<\/code>. This will create the database and the user and configure the necessary privileges. Note that this operation is not needed for every test run, it only needs to be run the first time for the initial setup.<\/p>\n<p><strong>Note: If you are using MySQL &gt;= 8.0, you may experience inconsistencies with WP-CLI successfully connecting to the database. MySQL 8.0 changed the default authentication <span tabindex='0' class='glossary-item-container'>plugin<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Plugin<\/span> <span class='glossary-item-description'>A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/wordpress.org\/plugins\/\">https:\/\/round-lake.dustinice.workers.dev:443\/https\/wordpress.org\/plugins\/<\/a> or can be cost-based plugin from a third-party.<\/span><\/span><\/span> and some clients (such as PHP) do not yet support this change. More information can be found on <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/jonathandesrosiers.com\/2019\/02\/trouble-connecting-to-database-when-using-mysql-8-x\/\">this blog post<\/a>.<\/strong><\/p>\n<h4>Running the test suite<\/h4>\n<p>Then, to run the entire test suite:<\/p>\n<pre><code>composer behat\n<\/code><\/pre>\n<p>Or to test a scenario at a specific line:<\/p>\n<pre><code>composer behat -- features\/core.feature:10\n<\/code><\/pre>\n<p>Or to test a single feature:<\/p>\n<pre><code>composer behat -- features\/core.feature\n<\/code><\/pre>\n<p>Or to test a single feature with more verbosity:<\/p>\n<pre><code>composer behat -- features\/core.feature --format pretty\n<\/code><\/pre>\n<p>To run only the tests that failed during the previous run:<\/p>\n<pre><code>composer behat-rerun\n<\/code><\/pre>\n<p>When writing new tests, to see which step definitions are available:<\/p>\n<pre><code>composer behat -- --definitions l\n<\/code><\/pre>\n<p>More info can be found by using <code>composer behat -- --help<\/code>.<\/p>\n<h3>Unit tests<\/h3>\n<p>The unit test files are in the <code>tests\/<\/code> directory.<\/p>\n<p>To run the unit tests, execute:<\/p>\n<pre><code>composer phpunit\n<\/code><\/pre>\n<p>To run a specific unit test, you can use:<\/p>\n<pre><code>composer phpunit -- filter=&lt;method name&gt;\n<\/code><\/pre>\n<h3>Running all tests in one go<\/h3>\n<p>To run all tests in one go:<\/p>\n<pre><code>composer test\n<\/code><\/pre>\n<p>This will run all the tests that the package is set up to use, based on the presence of the respective configuration files.<\/p>\n<p>Each repository is configured to run all of its active tests on every code push. The <a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/github.com\/wp-cli\/automated-tests\">wp-cli\/automated-tests<\/a> repository runs all tests for all repositories on a regular basis.<\/p>\n<h2>Finally\u2026<\/h2>\n<p>Thanks! Hacking on WP-CLI should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation!<\/p>\n<nav class='o2-post-footer-actions'><ul class='o2-post-footer-action-row'><\/ul><div class='o2-post-footer-action-likes'><\/div><ul class='o2-post-footer-action-row'><\/ul><\/nav>","protected":false},"author":368236,"featured_media":0,"parent":18369,"menu_order":0,"template":"","meta":{"footnotes":""},"class_list":["post-18135","handbook","type-handbook","status-publish","hentry","author-swissspidy","make-pull-requests"],"revision_note":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/handbook\/18135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/handbook"}],"about":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/types\/handbook"}],"author":[{"embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/users\/368236"}],"version-history":[{"count":1,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/handbook\/18135\/revisions"}],"predecessor-version":[{"id":18330,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/handbook\/18135\/revisions\/18330"}],"up":[{"embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/handbook\/18369"}],"wp:attachment":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/make.wordpress.org\/cli\/wp-json\/wp\/v2\/media?parent=18135"}],"curies":[{"name":"wp","href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/api.w.org\/{rel}","templated":true}]}}