gates.yaml
The gates.yaml file in your project (or under .maestro/) defines which gates run and in what order. Each gate has an id, name, and either a command or script; optional dependencies control order.
Structure
A gate definition typically includes:
- id — Unique identifier for the gate.
- name — Human-readable name.
- command or script — The command or script to run (e.g. lint tool, test runner).
- depends_on — (Optional) List of gate ids that must pass first.
Minimal example
yaml
# Example structure (generic IDs)
gates:
- id: gate-lint
name: Lint
command: ruff check .
- id: gate-test
name: Tests
script: pytest
depends_on: [gate-lint]
For how gates are used in the flow and what evidence they produce, see Gates reference and Gates & evidence. Project-level intent and tier are in intent.yaml.