|
1 | 1 | = Tools for coding in Cairo |
2 | 2 |
|
3 | | -[#vs-code-cairo-extension] |
4 | | -== VS Code Cairo extension |
| 3 | +== Scarb |
| 4 | +https://github.com/software-mansion/scarb[Scarb^] is much more than a package manager for Cairo: It is the easiest and most recommended way to build and maintain Cairo code. Developed by Software Mansion and inspired by Cargo for Rust, Scarb includes: |
| 5 | + |
| 6 | +* Initiating a new Cairo project. |
| 7 | +* Compiling Cairo projects. |
| 8 | +* Adding and removing Cairo dependencies. |
| 9 | +* Generating Cairo documentation. |
| 10 | +* Fetching and uploading packages link:https://scarbs.xyz/[Scarbs.xyz], the Cairo Registry. |
| 11 | +* Integrating with the Cairo language server, as well as other tools in the Cairo ecosystem, such as Starknet Foundry and the Dojo gaming engine. |
5 | 12 |
|
| 13 | +== VS Code Cairo extension |
6 | 14 | https://marketplace.visualstudio.com/items?itemName=starkware.cairo1[VS Code Cairo extension^] is an extension for the Microsoft Visual Studio (VS) Code IDE that provides assistance when writing Cairo smart contracts, including live diagnostic highlighting for compile errors, quick fixes with suggestions, code formatting and completion, and more. It integrates with Scarb, and works best when Scarb is installed via `asdf`. |
7 | 15 |
|
8 | | -[#usc] |
9 | | -== Universal-Sierra-Compiler |
10 | | -https://github.com/software-mansion/universal-sierra-compiler[Universal-Sierra-Compiler^] is a utility tool for compiling single Sierra files (unlike Scarb, which compiles full projects) from any Sierra version into CASM. |
| 16 | +== Universal Sierra Compiler |
| 17 | +https://github.com/software-mansion/universal-sierra-compiler[Universal Sierra Compiler^] is a utility tool for compiling single Sierra files (unlike Scarb, which compiles full projects) from any Sierra version into CASM. |
11 | 18 |
|
12 | 19 | [NOTE] |
13 | 20 | ==== |
14 | | -Universal-Sierra-Compiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed. |
| 21 | +Universal Sierra Compiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed. |
15 | 22 | ==== |
16 | 23 |
|
17 | | -[#cairo-profiler] |
18 | | -== cairo-profiler |
19 | | -https://github.com/software-mansion/cairo-profiler[cairo-profiler^] is a utility tool that can be used to create profiles of Cairo executions from execution traces, which can be analyzed and used to show flame graphs and other useful information. |
| 24 | +== Cairo Profiler |
| 25 | +https://github.com/software-mansion/cairo-profiler[Cairo Profiler^] is a utility tool that can be used to create profiles of Cairo executions from execution traces, which can be analyzed and used to show flame graphs and other useful information. |
20 | 26 |
|
21 | 27 | [NOTE] |
22 | 28 | ==== |
23 | | -cairo-profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed. |
| 29 | +Cairo Profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed. |
24 | 30 | ==== |
25 | 31 |
|
26 | | -[#cairo-playground] |
27 | 32 | == Cairo Playground |
28 | | - |
29 | 33 | https://www.cairo-lang.org/cairovm/[Cairo Playground^] an online tool that can be used to both experiment with Cairo without deploying a smart contract on Starknet, as well as dive deep into the Cairo virtual machine. |
30 | 34 |
|
31 | | -[#sierra-analyzer] |
32 | 35 | == Sierra Analyzer |
33 | | - |
34 | 36 | https://github.com/FuzzingLabs/sierra-analyzer[Sierra Analyzer^], developed by https://x.com/fuzzinglabs[FuzzingLabs^] is a security toolkit for analyzing Sierra files, including decompiling a Sierra file, printing the contract's control flow graph, and running static analysis detectors. |
35 | 37 |
|
36 | | -== Cairo lint |
37 | | - |
38 | | -https://github.com/software-mansion/cairo-lint[Cairo lint^] is a collection of lints that can either be used as either a library or as a standalone binary to help both detect and fix common mistakes and improve your Cairo code. |
39 | | - |
40 | | -== Stark-utils |
| 38 | +== Cairo Lint |
| 39 | +https://github.com/software-mansion/cairo-lint[Cairo Lint^] is a collection of lints that can either be used as either a library or as a standalone binary to help both detect and fix common mistakes and improve your Cairo code. |
41 | 40 |
|
42 | | -https://www.stark-utils.xyz/converter[Stark-utils^] is a simple web application that aims to be a toolbox for Cairo developers, allowing you to convert any input to a felt, string, hexadecimal value, and more. |
| 41 | +== Stark Utils |
| 42 | +https://www.stark-utils.xyz/converter[Stark Utils^] is a simple web application that aims to be a toolbox for Cairo developers, allowing you to convert any input to a felt, string, hexadecimal value, and more. |
43 | 43 |
|
44 | 44 | == Thoth |
45 | 45 | https://github.com/FuzzingLabs/thoth[Thoth^] is a Cairo security toolkit that includes analyzers, disassemblers, and decompilers, which enable the generation of call, control-flow, and data-flow graphs for Sierra and Casm files, as well as other advanced tools, such as a symbolic execution engine and a symbolic bounded model checker. |
0 commit comments