# AWL

Understand the document families and the local check, compile and deploy loop.

AWL is Aion's typed workflow language. A document declares its contracts and the steps that connect them. The same source can supply schemas, documentation and executable bytecode.

## Authoring a flow

A workflow header names inputs, received signals, queries and terminal outcomes. Types describe the values that cross those boundaries. Worker declarations describe external actions; steps call them and route their results.

You can start with pure expressions, as in the [first workflow](/aion/getting-started/first-workflow/). Add a worker only when a step needs an external effect.

## More than workflow documents

A worker document owns one queue's implementation. A workloop describes continuing work with cadence, carried state and health invariants. A binding document supplies a venue's queues and harness settings for abstract roles.

Command and recipe declarations describe executable work and its assembly checks. They have their own rules for arguments, dependencies, artifacts and receipts.

## The local loop

Check parses and typechecks. Format writes the canonical source in place. Emit can produce direct BEAM bytecode or Gleam source. Schema derives the contracts. Doc renders the author's narration, declarations and step graph.

Compilation checks that each body can be converted into executable bytecode after typechecking. The [reference](/aion/reference/awl/) lists those boundaries and every served word.
