2025-05-17 15:49:26 +02:00
+++
title = "Usage"
+++
<!-- toc -->
## Doing exercises
The exercises are sorted by topic and can be found in the subdirectory `exercises/<topic>` .
For every topic, there is an additional `README.md` file with some resources to get you started on the topic.
We highly recommend that you have a look at them before you start 📚️
Most exercises contain an error that keeps them from compiling, and it's up to you to fix it!
Some exercises contain tests that need to pass for the exercise to be done ✅
Search for `TODO` and `todo!()` to find out what you need to change.
Ask for hints by entering `h` in the _watch mode_ 💡
2025-05-17 16:06:04 +02:00
## Watch Mode
2025-05-17 15:49:26 +02:00
After the [initialization ](@/setup/index.md#initialization ), Rustlings can be launched by simply running the command `rustlings` .
This will start the _watch mode_ which walks you through the exercises in a predefined order (what we think is best for newcomers).
It will rerun the current exercise automatically every time you change the exercise's file in the `exercises/` directory.
2025-05-17 20:20:19 +02:00
{% details(summary="If detecting file changes in the < code > exercises/< / code > directory fails…") %}
2025-05-17 15:49:26 +02:00
2025-05-17 20:20:19 +02:00
You can add the ** `--manual-run` ** flag (`rustlings --manual-run` ) to manually rerun the current exercise by entering `r` in the watch mode.
2025-05-17 15:49:26 +02:00
2025-05-17 21:02:45 +02:00
Please [report the issue ](https://github.com/rust-lang/rustlings/issues/new ) with some information about your operating system and whether you run Rustlings in a container or a virtual machine (e.g. WSL).
2025-05-17 20:20:19 +02:00
{% end %}
2025-05-17 15:49:26 +02:00
2025-05-17 16:06:04 +02:00
## Exercise List
2025-05-17 15:49:26 +02:00
In the [watch mode ](#watch-mode ) (after launching `rustlings` ), you can enter `l` to open the interactive exercise list.
The list allows you to…
- See the status of all exercises (done or pending)
- `c` : Continue at another exercise (temporarily skip some exercises or go back to a previous one)
- `r` : Reset status and file of the selected exercise (you need to _reload/reopen_ its file in your editor afterwards)
See the footer of the list for all possible keys.
## Questions?
2025-05-17 21:02:45 +02:00
If you need any help while doing the exercises and the builtin hints aren't helpful, feel free to ask in the [_Q&A_ discussions ](https://github.com/rust-lang/rustlings/discussions/categories/q-a?discussions_q= ) if your question isn't answered there 💡
2025-05-17 15:49:26 +02:00
## Continuing On
Once you've completed Rustlings, put your new knowledge to good use!
Continue practicing your Rust skills by building your own projects, contributing to Rustlings, or finding other open-source projects to contribute to.
2025-05-17 21:02:45 +02:00
> If you want to create your own custom Rustlings exercises, visit the [**custom exercises**](@/custom-exercises/index.md) page 🏗️