## aspect

Aspect.build bazel wrapper

### Synopsis

Aspect CLI is a better frontend for running bazel

### Options

```
      --config string   config file (default is $HOME/.aspect.yaml)
  -h, --help            help for aspect
      --interactive     Interactive mode (e.g. prompts for user input)
```

### SEE ALSO

* [aspect build](aspect_build.md)	 - Builds the specified targets, using the options.
* [aspect clean](aspect_clean.md)	 - Removes the output tree.
* [aspect docs](aspect_docs.md)	 - Open documentation in the browser.
* [aspect info](aspect_info.md)	 - Displays runtime info about the bazel server.
* [aspect test](aspect_test.md)	 - Builds the specified targets and runs all test targets among them.
* [aspect version](aspect_version.md)	 - Print the version of aspect CLI as well as tools it invokes.

