← All reportsPublic report

rust-lang/rustlings

:crab: Small exercises to get you used to reading and writing Rust code!

64k stars Rust View on GitHubprofiled 11d ago
Try GitZoid
25PRs this week
5Contributors
0Deps scanned
0Issues found
01 · Repo overview

How rustlings is put together

Rustlings is an offline Rust learning tool: a single Cargo workspace binary (`rustlings`) plus a proc-macro support crate (`rustlings-macros`) that ships small exercises users fix locally. `main.rs` parses CLI args with clap, reads a TOML info file describing exercises, and either initializes a project (`init`), runs developer tooling (`dev`), or drives an interactive watch loop that compiles/tests the current exercise via spawned cargo processes and updates progress in a plain-text state file `.rustlings-state.txt`. There is no server, database, or network layer; data flow is local filesystem (exercise files, embedded exercise dumps) plus stdout rendering via crossterm.

Languages

Rust

Frameworks

clap (CLI)crossterm (TUI/terminal control)notify (filesystem watching)

Infrastructure

Local CLI applicationCargo build system (workspace, edition 2024, rust-version 1.88)Git used at runtime for resetting community exercise files (`git stash`)

Major components

src/main.rs + src/cli.rs

Entry point that parses CLI arguments (init/dev/run/check-all/reset/hint/watch) and dispatches to subsystems.

src/app_state.rs

Holds exercise list, done/pending progress, current-exercise index, and reads/writes the `.rustlings-state.txt` state file; also resets exercises (embedded dump or `git stash`).

src/watch.rs

Interactive watch mode that recompiles/re-runs exercises on file changes using notify events.

src/cmd.rs

CmdRunner abstraction for invoking cargo/clippy/test subprocesses on exercises.

src/info_file.rs + rustlings-macros

Parses the exercise manifest (info.toml) and provides proc macros embedding exercise metadata/files into the binary.

src/embedded.rs

Embedded copies of official exercise/solution files used by init and reset.

src/init.rs

Scaffolds a new rustlings project directory (exercises/, solutions/, generated Cargo.toml).

src/dev.rs

Developer/maintainer commands for managing exercise lists and regenerating dev-Cargo.toml bins.

Over the past five weeks, the Rustlings project focused heavily on improving how learners see their progress and how exercises are checked, with a big batch of changes in late July around progress visualization and Windows compatibility. August was quieter, mostly housekeeping: dependency updates, small documentation fixes, and a new policy on AI usage for contributions. The overall arc shows steady polish of the learning experience rather than major new features.

Week by week

2026-08-24A quiet week with just one tiny documentation cleanup.latest1 change

Docs

Typo fix in exercise solution

Corrected a minor spelling mistake in a comment inside the 'options 3' exercise solution.

2026-08-17Routine maintenance week focused on keeping tools and dependencies up to date.4 changes

Fix

Cleaned up code quality warnings

Fixed automated code-quality (clippy) warnings in the quiz3 exercise so the codebase stays tidy.

Chore

Updated website tooling

Bumped Zola, the tool that builds the project's website, to a newer version.

Fix

Removed deprecation warning

Addressed a warning about using an outdated feature so future updates go smoothly.

Chore

Updated dependencies

Refreshed the external libraries the project relies on to their latest versions.

2026-08-10The main change was establishing a policy on AI use for contributors.1 change

Docs

Added LLM usage policy

Published guidelines explaining how contributors may or may not use AI language models when contributing to the project.

2026-08-03Documentation fixes cleared up confusing explanations and outdated references.3 changes

Fix

Fixed stale exercise references

Updated places in the materials that pointed to exercises that had been renamed or removed.

Docs

Improved conversions3 explanation

Rewrote the explanation text for the conversions3 exercise to be clearer while preserving its original wording where it mattered.

Chore

Updated website tooling

Bumped the Zola website builder to a newer version.

2026-07-27A busy week overhauled how learners see their checking progress and fixed several platform quirks.6 changes

Feature

New check progress visualization

Added a clearer visual display showing learners what's happening while their exercises are being checked.

Feature

Auto-check when finishing an exercise

When someone completes an exercise without marking it done, the app now automatically re-runs all checks instead of requiring manual input.

Feature

Command timeout added

Checks that hang now stop automatically after a set time instead of running forever.

Fix

Windows test detection fix

Fixed a problem where tests inside exercises weren't detected correctly on Windows computers.

Refactor

Simplified run requirements

Removed the requirement to verify that every exercise actually runs, streamlining the checking process.

Fix

Hints and messages support

Enabled processing of hints and messages stored in the info file, making guidance richer for learners.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required