# clown
## clown computing with pkgcloud

## It's Dangerous To Go Alone! Here, Take This:

* [pkgcloud/pkgcloud](https://github.com/pkgcloud/pkgcloud)
* [dominictarr/rc](https://github.com/dominictarr/rc)

## Install

```bash
$ sudo npm install clown -g
```

## Usage

```bash
$ clown --config config/do.json compute flavors list
clown info clown YES THIS IS CLOWN
clown info clown Programmed entirely in @jesusabdullah's apartment
clown info clown Copyright 2014
[
  {
    "id": 66,
    "name": "512MB",
    "ram": 512,
    "disk": 20,

    ...

  }
]
clown info bye Much obliged.
```

## API mapping

### Basic flags

#### --level

Set the logging level to anything [npmlog](https://npmjs.org/package/npmlog)
supports natively with `--level [level]`.

#### --version

Print out clown's version and exit.

### Routes

Routes look something like this:

```bash
[client-type] [resource] [command]
```

Commands don't have quite the same names as in pkgcloud, but generally map
1:1.

### Client options

Client options are specified under the client type. For example, to specify the
provider at the command line with the compute client, use the option
`--compute.provider`.

### Command options

Command options are named as they are in the pkgcloud documentation. For
example, to specify the flavorId with `compute flavors get` at the command
line, use the option `--flavorId`.

## TODO

* Commands for everything that isn't compute
* Inline documentation for all routes that don't run a command

## License

MIT. See the LICENSE file.

