ScriptsMar 31, 2026·2 min read

Dagger — Programmable CI/CD Engine

Run CI/CD pipelines as code — locally, in CI, or in the cloud. Replace YAML with real programming languages. Cacheable, portable, testable. 15.6K+ stars.

TO
TokRepo精选 · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

# Install
curl -fsSL https://dl.dagger.io/dagger/install.sh | sh

# Run a function
dagger -m github.com/dagger/dagger/dev/go call build --source=.

Or use the Python SDK:

pip install dagger-io
import dagger
import anyio

async def main():
    async with dagger.Connection() as client:
        out = await (
            client.container()
            .from_("python:3.12-slim")
            .with_exec(["python", "-c", "print('Hello from Dagger!')"])
            .stdout()
        )
        print(out)

anyio.run(main)

Intro

Dagger is a programmable CI/CD engine that replaces YAML pipelines with real code. Write build, test, and deploy pipelines in Python, TypeScript, Go, or any language — then run them identically on your laptop, in GitHub Actions, GitLab CI, or any CI system. Everything runs in containers with automatic caching. 15,600+ GitHub stars, Apache 2.0.

Best for: DevOps teams tired of YAML who want testable, portable CI/CD pipelines Works with: GitHub Actions, GitLab CI, CircleCI, Jenkins, any CI; Docker, Kubernetes


Key Features

Code, Not YAML

Write pipelines in Python, TypeScript, Go, or PHP — with IDE support, type checking, and testing.

Run Anywhere

Same pipeline runs on your laptop and in CI. Debug locally, push with confidence.

Automatic Caching

Every step is content-addressed and cached. Rebuilds only what changed.

Container-Native

Every step runs in a container. No "works on my machine" — reproducible by default.

Dagger Functions

Reusable pipeline modules from the community:

dagger -m github.com/dagger/dagger/dev/go call lint --source=.
dagger -m github.com/sagikazarmark/daggerverse/golangci-lint call run --source=.

Multi-Language SDKs

Full SDKs for Python, TypeScript, Go, PHP, and Elixir. GraphQL API underneath.


FAQ

Q: What is Dagger? A: A programmable CI/CD engine. Replace YAML pipelines with real code (Python/TypeScript/Go). Run locally or in any CI. Automatic caching. 15.6K+ stars.

Q: Does Dagger replace GitHub Actions? A: Dagger runs inside GitHub Actions (or any CI). It replaces the YAML workflow definitions with code, while using the CI system for triggers and scheduling.


🙏

Source & Thanks

Created by Dagger. Licensed under Apache 2.0. dagger/dagger — 15,600+ GitHub stars

Related Assets