{"id":13549084,"url":"https://github.com/wprig/wprig","last_synced_at":"2026-03-17T06:17:23.170Z","repository":{"id":33246571,"uuid":"133411492","full_name":"wprig/wprig","owner":"wprig","description":"A progressive theme development rig for WordPress.","archived":false,"fork":false,"pushed_at":"2025-03-28T22:13:47.000Z","size":5700,"stargazers_count":1286,"open_issues_count":99,"forks_count":283,"subscribers_count":68,"default_branch":"master","last_synced_at":"2025-04-11T04:59:39.805Z","etag":null,"topics":["amp","hacktoberfest","hacktoberfest-2021","hacktoberfest2021","performance","progressive","wordpress"],"latest_commit_sha":null,"homepage":"https://wprig.io","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wprig.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-14T19:29:28.000Z","updated_at":"2025-03-28T14:19:11.000Z","dependencies_parsed_at":"2023-01-15T00:04:52.830Z","dependency_job_id":"d24069eb-9532-43b4-894d-6231593c3b63","html_url":"https://github.com/wprig/wprig","commit_stats":{"total_commits":472,"total_committers":40,"mean_commits":11.8,"dds":0.8220338983050848,"last_synced_commit":"af1171ff184082c17a0bd9e11784ca226869ed15"},"previous_names":[],"tags_count":20,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wprig%2Fwprig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wprig%2Fwprig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wprig%2Fwprig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wprig%2Fwprig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wprig","download_url":"https://codeload.github.com/wprig/wprig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345273,"owners_count":21088244,"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":["amp","hacktoberfest","hacktoberfest-2021","hacktoberfest2021","performance","progressive","wordpress"],"created_at":"2024-08-01T12:01:18.074Z","updated_at":"2026-03-17T06:17:18.129Z","avatar_url":"https://github.com/wprig.png","language":"PHP","readme":"\u003cimg align=\"right\" width=\"90\" height=\"90\"\nsrc=\"https://avatars1.githubusercontent.com/u/38340689\"\ntitle=\"WP Rig logo by Morten Rand-Hendriksen and Rob Ruiz\"\u003e\n\n# WP Rig: WordPress Theme Boilerplate\n\n[![Build Status](https://travis-ci.com/wprig/wprig.svg?branch=master)](https://travis-ci.com/github/wprig/wprig)\n[![License: GPL](https://img.shields.io/github/license/wprig/wprig)](/LICENSE)\n[![GitHub release](https://img.shields.io/github/v/release/wprig/wprig?include_prereleases)](https://github.com/wprig/wprig/releases)\n\n## Your Performance-Focused Development Rig\n\nA progressive theme development rig for WordPress, WP Rig is built to promote the latest best practices for progressive\nweb content and optimization. Creating a theme from WP Rig means adopting this approach and the core principles it is\nbuilt on:\n\n- Accessibility\n- Mobile-first\n- Progressive enhancement\n- [Resilient Web Design](https://resilientwebdesign.com/)\n- Progressive Web App enabled\n\nWe are trying to be the starter theme for design-focused devs. If you have any ideas, questions, or suggestions for this\nproject or are seeking to get involved in contributing or maintaining, please check out\nour [discussion board on Github](https://github.com/wprig/wprig/discussions) and\nread [our contribute page](https://wprig.io/contribute/) on our website.\n\n## Documentation\n\nWe have a new Documentation area that can be found on the [WP Rig website](https://wprig.io/documentation/).\nIf you would like to contribute to our documentation efforts, please submit a request on\nour [contribute page](https://wprig.io/contribute/) on our website.\n\n## Installation\n\nWP Rig has been tested on Linux, Mac, and Windows.\n\n### Requirements\n\nWP Rig requires the following dependencies. Full installation instructions are provided at their respective websites.\n\n- [PHP](http://php.net/) 8.0 or higher (PHP 8.3 recommended)\n- [npm](https://www.npmjs.com/)\n- [Composer](https://getcomposer.org/) (installed globally)\n\n### WP Rig and child themes\n\nWP Rig is built to lay a solid theme foundation, which is excellent for a parent theme but not for a child theme. A\nchild theme is meant to only add on or modify the foundation. As such, WP Rig is not intended for making child themes to\nextend any themes, whether they were originally built with WP Rig or not.\n\n### How to install WP Rig:\n\n1. Clone or download this repository to the themes folder of a WordPress site on your development environment.\n\t- DO NOT give the WP Rig theme directory the same name as your eventual production theme. Suggested directory names\n\t  are `wprig` or `wprig-themeslug`. For instance, if your theme will eventually be named “Excalibur” your\n\t  development directory could be named `wprig-excalibur`. The `excalibur` directory will be automatically created\n\t  during the production process and should not exist beforehand.\n2. Configure theme settings, including the theme slug and name.\n\t- View `./config/config.default.json` for the default settings.\n\t- Place custom theme settings in `./config/config.json` to override default settings.\n\t\t- You do not have to include all settings from config.default.json. Just the settings you want to override.\n\t- Place local-only theme settings in `./config/config.local.json`, e.g. potentially sensitive info like the path to\n\t  your BrowserSync certificate.\n\t\t- Again, only include the settings you want to override.\n3. In the command line, run `npm run rig-init` to install necessary node and Composer dependencies.\n4. In the command line, run `npm run dev` to process source files, build the development theme, and watch files for\n   subsequent changes.\n\t- `npm run build` can be used to process the source files and build the development theme without watching files\n\t  afterwards.\n5. In WordPress admin, activate the WP Rig development theme.\n\n#### Defining custom settings for the project\n\nHere is an example of creating a custom theme config file for the project. In this example, we want a custom slug, name,\nand author.\n\nPlace the following in your `./config/config.json` file. This config will be versioned in your repo, so all developers\nuse the same settings.\n\n```\n{\n  \"theme\": {\n    \"slug\": \"newthemeslug\",\n    \"name\": \"New Theme Name\",\n    \"author\": \"Name of the theme author\"\n  }\n}\n```\n\n#### Defining custom settings for your local environment\n\nSome theme settings should only be set for your local environment. For example, if you want to set local information for\nBrowserSync.\n\nPlace the following in your `./config/config.local.json` file. This config will not be tracked in your repo and will\nonly be executed in your local development environment.\n\n```\n{\n  \"browserSync\": {\n    \"live\": true,\n    \"proxyURL\": \"localwprigenv.test\",\n    \"https\": true,\n    \"keyPath\": \"/path/to/my/browsersync/key\",\n    \"certPath\": \"/path/to/my/browsersync/certificate\"\n  }\n}\n```\n\nIf your local environment uses a specific port number, for example, `8888`, add it to the `proxyURL` setting as follows:\n\n```\n\"proxyURL\": \"localwprigenv.test:8888\"\n```\n\n## How to build WP Rig for production:\n\n1. Follow the steps above to install WP Rig.\n2. Run `npm run bundle` from inside the `wp-rig` development theme.\n3. A new, production-ready theme will be generated in `wp-content/themes`.\n4. The production theme can be activated or uploaded to a production environment.\n\n### Wiki: Recommended code editor extensions\n\nTo take full advantage of the features in WP Rig, visit\nthe [Recommended code editor extensions Wiki page](https://github.com/wprig/wprig/wiki/Recommended-code-editor-extensions).\n\n## Working with WP Rig\n\nWP Rig can be used in any development environment. It does not require any specific platform or server setup. It also\ndoes not have an opinion about what local or virtual server solution the developer uses.\n\nBefore the first run, visit the [BrowserSync wiki page](https://github.com/wprig/wprig/wiki/BrowserSync).\n\n### Available Processes\n\n#### `dev watch` process\n\n`npm run dev` will run the default development task that processes source files. While this process is running, source\nfiles will be watched for changes, and the BrowserSync server will run. This process is optimized for speed, so you can\niterate quickly.\n\n#### `dev build` process\n\n`npm run build` processes source files one-time. It does not watch for changes nor start the BrowserSync server.\n\n#### `translate` process\n\nThe translation process generates a `.pot` file for the theme in the `./languages/` directory.\n\nThe translation process will run automatically during production builds unless the `export:generatePotFile`\nconfiguration value in `./config/config.json` is set to `false`.\n\nThe translation process can also be run manually with `npm run translate`. However, unless `NODE_ENV` is defined\nas `production`, the `.pot` file will be generated against the source files, not the production files.\n\n#### `production bundle` process\n\n`npm run bundle` generates a production-ready theme as a new theme directory and, optionally, a `.zip` archive. This\nbuilds all source files, optimizes the built files for production, does a string replacement and runs translations.\nNon-essential files from the `wp-rig` development theme are not copied to the production theme.\n\nTo bundle the theme without creating a zip archive, define the `export:compress` setting in `./config/config.json`\nto `false`:\n\n```javascript\nexport:\n{\n\tcompress: false\n}\n```\n\n### Build process\n\nWP Rig uses a fast end efficient build process to generate and optimize the code\nfor the theme. [Gulp 5](https://gulpjs.com/), [Lightning CSS](https://lightningcss.dev/), and [esbuid](https://esbuild.github.io/) are mainly used to provide the underlying functionality.\nAll development is done in the `wp-rig` development theme. Feel free to edit any `.php` files.\nYou should only edit the source asset files in the following\nlocations:\n\n- CSS: `assets/css/src` (Processed by Lightning CSS)\n- JavaScript/Typescript: `assets/js/src` (Processed by esbuild)\n- images: `assets/images/src` (Processed by Gulp)\n\nFor more information about the Gulp processes, what processes are available, and how to run them individually, visit\nthe [Gulp Wiki page](https://github.com/wprig/wprig/wiki/Gulp).\n\n### Browser Support\n\nAs WP Rig processes CSS and JavaScript, it will support the browsers listed in `.browserslistrc`. Note that WP Rig will\n**not** add polyfills for missing browser support. WP Rig **will** add CSS prefixes and transpile JavaScript.\n\n## Advanced Features\n\nWP Rig gives the developer an out of the box environment with support for modern technologies, including ES2015, CSS\ngrid, CSS custom properties (variables), CSS nesting and more, without making any configurations. Just write code, and\nWP Rig handles the heavy lifting for you.\n\nConfiguring the behavior of WP Rig is done by editing `./config/config.json`. Here the developer can set the theme name\nand theme author name (for translation files) and local server settings for BrowserSync. Additionally, compression of\nJavaScript and CSS files can be turned off for debugging purposes.\n\nPlace your custom theme settings in `./config/config.json` to override default settings, located\nin `./config/config.default.json`. Place local-only/untracked theme settings in `./config/config.local.json`. For\nexample, if you want to set local information for BrowserSync.\n\nWP Rig ships with advanced features, including:\n\n- Easily add custom Customizer settings using .json file\n- Progressive loading of CSS\n- Modern CSS, custom properties (variables), autoprefixing, etc\n- Modern layouts through CSS grid, flex, and float\n\nFor more information about the advanced features in WP Rig and how to use them, visit\nthe [Advanced Features Wiki page](https://github.com/wprig/wprig/wiki/Advanced-Features-(and-how-to-use-them)).\n\n## License\n\nWP Rig is released\nunder [GNU General Public License v3.0 (or later)](https://github.com/wprig/wprig/blob/master/LICENSE).\n","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwprig%2Fwprig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwprig%2Fwprig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwprig%2Fwprig/lists"}