diff --git a/chalk/chalk-tests.ts b/chalk/chalk-tests.ts
new file mode 100644
index 000000000..208709e5b
--- /dev/null
+++ b/chalk/chalk-tests.ts
@@ -0,0 +1,30 @@
+///
+
+import chalk = require('chalk');
+
+var str: string;
+var bool: boolean;
+
+chalk.enabled = bool;
+str = chalk.stripColor(str);
+
+bool = chalk.supportsColor;
+bool = chalk.hasColor(str);
+
+// style a string
+console.log( chalk.blue('Hello world!') );
+
+// combine styled and normal strings
+console.log( chalk.blue('Hello'), 'World' + chalk.red('!') );
+
+// compose multiple styles using the chainable API
+console.log( chalk.blue.bgRed.bold('Hello world!') );
+
+// pass in multiple arguments
+console.log( chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz') );
+
+// nest styles
+console.log( chalk.red('Hello', chalk.underline.bgBlue('world') + '!') );
+
+// nest styles of the same type even (color, underline, background)
+console.log( chalk.green('I am a green line ' + chalk.blue('with a blue substring') + ' that becomes green again!') );
diff --git a/chalk/chalk.d.ts b/chalk/chalk.d.ts
new file mode 100644
index 000000000..5cceb9514
--- /dev/null
+++ b/chalk/chalk.d.ts
@@ -0,0 +1,92 @@
+// Type definitions for chalk v0.4.0
+// Project: https://github.com/sindresorhus/chalk
+// Definitions by: Diullei Gomes , Bart van der Schoor
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module Chalk {
+ export interface ChalkModule extends ChalkStyle {
+ enabled: boolean;
+ supportsColor: boolean;
+ styles: ChalkStyleMap;
+
+ stripColor(value: string): any;
+ hasColor(str: string): boolean;
+ }
+
+ export interface ChalkChain extends ChalkStyle {
+ (...text: string[]): ChalkChain;
+ }
+
+ export interface ChalkStyleElement {
+ open: string;
+ close: string;
+ }
+
+ export interface ChalkStyle {
+ // General
+ reset: ChalkChain;
+ bold: ChalkChain;
+ italic: ChalkChain;
+ underline: ChalkChain;
+ inverse: ChalkChain;
+ strikethrough: ChalkChain;
+
+ // Text colors
+ black: ChalkChain;
+ red: ChalkChain;
+ green: ChalkChain;
+ yellow: ChalkChain;
+ blue: ChalkChain;
+ magenta: ChalkChain;
+ cyan: ChalkChain;
+ white: ChalkChain;
+ gray: ChalkChain;
+
+ // Background colors
+ bgBlack: ChalkChain;
+ bgRed: ChalkChain;
+ bgGreen: ChalkChain;
+ bgYellow: ChalkChain;
+ bgBlue: ChalkChain;
+ bgMagenta: ChalkChain;
+ bgCyan: ChalkChain;
+ bgWhite: ChalkChain;
+ }
+
+ export interface ChalkStyleMap {
+ // General
+ reset: ChalkStyleElement;
+ bold: ChalkStyleElement;
+ italic: ChalkStyleElement;
+ underline: ChalkStyleElement;
+ inverse: ChalkStyleElement;
+ strikethrough: ChalkStyleElement;
+
+ // Text colors
+ black: ChalkStyleElement;
+ red: ChalkStyleElement;
+ green: ChalkStyleElement;
+ yellow: ChalkStyleElement;
+ blue: ChalkStyleElement;
+ magenta: ChalkStyleElement;
+ cyan: ChalkStyleElement;
+ white: ChalkStyleElement;
+ gray: ChalkStyleElement;
+
+ // Background colors
+ bgBlack: ChalkStyleElement;
+ bgRed: ChalkStyleElement;
+ bgGreen: ChalkStyleElement;
+ bgYellow: ChalkStyleElement;
+ bgBlue: ChalkStyleElement;
+ bgMagenta: ChalkStyleElement;
+ bgCyan: ChalkStyleElement;
+ bgWhite: ChalkStyleElement;
+ }
+}
+
+declare module "chalk" {
+ var ch: Chalk.ChalkModule;
+ export = ch;
+}
+