## circleci-cli [![Circle CI](https://circleci.com/gh/jszwedko/circleci-cli.svg?style=svg)](https://circleci.com/gh/jszwedko/circleci-cli) [![Go Report Card](https://goreportcard.com/badge/github.com/jszwedko/circleci-cli)](https://goreportcard.com/report/github.com/jszwedko/circleci-cli) Command line utility for interacting with CircleCI. Allows you to list recent builds, projects, retry builds, and more! ![Demo video](demo.gif) Currently in alpha stages so the interface may change. Feedback and feature requests are welcome! Install and run `circleci-cli -h` to see current help documentation. **The CircleCI HTTP API response schemas (which this utility uses) are not well documented so please report any issues you witness** ## Installing #### OS X (64 bit) ```bash curl -sL https://github.com/jszwedko/circleci-cli/releases/download/0.1.0/darwin_amd64 > circleci-cli sudo mv circleci-cli /usr/local/bin/ sudo chmod +x /usr/local/bin/circleci-cli ``` #### Linux (64 bit) ```bash curl -sL https://github.com/jszwedko/circleci-cli/releases/download/0.1.0/linux_amd64 > circleci-cli sudo mv circleci-cli /usr/local/bin/ sudo chmod +x /usr/local/bin/circleci-cli ``` See the [releases](https://github.com/jszwedko/circleci-cli/releases) page for additional platforms. Set `$CIRCLE_TOKEN` to an API token (you can generate one under your account settings). Consider adding this to your `~/.profile` or shell equivalent. Alternatively, install the latest via: `GOVENDOREXPERIMENT=1 go get github.com/jszwedko/circleci-cli` (requires Go >= 1.5 to be installed). ### Developing Requires Go 1.5 and [`GOVENDOREXPERIMENT=1`](https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo/edit) to properly include dependencies. Uses [`gvt`](https://github.com/FiloSottile/gvt) to manipulate dependencies. - Building: `make build` - Testing: `make test` - Building cross compiled binaries: `make dist` (will install [gox](https://github.com/mitchellh/gox) if needed) **Note:** `encoding/json` is vendored from Go 1.7.1 in order to apply [this change](https://go-review.googlesource.com/#/c/18692/) as it is very useful for people filing bugs against this project since it causes `encoding/json` to output information about the struct it was deserializing into when an error occurs.