Docs
Core concepts
Pipeline
A pipeline is the complete description of a piece of automation: what to run, in what order, and in what environment. It lives in a contigra.toml file alongside your code.
Stages and steps
A stage is a named group of work. A step is a single command inside a stage. Stages declare what they depend on with depends_on; steps run inside their stage.
The execution graph
Dependencies form a directed acyclic graph (DAG). Contigra orders it topologically, then runs every step whose dependencies are satisfied, up to the configured concurrency, so independent work runs side by side.
validate ──▶ build ──▶ integration ──▶ package
Task lifecycle
Each task moves through six states with timeouts and resource allocation. Contigra records the duration, exit code, and output of every task.
Local and distributed modes
| Mode | What runs | Use it for |
|---|---|---|
| Local | CLI executes the pipeline on your machine | Development, quick checks |
| Distributed | Server queues jobs, runners execute them | Teams, shared capacity, scale |
The same contigra.toml works in both modes.