{"id":13410353,"url":"https://github.com/shramee/starklings-cairo1","last_synced_at":"2025-03-14T15:32:32.865Z","repository":{"id":94693900,"uuid":"585492806","full_name":"shramee/starklings-cairo1","owner":"shramee","description":"An interactive tutorial to get you up and running with Cairo v1 and Starknet","archived":false,"fork":false,"pushed_at":"2024-06-13T17:34:50.000Z","size":781,"stargazers_count":434,"open_issues_count":6,"forks_count":358,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-07-31T20:42:17.282Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Cairo","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shramee.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-05T10:04:40.000Z","updated_at":"2024-07-24T18:59:58.000Z","dependencies_parsed_at":"2024-05-01T15:09:50.703Z","dependency_job_id":"b1243f02-ad54-4f31-9468-b0057d86c399","html_url":"https://github.com/shramee/starklings-cairo1","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shramee%2Fstarklings-cairo1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shramee%2Fstarklings-cairo1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shramee%2Fstarklings-cairo1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shramee%2Fstarklings-cairo1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shramee","download_url":"https://codeload.github.com/shramee/starklings-cairo1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221482000,"owners_count":16829979,"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.382Z","updated_at":"2025-03-14T15:32:32.860Z","avatar_url":"https://github.com/shramee.png","language":"Cairo","funding_links":[],"categories":["Resources","Tutorials"],"sub_categories":[],"readme":"\u003ca href=\"https://app.onlydust.com/p/starklings-cairo1\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/OnlyDust-Starklings-grey?labelColor=000\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAAAXNSR0IArs4c6QAABNNJREFUOE9tlGtQ1FUchp/z/+8usLCArOAuICyggwpI4mVEQzNJVMQZb6WpqTikXSxDDC2bMUv9YAw2loWUOo06lo02XsoUL2NqogmmgmCgcleQ24Jclt09zeLo2OV8O7/3Pc+cOXPeV/A/S57B96Zm/Gu7m1MLsqYvOv+sZVNeXvwrg/rGhgcF7hEioP3fx8WzA7keDRGk1hst2cOiDl+rDR061qWf8S/y8lOMMvaB6ZFrv25SbWHGHhHm4+++Anz3CiGcTzhPgTJluJ6Yqzk9g3ULdmw+S3P38Bkflbv9JFv29nFszjyIqkg185fZwieqKZKSlcuSPLLfO2YEteNLaF0lxMBuF7QXKJGKLe7Vb3RT9y+5rsaT+vE+3BEJUTkN+VWJynf1FbY5slFHDH77FxeFLg7OPrvYy6Ms1//sBNTIfkB9NoSvEkLIXmABDfMiLNn7vBdtpuC3XBpPzyPY/c5XQ7pi3nTpppyu5G67Q2l+y/NI7wU+VU+idSQ6x29EjMxAKJXguJ8iNAlHxRykOg9b9XjjLpPfrDU0HNuEX+xO1OjCDtJGmMXAfOs/3lleNvHwSCXSqXV2GVCCl4NoAsftMtRLkWIy1hlz0B+covsZU8o6RNx18AfiIiAmy4Fu2twDB9RDHICJi1ihH0KW1mxXhEbB3gw6/xbACvZb0JyXLOKo+3Yp/VInKwUExXyO27pDMCwJwtfj7Img9bQHTefbnT11IOu9FH00SDt4J4BikPhOuA90QtdlKNuYI/y4dW06lthkVAa53WHQiZ1oEtKQzhAaT9nZOt+J46FGvkQX/d1rxSO/MKS7B442CFjaTkjGdugogQcXofKvQqFyuXYIZnMiZp5DYei0FgZse8SWWUY6CnUESBU/sI+iCV+KNXrtbdQBNZR3LCNidhq+0XmgOKG1B+ocdSKAgmob2qARBBGHgXDgLhIvNBgRBABeUDqAkr7eosjoYb6BR0Q+R5piMUUWMzr6KLi+dZtA1vSvEXOpunic+ngVHRb0rCKUOrrpRkcgGgyPgdvDKA/2Ua5N97TkU9vnASsLs/CWbqwJPoFJew8P0UhPc9gl8SOOrCo6069hxRcNw/DlJlaq6CKZIDwBPcwcQFmYQSnKMljOs7D6dbAF0wctI9FgwYkndhRElsi1yBf07ZwxNEm6nU7qsFGMlbt0MJUg/NEhwS+GunCj8ucfdabbpNfOJwQDRrQYhBONVNACboiE3qS8uLbn6pLdmrj6+61c0FVgUjWypsNLGHAjmX72eQitK57V4rT9Q62XKLeFk2TqlC9HHBbnSsZxpXEwlXTk/4rP6F7gpPSeMbMOq+dC73SrCW8PRDepoXVmSnGph9SNSiG4cyFC7/JViIvdY6WnLlg1n9+3tu9QNcjmveV9JxVtDkcnzufz8Ln0tG1yQ+Q7/SvZ6rDkiylZY2joDMzMXHA5PQqz+2qE7+PM322Pp6X+xvfRuzyrlQ2fbWuh4J6QNmzpv2Pa+rRtnmT1OPLdNpxbvMblapNWv1G1IcU64j5c+BrDQJcnjYqqXBqirVfiij/5oCbw2EnZY4PMMkKy/9OHTwY/ICPbsJ0KmfKFOTFtbeySmaVluwnrcukW7rqXtPsnZCwvPb5jj1Ltjm6ilaiyZ8vjb2wS2X7S7itMAAAAAElFTkSuQmCC\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=onlydust_com\"\u003e\n\u003cimg src=\"https://img.shields.io/twitter/follow/onlydust_com?label=Follow OnlyDust\u0026style=social\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=shrameetweets\"\u003e\n\u003cimg src=\"https://img.shields.io/twitter/follow/shrameetweets?label=Follow ShrameeTweets\u0026style=social\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://t.me/+wu8frxmrbeliZWI1\"\u003e\n\u003cimg src=\"https://img.shields.io/static/v1?label=Telegram\u0026message=Starklings Dev\u0026color=eee\u0026logo=telegram\u0026style=social\" /\u003e\n\u003c/a\u003e\n\n# STARKLINGS\n\n![STARKLINGS](./.github/hero-banner.svg)\n\n### An interactive tutorial to get you up and running with Cairo and Starknet\n\n## Overview\n\nStarklings is an interactive tutorial project designed to help you learn Cairo and Starknet development through practical exercises. The project consists of two main components:\n\n### \u003ca href=\"./README.APP.md\"\u003eStarklings APP \u003cimg align=\"right\" alt=\"Readme APP\" src=\"https://img.shields.io/badge/Readme-grey\"\u003e\u003c/a\u003e\n\nCLI-based interactive tutorial\n\n### \u003ca href=\"./README.CLI.md\"\u003eStarklings CLI \u003cimg align=\"right\" alt=\"Readme CLI\" src=\"https://img.shields.io/badge/Readme-grey\"\u003e\u003c/a\u003e\n\nA web-based in browser Starklings experience\n\n#### Both versions share the same core exercises and hints, with a single source of truth for all content.\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.\n\n### Testing\n\n#### Cairo related tests\n\n```\ncargo test cairo\n```\n\n#### All tests\n\n```\ncargo test\n```\n\n#### App tests\n\n_Coming soon_\n\n### Adding new exercises\n\n#### Here's what an exercise looks like,\n1. An exercise is pretty much a single well commented Cairo file.\n2. Exercises are organised into modules and are placed in `./exercises/\u003cmodule_name\u003e/\u003cexercise_name\u003e.cairo`\n3. Exercise accompanies some metadata describing it in `./info.toml`\n4. When introducing a concept for the first time, try to start minimally.\n5. Subsequent exercises for the same concept can grow in complexity.\n\n#### Contributing with a new exercise\n1. Add the exercise file in the `./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 = \"test\"\n    hint = \"\"\"\n    Try the Harlem shake\n    \"\"\"\n    ```\n3. Run your exercise with `starklings run` as you write\n```\ncargo run -r --bin starklings run new_exercise\n```\n4. Check that the [tests](#testing) pass.\n5. Send your PR!\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 -r --bin starklings compile_solutions` to confirm all exercise solutions still compile.\n4. Make your pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshramee%2Fstarklings-cairo1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshramee%2Fstarklings-cairo1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshramee%2Fstarklings-cairo1/lists"}