exercism
Download and submit Exercism exercises
TLDR
Configure exercism following instructions for the API token
Download hello-world for any programming language into exercism workspace
Open an exercise directory on the website
Test your solution. It will also tell you if you are missing tools for the programming language
Submit your solution. You can share from the website or ask a community mentor for help
SYNOPSIS
exercism [options] command [arguments...]
exercism [command] --help
PARAMETERS
--help, -h
Displays help information for the main command or a specific subcommand.
--version
Displays the version of the Exercism CLI currently installed.
configure
Sets up the CLI by authenticating with your Exercism.io API token and defining your local workspace directory where exercises will be stored.
download <track_slug> <exercise_slug>
Downloads a specific coding exercise from a given language track to your local workspace, ready for you to work on.
submit <file_path> [<file_path>...]
Submits one or more solution files for a completed exercise back to the Exercism.io platform for review.
debug
Provides diagnostic information about your CLI configuration and environment, which is helpful for troubleshooting setup issues.
login
Authenticates your CLI with Exercism.io using your API token, granting access to your personal account and exercises.
logout
Clears your stored API token and logs you out of your Exercism.io account on the CLI.
DESCRIPTION
The exercism command is the official command-line interface (CLI) for Exercism.io, a free online platform for improving coding skills through practice exercises and mentorship. It allows users to interact with the Exercism platform directly from their terminal.
Users can download coding exercises (called "problems") for various programming languages (tracks), work on them locally in their preferred development environment, and then submit their solutions back to the platform for automated feedback and/or human mentorship. The CLI streamlines the entire workflow, from managing exercise directories and fetching new problems to submitting completed work, making it an indispensable tool for anyone using Exercism.io to learn and grow as a developer.
CAVEATS
The exercism CLI requires an active Exercism.io account and a generated API token for full functionality. An internet connection is essential for operations like downloading exercises, submitting solutions, and configuring the client. While the CLI manages the local workspace structure, manual alterations to exercise directories can sometimes cause submission issues.
API TOKEN REQUIREMENT
To use the exercism CLI, you must generate an API token from your Exercism.io account settings (typically found under 'Settings' -> 'API'). This token must be provided to the CLI, usually via the exercism configure command, to authenticate and perform account-specific operations like downloading new exercises or submitting solutions.
WORKSPACE STRUCTURE
The CLI maintains a specific and critical directory structure for all downloaded exercises. By default, exercises are placed within a path like your_workspace_directory/exercism/<track_slug>/<exercise_slug>/. It is crucial to work within these managed directories and place your solution files appropriately for successful submission.
HISTORY
The exercism CLI was developed as an open-source companion to the Exercism.io platform, aiming to provide a seamless, terminal-based workflow for developers. Its inception aimed to eliminate the need for constant browser interaction, allowing users to download, work on, and submit exercises directly from their development environment. Over time, it has evolved to support new platform features, improve user experience, and become the de facto tool for interacting with Exercism.io, streamlining the entire learning and practice lifecycle for its users.