Skip to main content

Dagger Documentation

What is Dagger?​

Dagger is a CI orchestration engine. Define your pipelines once, in real code. Run them identically before and after push, locally or at scale.

Orientation​

  • Want to adopt Dagger in your project? Start with the Quickstart, then follow Workspace Setup.
  • Your project already uses Dagger? See Using Dagger to run checks, generate code, and start services.
  • Migrating to workspaces? See Upgrading to Workspaces.
  • 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 mod install github.com/dagger/eslint
dagger mod install github.com/dagger/prettier
dagger check

Run e2e tests with real services​

dagger mod install github.com/dagger/playwright
dagger check

Run code generators​

dagger mod install github.com/dagger/go
dagger generate

Debug a broken build​

dagger check
dagger 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.