npm test or docker compose up reliably, it can iterate autonomously without human intervention.

Tasks vs Services
Services are long-running processes that stay active throughout your session:- Databases (PostgreSQL, MySQL)
- Backend and frontend servers
- Caching systems (Redis)
- Installing dependencies
- Running tests
- Seeding databases
- Authenticating with cloud providers
A service’s
start command must stay running (block) for the service to remain active. If the command exits, the service transitions to Stopped (exit code 0) or Failed (non-zero). For example, npm start or docker run postgres block and keep the service alive, while docker run -d postgres returns immediately and the service stops.Quick example
- Starts PostgreSQL when the environment starts
- Waits until the database is ready
- Seeds the database with test data
- Makes “Run tests” available as a manual action
Triggers
Control when tasks and services run:
See automations.yaml schema for complete trigger documentation, including how triggers interact with prebuilds.
Run automations across repositories
Tasks and services run within individual environments. For cross-repository automation at scale (migrations, security scanning, bulk updates), see Automations.Next steps
- automations.yaml schema - field reference for all fields, commands, triggers, and execution environments
- Examples - common patterns for databases, servers, and CI
- Dynamic configuration - create tasks and services programmatically