The best WordPress starter theme with a modern front-end development workflow. Based on HTML5 Boilerplate, gulp, Bower, and Bootstrap.
PHP JavaScript CSS
Latest commit 672a531 Jun 15, 2016 @retlehs retlehs committed on GitHub Merge pull request #1666 from ptibbetts/master
Added contributing guidelines link to readme
Failed to load latest commit information.
.github Added contributing guidelines link to readme Jun 15, 2016
assets Missed in 269346d Dec 10, 2015
lang Sage 8.3.0 Oct 13, 2015
lib Add support for theme customizer Nov 9, 2015
templates Removing redundancy with WAI-ARIA in HTML Oct 10, 2015
.bowerrc Adds a bowerrc Dec 10, 2014
.editorconfig Add EditorConfig Feb 8, 2013
.gitignore gitignore composer vendor directory Feb 14, 2016
.jscsrc Update jscs validateJSDoc to jsDoc rule Jul 28, 2015
.jshintrc remove trailing option Jan 23, 2015
.travis.yml cache bower and node directories Feb 28, 2015
404.php Simplify 404 page Feb 20, 2015 Sage 8.4.2 Feb 19, 2016 Formatting, adding/updating links Nov 7, 2013 Added contributing guidelines link to readme Jun 15, 2016
base.php Drop support for older browsers Nov 5, 2015
bower.json Update to Bootstrap 3.3.6 Nov 24, 2015
composer.json Add composer.json and update installation instructions Dec 9, 2015
functions.php Add support for theme customizer Nov 9, 2015
gulpfile.js Fixed build test by removing trailing space Feb 12, 2016
index.php Ref #1033 - better support for CPT templates Feb 12, 2015
package.json Update gulp-if, fix #1648 May 22, 2016
page.php Update page.php Jun 16, 2014
ruleset.xml Verify that operators have valid spacing surrounding them [ci skip] Apr 1, 2015
screenshot.png Update screenshot resolution to 880x660, change to blank image Mar 11, 2014
search.php Add search templates May 7, 2015
single.php Ref #1033 - better support for CPT templates Feb 13, 2015
style.css Sage 8.4.2 Feb 19, 2016
template-custom.php :mag: Feb 20, 2015


Build Status devDependency Status

Sage is a WordPress starter theme based on HTML5 Boilerplate, gulp, Bower, and Bootstrap Sass, that will help you make better themes.


Prerequisite How to check How to install
PHP >= 5.4.x php -v
Node.js 0.12.x node -v
gulp >= 3.8.10 gulp -v npm install -g gulp
Bower >= 1.3.12 bower -v npm install -g bower

For more installation notes, refer to the Install gulp and Bower section in this document.


  • gulp build script that compiles both Sass and Less, checks for JavaScript errors, optimizes images, and concatenates and minifies files
  • BrowserSync for keeping multiple browsers and devices synchronized while testing, along with injecting updated CSS and JS into your browser while you're developing
  • Bower for front-end package management
  • asset-builder for the JSON file based asset pipeline
  • Bootstrap
  • Theme wrapper
  • ARIA roles and microformats
  • Posts use the hNews microformat
  • Multilingual ready and over 30 available community translations

Install the Soil plugin to enable additional features:

  • Cleaner output of wp_head and enqueued assets
  • Cleaner HTML output of navigation menus
  • Root relative URLs
  • Nice search (/search/query/)
  • Google CDN jQuery snippet from HTML5 Boilerplate
  • Google Analytics snippet from HTML5 Boilerplate

See a complete working example in the repo.

Theme installation

Bottom line is you want to get the files in this repo into your local development environment. There are many ways to do this, two of which we will cover here.

via Command-line

If you're already using Composer to manage WordPress, then you might consider using composer's create-project command to download Sage.

The example below assumes you're using Bedrock. If you're not, simply change the target path accordingly.

composer create-project roots/sage web/app/themes/your-theme-name-here

Then activate the theme via wp-cli.

wp theme activate your-theme-name-here

via WordPress Admin Panel

  1. Download the latest release of Sage.
  2. In your WordPress admin panel, navigate to Appearance->Themes
  3. Click Add New
  4. Click Upload Theme
  5. Upload the zip file that you downloaded.

Theme setup

Edit lib/setup.php to enable or disable theme features, setup navigation menus, post thumbnail sizes, post formats, and sidebars.

Theme development

Sage uses gulp as its build system and Bower to manage front-end packages.

Install gulp and Bower

Building the theme requires node.js. We recommend you update to the latest version of npm: npm install -g npm@latest.

From the command line:

  1. Install gulp and Bower globally with npm install -g gulp bower
  2. Navigate to the theme directory, then run npm install
  3. Run bower install

You now have all the necessary dependencies to run the build process.

Available gulp commands

  • gulp — Compile and optimize the files in your assets directory
  • gulp watch — Compile assets when file changes are made
  • gulp --production — Compile assets for production (no source maps).

Using BrowserSync

To use BrowserSync during gulp watch you need to update devUrl at the bottom of assets/manifest.json to reflect your local development hostname.

For example, if your local development URL is you would update the file to read:

  "config": {
    "devUrl": ""

If your local development URL looks like http://localhost:8888/project-name/ you would update the file to read:

  "config": {
    "devUrl": "http://localhost:8888/project-name/"


Sage documentation is available at


Contributions are welcome from everyone. We have contributing guidelines to help you get started.


Keep track of development and community news.