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.