Exercism Command-Line Client
The CLI provides a way to do the problems on exercism.io.
Important: If you're looking for instructions on how to install the CLI. Please read Installing the CLI
This CLI ships as a binary with no additional runtime requirements. This means that if you're doing the Haskell problems on exercism you don't need a working Python or Ruby environment simply to fetch and submit exercises.
Go version 1.6 or higher
Follow the directions on http://golang.org/doc/install
- fork this repo
go get github.com/exercism/cli/exercism
git remote set-url origin https://github.com/<your-github-username>/cli
go get -t ./...
- Make the change.
- Submit a pull request.
Please provide tests for the changes where possible.
To run the tests locally, use
go test ./...
At the moment the CLI commands are not tested, so if you're adding a new command don't worry too hard about tests.
To build the binary for your platform run
go install github.com/exercism/cli/exercism
go build -o out/exercism exercism/main.go
The resulting binary can be found in
out/exercism (Linux, Mac OS X) or
In order to cross-compile for all platforms, run
bin/build-all. The binaries
will be built into the
- Track ID is a normalized, url-safe identifier for a language track. E.g.
- Problem is an exercism exercise.
- Problem Slug is a normalized, url-safe identifier for a problem.
- Iteration is a solution that a user has written for a particular problem in a particular language track. A user may have several iterations for the same problem.