2 releases

0.1.1 Apr 19, 2024
0.1.0 Apr 19, 2024

#762 in Command line utilities

MIT license

741 lines


CI codecov Security audit crates.io downloads Contributor Covenant

auxiliaire is a command-line tool designed to provide utilities to users of the Exercism.org website, like solutions backup, etc.


Exercism is a free, not-for-profit platform to learn new programming languages. It supports a web editor for solving exercises, mentoring with real humans and a lot more. For more information, see its about page.


Installing and using auxiliaire can be done simply by downloading the executable appropriate for your platform from the project's Releases page and saving it to a location in your PATH.

If you have Rust 1.74.1 or greater installed, you can also compile and install auxiliaire from source via cargo:

cargo install auxiliaire --locked

If you have cargo-binstall, you can use it to download and install auxiliaire from binaries:

cargo binstall auxiliaire


To see all commands supported by auxiliaire, simply run it with -h (for short help) or --help (for long help).

backup command

This command can be used to download all solutions you submitted to the Exercism platform for backup.

% auxiliaire backup -h
Download Exercism.org solutions for backup

Usage: auxiliaire backup [OPTIONS] <PATH>

  <PATH>  Path where to store the downloaded solutions

      --token <TOKEN>                  Exercism.org API token; if unspecified, CLI token will be used instead
  -v, --verbose...                     Increase logging verbosity
  -q, --quiet...                       Decrease logging verbosity
  -t, --track <TRACK>                  Only download solutions in the given track(s) (can be used multiple times)
  -e, --exercise <EXERCISE>            Only download solutions for the given exercise(s) (can be used multiple times)
  -s, --status <STATUS>                Only download solutions with the given status (or greater) [default: submitted] [possible values: submitted, completed, published]
  -o, --overwrite <OVERWRITE>          How to handle solutions that already exist on disk [default: if-newer] [possible values: always, if-newer, never]
      --dry-run                        Determine what solutions to backup without downloading them
  -m, --max-downloads <MAX_DOWNLOADS>  Maximum number of concurrent downloads [default: 4]
  -h, --help                           Print help (see more with '--help')

By default, using this command will download all submitted solutions, for all exercises, for all tracks. It's possible to narrow the solutions to back up via the command-line arguments (see above).

When auxiliaire downloads a solution, it stores a backup state file in the solution folder in the .auxiliaire directory. This file is used to determine whether a solution has been updated with (a) new iteration(s). When this occurs, by default, auxiliaire will download the new version; this can be controlled via the --overwrite command-line argument.

In order to communicate with the Exercism platform, auxiliaire needs an API token. By default, if the Exercism CLI tool is installed, auxiliaire will reuse the API token configured for it. If the Exercism CLI is not installed, a valid API token will need to be passed to auxiliaire via the --token command-line argument. This token can be found in the Exercism Settings.

Questions? Comments?

auxiliaire is still in development, so issues may arise. For instructions on filing bug reports or feature requests, see CONTRIBUTING.


~373K SLoC