Dagger is a programmable CI/CD engine that replaces shell scripts and proprietary YAML configurations with a complete execution engine and typed API accessible from eight programming languages. It solves the fundamental problem of CI/CD pipeline portability by allowing developers to write, test, and debug pipelines locally before running them on any CI platform. Dagger uses containerized execution to ensure that every pipeline run is repeatable, isolated, and cacheable regardless of where it runs.
The platform features just-in-time artifact generation with function chaining, GraphQL-powered query optimization for automatic parallelization, and built-in OpenTelemetry observability for every operation. Dagger offers SDKs for Go, Python, TypeScript, PHP, Java, Elixir, Rust, and Kotlin, allowing teams to write CI/CD logic in their preferred language. Dagger Cloud provides managed compute infrastructure with integrated caching and GitHub Checks integration, while the open-source engine runs anywhere Docker is available.
Dagger is ideal for platform engineering teams, DevOps engineers, and organizations that need portable, testable CI/CD pipelines that work consistently across local development machines, CI servers, and cloud environments. It eliminates the vendor lock-in of platform-specific YAML syntaxes and enables the same pipeline code to run on GitHub Actions, GitLab CI, CircleCI, Jenkins, or any other CI platform. The growing module ecosystem allows teams to share and reuse pipeline components across projects and organizations.