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.75.0 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).
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>
Arguments:
<PATH> Path where to store the downloaded solutions
Options:
--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: any] [possible values: any, submitted, completed, published]
-o, --overwrite <OVERWRITE>
How to handle solutions that already exist on disk [default: if-newer] [possible values: always, if-newer, never]
-i, --iterations <ITERATIONS_SYNC_POLICY>
Whether to also back up iterations and how [default: do-not-sync] [possible values: do-not-sync, new, full-sync, clean-up]
--dry-run
Determine what solutions to back up 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
argument.
It is also possible to download every iteration of each solution via the --iterations
argument.
Iterations will be stored in a subdirectory called _iterations
.
All iterations submitted will be downloaded, unless --status published
is used, in which case only published iterations will be kept.
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
argument.
This token can be found in the Exercism Settings.
auxiliaire
is still in development, so issues may arise.
For instructions on filing bug reports or feature requests, see CONTRIBUTING.