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