Grunt plugin to build a customised version of Twitter Bootstrap
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Twitter Bootstrap from source with your own separate .less files.

Synopsis: The twbs task will take a copy of the Twitter Bootstrap source files (available via Bower or downloading directly) and combine it with your customised version of any of bootstrap *.less files.


This plugin wraps Bootstrap's own Gruntfile.js, in order to avoid effort either ripping out the required build tasks or altering that copy of Bootstrap. This allows you to easily upgrade to newer versions of Bootstrap and keep your customisations isolated.

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-twbs --save-dev

Twitter Bootstrap

You'll need the source files from Twitter Bootstrap. The easiest way is to use bower to install it:

npm install -g bower
bower install bootstrap


Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


Twbs task

Run this task with the grunt twbs command.

Task targets and options may be specified according to the grunt Configuring tasks guide.



Type: String Default: ./bower_components/bootstrap

Location of your Twitter Bootstrap source files.


Type: String

Location of your customised .less files that will be used to build Twitter Bootstrap instead of the standard bootstrap/less/*.less files. Original bootstrap filenames must be used.


Type: String

Destination (path and filename) of the .min.css file that the Twitter Bootstrap build process will produce.


Type: String Default: dist-css

Command to run on bootstrap's grunt Grunt commands guide.

Usage examples


A single file to be built. Files will be output to the dist directory within your bootstrap source files directory. The custom.less file should be based on Bootstrap's less/bootstrap.less file, with your own modifications.

  twbs: {
    target: {
      options: {
        less: './src/'

A more complete example using bootstrap from npm and compiling every file in dist:

  twbs: {
        options: {
            bootstrap: './node_modules/bootstrap',
            less: 'less/',
            cmd: 'dist'


  • Add Bootstrap version detection, to possibly support older builds.

Release History

  • 2015-09-21 v0.0.5 Added support for multiple files and bootstrap build commands
  • 2014-12-04   v0.0.4   Added dest option.
  • 2014-11-28   v0.0.3   Fixed textual mistakes.
  • 2014-11-28   v0.0.2   Added Readme and various other standard files.
  • 2014-11-28   v0.0.1   Initial release of early code.