Bobby L. Craig

# chalk > Terminal string styling done right [![Build Status](]( [colors.js]( is currently 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.** ![screenshot](screenshot.png) ## Why - **Doesn't extend String.prototype** - Expressive API - Clean and focused - Auto-detects color support - Actively maintained - [Used by 150+ modules]( ## Install Install with [npm]( `npm install --save chalk` ## Example 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 console.log('Hello world!') ); // combine styled and normal strings console.log('Hello'), 'World' +'!') ); // compose multiple styles using the chainable API console.log('Hello world!') ); // nest styles console.log('Hello', chalk.underline.bgBlue('world') + '!') ); // pass in multiple arguments console.log('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz') ); ``` You can easily define your own themes. ```js var chalk = require('chalk'); var error =; console.log(error('Error!')); ``` ## API ### chalk.`