# Glossary (/docs/glossary)



A quick reference for the terms used throughout these docs. Most map directly to a
[macro keyword](/docs/syntax) or a piece of the [compiler pipeline](/docs/architecture).

## Core concepts [#core-concepts]

**Actio** — A transpiler that compiles a `.actio.yml` source into standard GitHub
Actions workflow YAML. It adds a small set of compile-time macros on top of the
normal workflow syntax.

**Transpile / compile** — The act of expanding macros and resolving compile-time
tokens with `actio build`, producing plain `.yml` files. Every macro is stripped or
expanded; none survive into the output.

**Superset** — Actio is a strict superset of GitHub Actions workflow syntax. Every
standard key, event, and value works exactly as it does in a normal workflow, so a
macro-free `.actio.yml` file *is* a normal workflow.

**Macro** — A keyword Actio adds on top of normal workflow syntax that expands into
the boilerplate GitHub requires. See the [syntax reference](/docs/syntax) for the
full list.

**Pass** — A single transform step in the compiler pipeline. Built-in passes
implement the macros; you can register [custom passes](/docs/configuration#custom-passes)
that are merged into the pipeline and ordered by their `runsAfter` dependencies.

**Drift check** — `actio check` (alias for `build --check`): verifies the committed
workflows match what the sources would generate, failing CI if they're stale.

**Executor** — A named runner/container/service preset declared under `executors`. A
job selects one (or an ordered list) via `executor`, and Actio merges its
`runs-on`/`container`/`services` in at compile time.

**Hoist** — Moving an untrusted `${{ }}` context value out of a `run:` body into
`env:` and referencing it by variable, so it can't be executed as part of the shell
command. This is the script-injection mitigation that [`injection-hoist`](/docs/macros/injection-hoist)
performs.

## Interpolation [#interpolation]

**Compile-time token** — `{{ ... }}`. Resolved by `actio build` and baked into the
output (e.g. `{{ params.env }}`, `{{ toJSON(params.matrix) }}`).

**Runtime passthrough** — `${{ ... }}`. Emitted verbatim for the GitHub Actions
runner to evaluate at run time.

## Macro keywords [#macro-keywords]

Actio adds roughly nineteen macro keywords. Rather than re-list them here, see the
[syntax reference](/docs/syntax) for the complete keyword dictionary and the
[macro guides](/docs/macros) for tutorial-style walkthroughs of each one.

## Output [#output]

**Target profile** — The output flavor selected with `--target`: `legacy` (default)
or `github-actions-native-dependencies-preview`.

**Source map** — A `.yml.map` file written beside each generated workflow that maps
generated lines back to the `.actio.yml` source. See [source maps](/docs/source-maps).

**Header banner** — The generated-by-Actio comment stamped at the top of each output
file (suppress with `--no-header`).

**Modeline** — An editor hint comment that opts a file into Actio's JSON Schema for
autocomplete. See [editor support](/docs/editor-support).


## Sitemap

Browse the full documentation: [Markdown sitemap](https://austenstone.github.io/actio/sitemap.md) · [XML sitemap](https://austenstone.github.io/actio/sitemap.xml)