Skip to content
10up official starter plugin.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Remove duplicate front-end styles. Feb 15, 2019
config Port Webpack to the plugin. Apr 11, 2019
includes Port Webpack to the plugin. Apr 11, 2019
languages Translation file Mar 16, 2018
tests added JS unit test directory Jul 13, 2018
.browserslistrc updated PR for postcss-preset-env Jun 14, 2018
.editorconfig Use PostCSS Preset Env May 31, 2018
.eslintignore EOL Jun 19, 2018
.eslintrc save Jun 14, 2018
.gitignore Add .log files to .gitignore Aug 8, 2018
.stylelintrc EOL file Oct 11, 2018 Fix numbers in list. Apr 11, 2019
composer.json Update composer.json file Feb 14, 2019
package-lock.json ran npm update Apr 26, 2019
package.json ran npm update Apr 26, 2019
phpunit.xml Checking in the plugin scaffold from project-scaffolds Mar 16, 2018
plugin.php Rename PluginScaffold to TenUpScaffold. Apr 1, 2019
readme.txt Standardizing strings for replacement by the node script Mar 16, 2018
script.js Standardizing strings for replacement by the node script Mar 16, 2018
style.css Standardizing strings for replacement by the node script Mar 16, 2018

10up Plugin Scaffold

At 10up, we strive to provide digital products that yield a top-notch user experience. In order to improve both our efficiency and consistency, we need to standardize what we use and how we use it. This plugin scaffold allows us to share initial set up procedures to make sure all projects can get up and running as quickly as possible while closely adhering to 10up's high quality standards.

Work with 10up, we create amazing websites and tools that make content management simple and fun using open source tools and platforms


  1. Node & NPM - Build packages and 3rd party dependencies are managed through NPM, so you will need that installed globally.
  2. Webpack - Webpack is used to process the JavaScript, CSS, and other assets.
  3. Composer - Composer is used to manage PHP.

Getting Started

Quick Start

Install 10up's command line tool for scaffolding new projects. You can download it from the Project Scaffold repository. Setting up a new plugin is as easy as running create-10up plugin plugin-name-here in the terminal!

Browsersync requires a local development URL. This is currently set in the package.json, as proxyUrl.

Direct Install

  • Clone the repository
  • Rename folder plugin-scaffold -> your project's name
  • If copying files manually to an existing plugin directory instead of cloning directly from the repository, make sure to include the following files which may be hidden:

The NPM commands will fail without these files present.

  • Do case-sensitive search/replace for the following:

    • TenUpScaffold
    • tenup-scaffold
    • tenup_scaffold
  • cd into the plugin folder

  • run npm run start to build the front-end assets

Webpack config

Webpack config files can be found in config folder:

  • webpack.common.js
  • webpack.settings.js

In most cases webpack.settings.js is the main file which would change from project to project. For example adding or removing entry points for JS and CSS.

NPM Commands

  • npm run test (runs phpunit)
  • npm run start (install dependencies)
  • npm run watch (watch)
  • npm run build (build all files)
  • npm run build-release (build all files for release)
  • npm run dev (build all files for development)
  • npm run lint-release (install dependencies and run linting)
  • npm run lint-css (lint CSS)
  • npm run lint-js (lint JS)
  • npm run lint-php (lint PHP)
  • npm run lint (run all lints)
  • npm run format-js (format JS using eslint)
  • npm run format (alias for npm run format-js)
  • npm run test-a11y (run accessibility tests)

Composer Commands

composer lint (lint PHP files)

composer lint-fix (lint PHP files and automatically correct coding standard violations)


We don't know everything! We welcome pull requests and spirited, but respectful, debates. Please contribute via pull requests on GitHub.

  1. Fork it!
  2. Create your feature branch: git checkout -b feature/my-new-feature
  3. Commit your changes: git commit -am 'Added some great feature!'
  4. Push to the branch: git push origin feature/my-new-feature
  5. Submit a pull request

Learn more about the default packages used with this project

You can’t perform that action at this time.