[V1.6.1 is the current version, and previous versions are not supported. Upgrade to the latest version or consider other support options.](support)
[](/)
* [Getting Started](/getting-started)
* [Configuring Tasks](/configuring-tasks)
* [Plugins](/plugins)
* [Documentation](/documentation)
* [Support](/support)
GruntThe JavaScript Task Runner
Why use a task runner?
----------------------
In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it through a [Gruntfile](/sample-gruntfile), a task runner can do most of that mundane work for you—and your team—with basically zero effort.
Why use Grunt?
--------------
The Grunt ecosystem is huge and it's growing every day. With literally hundreds of plugins to choose from, you can use Grunt to automate just about anything with a minimum of effort. If someone hasn't already built what you need, authoring and publishing your own Grunt plugin to npm is a breeze. See how to [get started](/getting-started).
Available Grunt plugins
-----------------------
Many of the tasks you need are already available as Grunt Plugins, and new plugins are published every day. While the [plugin listing](/plugins) is more complete, here's a few you may have heard of.
[](https://www.npmjs.com/package/grunt-contrib-coffee)[](https://www.npmjs.com/package/grunt-contrib-handlebars)[](https://www.npmjs.com/package/grunt-contrib-jade)[](https://www.npmjs.com/package/grunt-contrib-jshint)[](https://www.npmjs.com/package/grunt-contrib-less)[](https://www.npmjs.com/package/grunt-contrib-requirejs)[](https://www.npmjs.com/package/grunt-contrib-sass)[](https://www.npmjs.com/package/grunt-contrib-stylus)
Here's a preview!
-----------------
While installing grunt is simple, it's slightly more involved to get it running on your project. To see what your effort will win you, take a look at this example output from running Grunt in a [sample project](https://github.com/cowboy/jquery-tiny-pubsub).
grunt
Running "jshint:gruntfile" (jshint) task
\>> 1 file lint free.
Running "jshint:src" (jshint) task
\>> 1 file lint free.
Running "jshint:test" (jshint) task
\>> 1 file lint free.
Running "qunit:files" (qunit) task
Testing test/tiny-pubsub.html....OK
\>> 4 assertions passed (23ms)
Running "clean:files" (clean) task
Cleaning "dist"...OK
Running "concat:dist" (concat) task
File "dist/ba-tiny-pubsub.js" created.
Running "uglify:dist" (uglify) task
File "dist/ba-tiny-pubsub.min.js" created.
Uncompressed size: 389 bytes.
Compressed size: 119 bytes gzipped (185 bytes minified).
Done.
Who uses Grunt?
---------------
These are just a few companies and projects that are using Grunt.[See more here.](/who-uses-grunt)
[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)[](/who-uses-grunt)
How do I get started?
---------------------
Read the [Getting Started](/getting-started) guide for instructions on using Grunt in your projects. Once you've done that, check out a [Sample Gruntfile](/sample-gruntfile) and learn more about [Configuring Tasks](/configuring-tasks).
* * *
Grunt is an OpenJS Foundation project.
[](https://openjsf.org/projects/)
### Latest Version
* Stable: [v1.6.1](https://www.npmjs.org/package/grunt) (npm)
* Development: [HEAD](https://github.com/gruntjs/grunt) (GitHub)
### Latest News
* [Grunt 1.4.0 releasedApril 22, 2021](/blog/2021-04-22-grunt-1.4.0-released)
* [Grunt 1.2.0 releasedJuly 03, 2020](/blog/2020-07-03-grunt-1.2.0-released)
* [Grunt 1.1.0 releasedMarch 16, 2020](/blog/2020-03-16-grunt-1.1.0-released)
### Getting Started
Read the [Getting Started](/getting-started) guide for instructions on using Grunt in your projects. Once you've done that, check out a [Sample Gruntfile](/sample-gruntfile) and learn more about [Configuring Tasks](/configuring-tasks).
[](https://github.com/gruntjs/ "Grunt on GitHub")[](https://twitter.com/gruntjs/ "Grunt on Twitter")[](/rss "Grunt blog RSS feed")