Skip to main content
Version: 1.0-beta

Introduction

Dagger is the missing software stack for CI. It makes your pipelines faster and more repeatable, not by throwing bigger machines at them, but by replacing artisanal scripts with a clean API, real code, and a portable DAG execution engine.

Once daggerized, your pipeline logic is decoupled from its environment. Trigger it before or after push; run it locally or let our cloud scale it out; spin up multi-container environments just in time; all cached automatically, traced end to end, and extensible in your favorite language.

Orientation

  • Want to adopt Dagger in your project? Start with the Quickstart, then follow Workspace setup.
  • Your project already uses Dagger? See CLI to run checks, generate code, and start services.
  • Want to learn more about what Dagger can do? Keep reading.

What you can do

No code required. Install modules, run commands, get results.

Lint and format across your stack

dagger install github.com/dagger/eslint
dagger install github.com/dagger/prettier
dagger check

Run e2e tests with real services

dagger install github.com/dagger/playwright
dagger check

Run code generators

dagger install github.com/dagger/go
dagger generate

Debug a broken build

dagger check
dagger api call eslint lint terminal

Key features

Programmable. Real code — Go, Python, TypeScript — not YAML.

Local-first. Run your full pipeline before you push. Same result everywhere.

Zero-setup tracing. Every step traced automatically. No instrumentation code.

Interactive debugging. Drop into a terminal at any step of your pipeline.

Incremental execution. Only what changed gets re-executed.

Agent-friendly. Agents run Dagger checks in their dev loop. Sandboxed, cached, remote.

Native secrets. Plugs into your existing secret infrastructure.

Just-in-time services. Service dependencies build on demand, no pre-provisioning.