> Terminal string styling done right [![Build Status](]( [![Coverage Status](]( [![](]( [colors.js]( used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems]( Although there are other ones, they either do too much or not enough. **Chalk is a clean and focused alternative.** ![]( ## Why - Highly performant - Doesn't extend `String.prototype` - Expressive API - Ability to nest styles - Clean and focused - Auto-detects color support - Actively maintained - [Used by ~4500 modules]( as of July 15, 2015 ## Install ``` $ npm install --save chalk ``` ## Usage Chalk comes with an easy to use composable API where you just chain and nest the styles you want. ```js var chalk = require('chalk'); // style a string'Hello world!'); // combine styled and normal strings'Hello') + 'World' +'!'); // compose multiple styles using the chainable API'Hello world!'); // pass in multiple arguments'Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'); // nest styles'Hello', chalk.underline.bgBlue('world') + '!'); // nest styles of the same type even (color, underline, background) 'I am a green line ' +'with a blue substring') + ' that becomes green again!' ); ``` Easily define your own themes. ```js var chalk = require('chalk'); var error =; console.log(error('Error!')); ``` Take advantage of console.log [string substitution]( ```js var name = 'Sindre'; console.log('Hello %s'), name); //=> Hello Sindre ``` ## API ### chalk.`