# Natron Documentation > A JavaScript Task Runner ## Guides - [Getting Started](https://natron.readme.io/docs/getting-started.md) - [Defining Tasks](https://natron.readme.io/docs/defining-tasks.md): How to write a `Natronfile` - [How to use the CLI](https://natron.readme.io/docs/how-to-use-the-cli.md) - [CLI Configuration](https://natron.readme.io/docs/cli-configuration.md): How to use the `.natronrc` - [Using Transpilers](https://natron.readme.io/docs/using-transpilers.md) - [Using a Gulp Plugin](https://natron.readme.io/docs/using-a-gulp-plugin.md) - [Context & Event Aggregator](https://natron.readme.io/docs/example-context-and-event-aggregator.md): Using Node.js' EventEmitter to handle events - [Build Directory](https://natron.readme.io/docs/example-build-directory.md): How to use a Dedicated Build Directory - [natron-args-parser](https://natron.readme.io/docs/module-natron-args-parser.md): Parse Command-Line Arguments - [natron-core](https://natron.readme.io/docs/module-natron-core.md): Tasks with Promises - [natron-vinyl](https://natron.readme.io/docs/module-natron-vinyl.md): Natron Vinyl Utilities - [vinyl-transformer](https://natron.readme.io/docs/module-vinyl-transformer.md): Create Transformers for Vinyl File Streams - [gulp-natron](https://natron.readme.io/docs/module-gulp-natron.md): Use Natron in your Gulpfile