# Language reference

> Page: https://docs.plotwork.dev/reference/language. Index of every page: https://docs.plotwork.dev/llms.txt

Every word the diagram language accepts: kinds, node types, groups, arrows, tones, icons, limits, and diagnostic codes. Each topic has its own page, so a reader or an agent loads only what the task needs.

## TL;DR

| Question | Answer |
|---|---|
| What starts a diagram? | A header line naming the kind and a quoted title: `flow "Title"`, `sequence "Title"`, `schema "Title"`, `git "Title"`, `gantt "Title"`, `class "Title"`, `state "Title"`, `timeline "Title"`, `journey "Title"`, `mindmap "Title"`, `treemap "Title"`, `pie "Title"`, `quadrant "Title"`, `layers "Title"`, `c4 "Title"`, `matrix "Title"`, `sankey "Title"`, `xychart "Title"`, `tree "Title"`, `swimlane "Title"`. |
| Who picks colors? | The theme. Authors choose a type or a tone (neutral, blue, violet, aqua, orange, green, amber, red), never a color value. |
| How many icons are bundled? | 2283, in 12 sets. Use `search_icons` or `map_icons` to find names. |
| How big can a diagram be? | 50000 characters of source. Quality warnings start at 15 flow nodes (one more for each group, up to 25), 6 tables, 6 actors, 40 git graph commits, 7 git graph branches, 40 Gantt chart tasks and milestones, 12 class diagram classes, 12 class diagram members in one class, 15 state states, 3 state composite nesting, 12 timeline periods on a horizontal rail, 24 timeline periods on a vertical rail, 5 timeline events in one period, 48 timeline events, 16 user journey tasks, 8 user journey actors, 40 mind map topics, 8 mind map branches, 4 mind map levels, 9 mind map topics under one topic, 80 treemap treemap items, 6 share chart slices, 3 share chart points between slices, 40 quadrant chart points, 8 layered architecture blocks in a layer, 12 C4 diagram elements, 20 matrix rows, 12 matrix columns, 30 matrix items, 8 Sankey diagram sankey columns, 6 XY chart series, 60 XY chart places, 60 tree tree rows, 8 swimlane lanes, or 40 swimlane steps. |
| Where do I start for a common architecture? | From a pattern: `find_pattern` ranks ready-made, checked diagrams for a request, and `get_pattern` or `draw_from_pattern` fills one. See the [architecture patterns guide](https://docs.plotwork.dev/architecture-patterns.md). |
| How do I draw a cloud architecture? | Give every group a `type=`, set `provider=` on the header, and give every service a provider icon found with `search_icons`. See the [cloud architecture guide](https://docs.plotwork.dev/cloud-architecture.md). |
| What happens on a mistake? | Every error carries a line, a column, and a hint, and all of them are reported in one pass. |

## Pages

| Page | What it covers |
|---|---|
| [Diagram kinds and settings](https://docs.plotwork.dev/reference/language/kinds.md) | The twenty kinds of diagram with an example of each, and the settings a diagram accepts: tones, directions, themes, sequence frames, and schema column flags. |
| [Flow node types](https://docs.plotwork.dev/reference/language/flow-nodes.md) | Every type a flow node can take, with its shape, default tone and icon, the technology marks a node can carry, and the mark of a planned change. |
| [Groups and overlays](https://docs.plotwork.dev/reference/language/groups.md) | How a group frames nodes and nested groups, the options it takes, and how an overlay draws a frame around members that layout placed apart. |
| [Group types](https://docs.plotwork.dev/reference/language/group-types.md) | Every group type with its frame style and tone, the icon each draws for each provider, and a complete cloud architecture diagram. |
| [Arrows and edge labels](https://docs.plotwork.dev/reference/language/edges.md) | The arrow tokens, the labels and icons an edge can carry, the level edge that keeps mirrored columns side by side, and the options that animate a line, number the steps, or color a line by what it carries. |
| [Icon sets and status icons](https://docs.plotwork.dev/reference/language/icon-sets.md) | The icon sets a diagram can draw from, how a provider product is written, and the status icons that keep their own color. |
| [Limits and quality checks](https://docs.plotwork.dev/reference/language/limits.md) | How large a diagram may be, the quality warnings that fire past the density limits, and the two suggestions that name an icon or a group type to add. |
| [Diagnostic codes](https://docs.plotwork.dev/reference/language/diagnostics.md) | Every error and warning code with its severity and name, and how to read one. |

## See also

| Doc | Why |
|---|---|
| [Writing diagrams](https://docs.plotwork.dev/writing-diagrams.md) | The language by example, kind by kind |
| [Cloud architecture](https://docs.plotwork.dev/cloud-architecture.md) | Typed groups, provider icons, and how to map a product name to an icon |
| [Architecture patterns](https://docs.plotwork.dev/architecture-patterns.md) | Ready-made, checked diagrams to start from, each with slots to rename |
| [Diagrams in Markdown and on GitHub](https://docs.plotwork.dev/markdown-and-github.md) | How a fence becomes a picture |
| [Icon reference](https://docs.plotwork.dev/reference/icons.md) | Every bundled icon and how to find one |
| [Tool reference](https://docs.plotwork.dev/mcp/tools.md) | The same checks as callable tools |
| [API reference](https://docs.plotwork.dev/api/reference.md) | The same checks over HTTP |
