{"id":13410365,"url":"https://github.com/Akashneelesh/starklings-cairo1","last_synced_at":"2025-03-14T15:32:36.458Z","repository":{"id":196496279,"uuid":"619268074","full_name":"Akashneelesh/starklings-cairo1","owner":"Akashneelesh","description":"An interactive tutorial to get you up and running with Cairo v1 and Starknet","archived":false,"fork":true,"pushed_at":"2023-03-27T07:45:08.000Z","size":298,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"Solutions","last_synced_at":"2024-07-31T20:42:32.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"shramee/starklings-cairo1","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akashneelesh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-26T18:46:05.000Z","updated_at":"2023-03-26T17:53:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"82686678-31bc-48d2-95db-304efdc42b5d","html_url":"https://github.com/Akashneelesh/starklings-cairo1","commit_stats":null,"previous_names":["akashneelesh/starklings-cairo1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akashneelesh%2Fstarklings-cairo1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akashneelesh%2Fstarklings-cairo1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akashneelesh%2Fstarklings-cairo1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akashneelesh%2Fstarklings-cairo1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akashneelesh","download_url":"https://codeload.github.com/Akashneelesh/starklings-cairo1/tar.gz/refs/heads/Solutions","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243600792,"owners_count":20317336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:01:06.459Z","updated_at":"2025-03-14T15:32:35.987Z","avatar_url":"https://github.com/Akashneelesh.png","language":null,"funding_links":[],"categories":["Tutorials"],"sub_categories":[],"readme":"# STARKLINGS\n\n### An interactive tutorial to get you up and running with Cairo and Starknet\n\n\u003cp align=\"right\"\u003e\n\u003ca href=\"https://discord.gg/onlydust\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Discord-6666FF?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=onlydust_xyz\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Setup and run\n\nMake sure you have Rust and Cargo installed with the `default` toolchain.  \nWith rustup `curl https://sh.rustup.rs -sSf | sh -s`\n\n1. Clone the repo and go in the directory,  \n   `git clone https://github.com/shramee/starklings-cairo1.git \u0026\u0026 cd starklings-cairo1`.\n2. Run `cargo run --bin starklings`, this might take a while the first time.\n3. You should see this intro message, run `cargo run --bin starklings watch` when you are ready!\n\n```\nstarklings - An interactive tutorial to get started with Cairo and Starknet\n\n       _             _    _ _\n      | |           | |  | (_)\n   ___| |_ __ _ _ __| | _| |_ _ __   __ _ ___\n  / __| __/ _` | '__| |/ / | | '_ \\ / _` / __|\n  \\__ \\ || (_| | |  |   \u003c| | | | | | (_| \\__ \\\n  |___/\\__\\__,_|_|  |_|\\_\\_|_|_| |_|\\__, |___/\n                                     __/ |\n                                    |___/\n\nThanks for installing starklings!\n\nIs this your first time? Don't worry, starklings is made for beginners! We are\ngoing to teach you a bunch of stuff about StarkNet and Cairo.\n\nHere's how starklings works,\n\n1. To start starklings run `cargo run --bin starklings watch`\n2. It'll automatically start with the first exercise. Don't get confused by\nerror message popping up as soon as you run starklings! This is part of the\nexercise that you're supposed to solve, so open the exercise file in an editor\nand start your detective work!\n3. If you're stuck on an exercise, there is a helpful hint you can view by\ntyping `hint` (in watch mode), or running `cargo run --bin starklings hint\nexercise_name`.\n4. When you have solved the exercise successfully, Remove `// I AM NOT DONE`\ncomment to move on to the next exercise.\n5. If an exercise doesn't make sense to you, please open an issue on GitHub!\n(https://github.com/shramee/starklings-cairo1/issues/new).\n\nGot all that? Great! To get started, run `starklings watch` in order to get the\nfirst exercise. Make sure to have your editor open!\n```\n\n## Inspiration\n\n-   [Rustlings](https://github.com/rust-lang/rustlings), starklings is forked from Rustlings. Thanks to all the original [authors and contributors](https://github.com/rust-lang/rustlings)\n\n## Testing\n\n#### For Cairo related tests\n\n```\ncargo test cairo\n```\n\n#### For all tests\n\n```\ncargo test\n```\n\n## Contributing\n\nThanks 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 to the `dev` branch of this repo.\n\n### Branches\n\nWe have 2 active branches,\n\n1. `dev` This is where new development happens. All pull requests should be made to this branch.\n2. `main` This is for cloning and running starklings. `dev` is merged into `main` after a second set of testing.\n\n### Adding new exercises\n\n1. New exercises can be added in `./exercises` directory.\n2. Insert information about the exercise in `./info.toml` file. For example\n    ```toml\n    [[exercises]]\n    name = \"new_exercise\"\n    path = \"exercises/new_module/new_exercise.cairo\"\n    mode = \"compile\" # or \"test\"\n    hint = \"\"\"\"\"\"\n    ```\n3. Check that the [tests](#testing) pass.\n4. Send your PR to `dev` branch of the repo!\n\n### Updating Rust logic/Cairo version\n\n1. [Test](#testing) your changes.\n2. Make sure you have solutions to all the exercises in `./solutions` directory.\n3. Run `cargo run --bin starklings compile_solutions` to confirm all exercise solutions still compile.\n4. Make a pull requests to `dev` branch of the repo!\n\n### Merging `dev` into `main` (maintainers)\n\n1. Create a PR from `dev` branch to `master` branch.\n2. Run all tests, and check solutions with `cargo run --bin starklings compile_solutions`.\n3. Check to make sure no new changes were merged into `dev` since the PR was created.\n4. If everything makes sense, merge away!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAkashneelesh%2Fstarklings-cairo1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAkashneelesh%2Fstarklings-cairo1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAkashneelesh%2Fstarklings-cairo1/lists"}