Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

Project configuration files

.. only:: html

    .. contents::


Each project requires a single config file, awe.yaml, in the root directory.

A new config file can be created in the current directory by running awe init:

$ cd /path/to/repo
$ awe init

Then simply open awe.yaml in your preferred text editor to customise it as needed.


If you prefer you can create a config file by hand, or copy one from another project -- but I recommend using awe init to ensure you're starting with the latest recommended settings.

About the YAML format

The file is in YAML format. This is similar in purpose to JSON, but easier to read and write. Here is an example config file in YAML:

# Awe config - see for documentation


    # This is a comment
        src:        www/wp-content/themes/mytheme/src/
        dest:       www/wp-content/themes/mytheme/build/
        bower:      false
        sourcemaps: true

Note how indentation is used to determine the structure, similar to Python and CoffeeScript, and strings do not need to be quoted. It also supports real comments, unlike JSON.

You shouldn't need to understand YAML in detail to configure Awe -- just follow the examples -- but if you would like to learn more about it please see Wikipedia or the official YAML specification.


For comparison, the equivalent config file in JSON would be:

    "_comment": "Awe config - see for documentation",

    "ASSETS": {

        "_comment": "This is a comment (",
        "theme": {
            "src":        "www/wp-content/themes/mytheme/src/",
            "dest":       "www/wp-content/themes/mytheme/build/",
            "bower":      false,
            "sourcemaps": true


But this is just an illustration -- JSON is not supported by Awe.

Config sections

The config file is designed to be split into sections. Each top-level section is written in UPPERCASE to make it stand out:


    # Asset groups config

For more information about the settings available, see:

Future Plans

Currently the only section supported is ASSETS, but in the future the config file may look something like this:


    # Asset groups config


    # Custom settings


    # Cron jobs config


    # Deployment config


    # Configure environments (dev, staging, live)


    # MySQL config


    # File permissions config


    # Setup command config (e.g. npm, composer, bundler)


    # Require specific versions of Awe, CoffeeScript, etc.