# Pipette v0.6.0 - API Reference

## Modules

- [Pipette](Pipette.md): Declarative Buildkite pipeline generation for monorepos, written in Elixir.
- [Pipette.Pipeline](Pipette.Pipeline.md): Pipeline configuration struct.
- [Pipette.ScopeRef](Pipette.ScopeRef.md): A reference to a named scope within a group.

- Pipeline Definition
  - [Pipette.Branch](Pipette.Branch.md): Branch policy for activation.
  - [Pipette.Constructors](Pipette.Constructors.md): Convenience constructors for building pipeline structs at runtime.
  - [Pipette.DSL](Pipette.DSL.md): Declarative Buildkite pipeline definition DSL.
  - [Pipette.Group](Pipette.Group.md): Group of Buildkite steps.
  - [Pipette.Info](Pipette.Info.md): Accessor functions for reading pipeline configuration from Spark DSL modules.
  - [Pipette.Scope](Pipette.Scope.md): File-affinity scope for activation.
  - [Pipette.Step](Pipette.Step.md): Buildkite command step.
  - [Pipette.Trigger](Pipette.Trigger.md): Buildkite trigger step that starts another pipeline.

- DSL Internals
  - [Pipette.Dsl.Transformers.GenerateKeys](Pipette.Dsl.Transformers.GenerateKeys.md): Compile-time transformer that derives Buildkite key strings for
groups, steps, and triggers.
  - [Pipette.Dsl.Verifiers.ValidateAcyclic](Pipette.Dsl.Verifiers.ValidateAcyclic.md): Validates that group dependencies form a DAG (no cycles).
  - [Pipette.Dsl.Verifiers.ValidateRefs](Pipette.Dsl.Verifiers.ValidateRefs.md): Validates that scope, depends_on, and force_activate references are valid.
  - [Pipette.Dsl.Verifiers.ValidateSteps](Pipette.Dsl.Verifiers.ValidateSteps.md): Validates step and trigger configuration constraints inside groups.

- Engine
  - [Pipette.Activation](Pipette.Activation.md): The activation engine — determines which groups and steps should run.
  - [Pipette.Context](Pipette.Context.md): Runtime context built from Buildkite environment variables.
  - [Pipette.Git](Pipette.Git.md): Git change detection and glob matching for pipeline activation.
  - [Pipette.Graph](Pipette.Graph.md): Directed Acyclic Graph (DAG) for pipeline dependency management.
  - [Pipette.Target](Pipette.Target.md): Parses pipeline targets from commit messages and the `CI_TARGET` environment variable.

- Output
  - [Pipette.Buildkite](Pipette.Buildkite.md): Serializes pipeline groups/steps to Buildkite YAML format.

