# `Pipette.Dsl.Transformers.GenerateKeys`
[🔗](https://github.com/tommeier/pipette-buildkite-plugin/blob/main/lib/pipette/dsl/transformers/generate_keys.ex#L1)

Compile-time transformer that derives Buildkite key strings for
groups, steps, and triggers.

- Group key: `Atom.to_string(group.name)` (e.g. `:api` -> `"api"`)
- Step key: `"#{group_key}-#{step.name}"` (e.g. `"api-test"`)
- Top-level trigger key: `Atom.to_string(trigger.name)`
  (e.g. `:deploy` -> `"deploy"`)
- Nested trigger key (inside a group): same scheme as a step,
  `"#{group_key}-#{trigger.name}"` (e.g. `"deploy-rollout"`)

Also resolves step `depends_on` atoms/tuples to sibling step key
strings. Trigger `depends_on` (top-level or nested) stays as atoms
and is resolved at runtime by `Pipette.run/2` against the
group key map.

# `after?`

# `after_compile?`

# `before?`

# `transform`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
