# Command Line Interface The easiest way to get help is through the commandline by running ```shell roger help ``` or to get help on a specific subcommand ```shell roger help [subcommand] ``` ## Generate ```shell roger generate [generator] [options] ``` ## Serve ```shell roger serve [options] ``` Starts a webserver (port 9000 by default) ## Release ```shell roger release [options] ``` Releases the project ## Test ```shell roger test [options] ``` Tests the project ## Global options All commands accept these options. ``` Options: -v, [--verbose] # Set's verbose output -h, [--help] # Help ``` ## Custom options All processors/middleware/etc. can use custom options. Roger will parse any leftover option that starts with `--` and sets it in the `project.options` hash. It even supports setting nested keys by using `:` as a separator. This means that `--release:rsync:disable=true` will become: `{release: { rsync: { disable: true}}}` in the options hash. ### Parsing The commandline parser will work with flags in the following formats: * `--key` will just set the flag to `true` * `--key=value` and `--key value` will set the key `:key` to `"value"` * `--key=true` and `--key=false` will convert to boolean `true` and `false`