# Documentation

Language and workflow guides based on the current compiler, examples, and CLI implementation.

Start with the [quick reference](https://tea-lang.dev/docs/quick-reference.md) or the [agent documentation index](https://tea-lang.dev/llms.txt). For documentation matching your installed version, run `tea docs`.

## Get Started

- [Installation](https://tea-lang.dev/docs/install.md): Install a prebuilt Tea release and verify the CLI.
- [Getting Started](https://tea-lang.dev/docs/getting-started.md): Run your first script and compile a binary.
- [CLI](https://tea-lang.dev/docs/cli.md): Run, build, format, and test Tea programs.

## Language

- [Syntax](https://tea-lang.dev/docs/syntax.md): Bindings, blocks, strings, and core syntax.
- [Types](https://tea-lang.dev/docs/types.md): Primitive values, lists, dicts, optionals, and inference.
- [Functions](https://tea-lang.dev/docs/functions.md): Named functions, lambdas, locals, and return values.
- [Structs](https://tea-lang.dev/docs/structs.md): Custom data types with named fields.
- [Generics](https://tea-lang.dev/docs/generics.md): Type parameters for functions and structs.
- [Pattern Matching](https://tea-lang.dev/docs/pattern-matching.md): Use `case` to branch on variants and values.
- [Error Handling](https://tea-lang.dev/docs/error-handling.md): Typed errors, `throw`, and `catch` blocks.
- [Modules](https://tea-lang.dev/docs/modules.md): Split code across files and import stdlib modules.
- [Testing](https://tea-lang.dev/docs/testing.md): Write `test` blocks and use `std.assert`.

## Project

- [Code Style](https://tea-lang.dev/docs/code-style.md): Formatting and style conventions for Tea and Rust.
- [Contributing](https://tea-lang.dev/docs/contributing.md): Build, test, and contribute to the compiler and docs.
