Starklings is an interactive tutorial project designed to help you learn Cairo and Starknet development through practical exercises. The project consists of two main components:
CLI-based interactive tutorial
A web-based in browser Starklings experience
Both versions share the same core exercises and hints, with a single source of truth for all content.
Thanks for your interest in the project. You can fork the repo, create a branch with a descriptive name (maybe the issue number and a word or two to describe it) and submit a pull request.
cargo test cairo
cargo test
Coming soon
- An exercise is pretty much a single well commented Cairo file.
- Exercises are organised into modules and are placed in
./exercises/<module_name>/<exercise_name>.cairo
- Exercise accompanies some metadata describing it in
./info.toml
- When introducing a concept for the first time, try to start minimally.
- Subsequent exercises for the same concept can grow in complexity.
- Add the exercise file in the
./exercises
directory. - Insert information about the exercise in
./info.toml
file. For example[[exercises]] name = "new_exercise" path = "exercises/new_module/new_exercise.cairo" mode = "test" hint = """ Try the Harlem shake """
- Run your exercise with
starklings run
as you write
cargo run -r --bin starklings run new_exercise
- Check that the tests pass.
- Send your PR!
- Test your changes.
- Make sure you have solutions to all the exercises in
./solutions
directory. - Run
cargo run -r --bin starklings compile_solutions
to confirm all exercise solutions still compile. - Make your pull request.