# @quercia/cli

This package is available on npm and contains the compiler command line interface. It depends on both the client side libraries: @quercia/runtime and @quercia/quercia. Its job is to handle the tasks of the build/watch process.

It contains only two subcommands: watch and build. They both execute the webpack api in order to compile client and server side bundles for your application. This process is split in several steps, called tasks.

# List

List of tasks: (github)

# Order

The tasks are executed in the order listed above. Between each task a bunch of hooks are called, to give additional plugins access to the quercia compiler API. Plugins can modify the configuration, change tasks logic, anything essentially. We decided to use tapable for the hooks api as it's familiar for people who are used to write webpack plugins, and after all the cli package is a compiler just like webpack.

Head over to the hooks section for more information about plugin development and hooks order.