Devtools for coding in Cairo

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:

  • Initiating a new Cairo project.

  • Compiling Cairo projects.

  • Adding and removing Cairo dependencies.

  • Generating Cairo documentation.

  • Fetching and uploading packages Scarbs.xyz, the Cairo Registry.

  • Integrating with the Cairo language server, as well as other tools in the Cairo ecosystem, such as Starknet Foundry and the Dojo gaming engine.

VS Code Cairo extension

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.

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.

Universal-Sierra-Compiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.

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.

cairo-profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.

Cairo Playground

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.

Sierra Analyzer

Sierra Analyzer, developed by 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.

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.

Stark-utils

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, etc.