{"id":19219197,"url":"https://github.com/chassis/core_dev","last_synced_at":"2026-02-25T19:06:11.994Z","repository":{"id":34269086,"uuid":"164934328","full_name":"Chassis/core_dev","owner":"Chassis","description":"A Chassis extension for WordPress Core development.","archived":false,"fork":false,"pushed_at":"2025-02-15T23:43:05.000Z","size":68,"stargazers_count":2,"open_issues_count":4,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T19:38:27.841Z","etag":null,"topics":["chassis","chassis-extension","wordpress-development"],"latest_commit_sha":null,"homepage":null,"language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chassis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-09T20:39:05.000Z","updated_at":"2025-02-15T23:43:05.000Z","dependencies_parsed_at":"2022-08-08T00:15:16.917Z","dependency_job_id":null,"html_url":"https://github.com/Chassis/core_dev","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chassis%2Fcore_dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chassis%2Fcore_dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chassis%2Fcore_dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chassis%2Fcore_dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chassis","download_url":"https://codeload.github.com/Chassis/core_dev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249062006,"owners_count":21206607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chassis","chassis-extension","wordpress-development"],"created_at":"2024-11-09T14:29:54.810Z","updated_at":"2026-02-25T19:06:06.974Z","avatar_url":"https://github.com/Chassis.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress Core Development Extension for Chassis\n\nThis extension configures a [Chassis](http://chassis.io) virtual machine for WordPress core development.\n\n## Quick Start\n\nClone Chassis into the directory of your choice with this command:\n\n```bash\n# You may change core-dev-vm to the folder name of your choice.\ngit clone --recursive https://github.com/Chassis/Chassis core-dev-vm\n```\n\nNext, create an empty `config.local.yaml` file in the root of the Chassis checkout, and paste in these options:\n\n```yaml\n# Specify the .local hostname of your choice.\nhosts:\n  - core.local\n\npaths:\n  # Use Chassis paths as normal,\n  content: content\n  base: .\n  # Except use your checkout for the WordPress directory. To switch\n  # between /src and /build, edit this line then run `vagrant provision`.\n  wp: wordpress-develop/src\n\n# Instruct Chassis to use this extension.\nextensions:\n  - core_dev\n\n# Set a PHPUnit version.\nphpunit:\n  version: 7.5\n```\n(Other [Chassis configuration options](http://docs.chassis.io/en/latest/config/) may be used as normal, so long as the above paths are provided correctly.)\n\nAfter creating this file, run `vagrant up` to initialize the virtual machine.\n\nOnce provisioned, your new WordPress development site will be available at [core.local](http://core.local), and you may login at [core.local/wp](http://core.local/wp) with the username `admin` and password `password`. The site will be using the `/src` build of the `wordpress-develop` repository, newly cloned on your host system at `[Chassis root]/wordpress-develop` and available as `/vagrant/wordpress-develop` inside the virtual machine.\n\nTo switch the site to use the **`build`** version of the site instead, edit the `wp:` line in your `config.local.yaml` to end in \"build\" instead of \"src\" then run `vagrant provision`.\n\n### A Note on the WordPress Build Process\n\n**PLEASE NOTE:** The provisioner will run `npm install` and `grunt` for you after cloning the repository, so you can get started right away. However, subsequent `npm` or `grunt` commands are left to you, the developer. If you have made changes to the code and are using the `/src` directory, run `grunt build --dev` to rebuild the project into the `/src` directory if you do not see your changes. If you are using `/build`, run `grunt` or `grunt build`. See the [WordPress core contributor handbook](https://make.wordpress.org/core/handbook/) for more information on building \u0026 developing WordPress.\n\n(Commands may be run either within the Chassis VM — _e.g._ `vagrant ssh -c 'cd /vagrant/wordpress-develop \u0026\u0026 grunt build --dev'` — or else you may run `npm install` within your host operating system and run the builds with `grunt` locally on your machine. Builds may be faster on the host system than within the VM, but using the VM's versions of Node and Grunt means you need less tooling installed outside Chassis.)\n\n## Use An Existing WordPress Checkout\n\nYou may already have `wordpress-develop` checkout out locally using `git` or `svn`. You may choose to use this repository within your VM instead of cloning a fresh copy by mapping the directory into your virtual machine using `synced_folders`.\n\nAs an example, imagine that you have your Chassis box checked out in `~/core-vm`, and your WordPress development repository checked out in `~/wordpress-develop`. In your `config.local.yaml` file inside the Chassis directory, tell Chassis to sync the folder `../wordpress-develop` into the VM as `/vagrant/wordpress-develop`.\n\n```yml\nhosts:\n  - core.local\n\npaths:\n  # Use the normal Chassis directory structure,\n  content: content\n  base: .\n  # Except use your checkout for the WordPress directory. To switch\n  # between /src and /build, edit this line then run `vagrant provision`.\n  wp: ../wordpress-develop/src\n\nsynced_folders:\n  # This will allow you to run the WP unit tests against your existing\n  # wordpress-develop repository checkout.\n  ../wordpress-develop: /vagrant/wordpress-develop\n\nextensions:\n  - core_dev\n\n```\n\n## Running the Unit Tests\n\nFrom the host machine, use `vagrant ssh` to run the unit tests inside the virtual machine:\n\n```bash\nvagrant ssh -c 'cd /vagrant/wordpress-develop \u0026\u0026 phpunit'\n```\n\nTo run a particular suite of tests, for example just the tests defined within the `WP_Test_REST_Posts_Controller` class, provide that class name with `--filter`:\n\n```bash\nvagrant ssh -c 'cd /vagrant/wordpress-develop \u0026\u0026 phpunit --filter WP_Test_REST_Posts_Controller'\n```\n\nThe best version of PHPUnit to install depends on the version of PHP you are using:\n\n* PHP 5.6: PHPUnit 4.8\n* PHP 7.0: PHPUnit 6.5\n* PHP 7.1+: PHPUnit 7.5\n\n\n## Extension Options\n\nDefine a `core_dev` key in your `config.local.yaml` to configure this extension.\n\n```yml\n# config.local.yaml\n\ncore-dev:\n    # If the wordpress-develop repo is not already checked out within the\n    # Chassis root directory, this extension will clone a fresh copy for\n    # you. To add a \"mirror\" remote pointing to your own fork of the develop\n    # repo, specify your fork's address in the `mirror` option.\n    mirror: git@github.com:{your GitHub name}/wordpress-develop.git\n```\n\n\n## Recommended Extensions\n\nThere are some other useful Chassis extensions that can help to make core contributions easier. We recommend the following extensions:\n\n* [Imagick](https://github.com/Chassis/Imagick) - Imagick speeds up image processing and allows permitting better testing of media component work.\n* [Intl](https://github.com/Chassis/intl) - A Chassis extension to install and configure Intl on your server.\n* [BC Math](https://github.com/Chassis/BCMath) - BCMath provides arbitrary precision mathematics.\n* [MailHog](https://github.com/Chassis/MailHog) - Catch all the emails WordPress sends while you're developing using Chassis!\n* [XDebug](https://github.com/Chassis/Xdebug) - Xdebug is an extension for PHP to assist with debugging and development. \n* [WP_CLI](https://github.com/Chassis/WP_CLI) - A Chassis extension to automate the installation of WP-CLI packages.\n* [Whoops](https://github.com/Chassis/Whoops) - A Chassis extension to install Whoops for PHP error reporting.\n* [Debugging](https://github.com/Chassis/Debugging) - A Chassis extension to install and activate common WordPress plugins used for debugging during development.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchassis%2Fcore_dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchassis%2Fcore_dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchassis%2Fcore_dev/lists"}