1---2name: cairo3description: Cairo language and compiler—Rust-like syntax, Sierra/CASM pipeline, Starknet contracts, linear types, and tooling.4---56> Skill based on Cairo (starkware-libs/cairo), generated from `sources/cairo`. Doc path: `sources/cairo/docs/reference/src/components/cairo/modules/`.78Cairo is a Turing-complete language for provable programs (Starknet, general computation). It uses a Rust-like syntax, Sierra as an intermediate representation, and compiles to CASM. Use this skill for writing and compiling Cairo programs and Starknet contracts, and for understanding types, traits, and linear semantics.910## Core References1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Modules and crates | Crates, modules, use, super, file layout | [core-modules-and-crates](references/core-modules-and-crates.md) |15| Functions | Signatures, mut/ref, methods, implicits, nopanic, local compilability | [core-functions](references/core-functions.md) |16| Structs and enums | Definitions, instantiation, destructuring, match | [core-structs-and-enums](references/core-structs-and-enums.md) |17| Traits and impls | Traits, named impls (of), impl generics, dispatch | [core-traits-and-impls](references/core-traits-and-impls.md) |18| Types and generics | Type system, generics, Array, Felt252Dict, fixed arrays | [core-types-and-generics](references/core-types-and-generics.md) |19| Linear types | Move, Copy, Drop, Destruct, Clone, snapshot (@) | [core-linear-types](references/core-linear-types.md) |20| Derive and prelude | Derive macro, common traits, prelude | [core-derive-and-prelude](references/core-derive-and-prelude.md) |2122## Features2324### Starknet2526| Topic | Description | Reference |27|-------|-------------|-----------|28| Starknet contracts | Storage, entry points, events, ABI, dispatchers, syscalls | [features-starknet-contracts](references/features-starknet-contracts.md) |2930### Tooling3132| Topic | Description | Reference |33|-------|-------------|-----------|34| CLI and compilation | cairo-compile, sierra-compile, cairo-run, starknet-compile | [features-cli-and-compilation](references/features-cli-and-compilation.md) |35| Match and panic | Match (enum/felt252), panic, nopanic, panic_with | [features-match-and-panic](references/features-match-and-panic.md) |3637## Best Practices3839| Topic | Description | Reference |40|-------|-------------|-----------|41| Naming and memory | Conventions, struct copy semantics, array/dict patterns | [best-practices-naming-and-memory](references/best-practices-naming-and-memory.md) |