Dagger: a better way to ship Dagger is a platform for automating software delivery. It can build, test and ship any codebase, reliably and at scale. Dagger runs locally, in…
Dagger: a better way to ship
Dagger is a platform for automating software delivery. It can build, test and ship any codebase, reliably and at scale.
Dagger runs locally, in your CI server, or directly in the cloud.
bash
brew install dagger/tap/dagger
Why Dagger?
Dagger makes your software delivery *programmable*, *local-first*, *repeatable* and *observable*.
Programmable. Shell scripts and proprietary YAML are no longer acceptable for automating software delivery. Dagger provides: a complete execution engine and system API; SDKs for 8 languages; an interactive REPL; a rich ecosystem of reusable modules; and more.
Local-first. Once you automate a task with Dagger, it will reliably run on any supported system: your laptop, AI sandbox, CI server, or dedicated cloud infrastructure. The only dependency is a container runtime like Docker.
Repeatable. Tools run in containers, orchestrated by sandboxed functions. Host dependencies are explicit and strictly typed. Intermediate artifacts are built just-in-time. Every operation is incremental by default, with advanced cache control. Whether it's a test report, a build or a deployment, Dagger gives you an output you can trust.
Observable. Every operation emits a full OpenTelemetry trace, enriched by granular logs and metrics. Visualize the trace in directly in the terminal, or in a web view. Debug complex workflows immediately instead of guessing what went wrong from a wall of text logs.
Features
System API. A cross-language API for orchestrating containers, filesystems, secrets, git repositories, network tunnels, and more. Every operation is typed and composable.
SDKs in 8 languages. Native SDKs for Go, Python, TypeScript, PHP, Java, .NET, Elixir and Rust. Each SDK is generated from the API schema, so you get idiomatic code with full type safety and editor support.
Typed artifacts. Define custom object types with encapsulated state and functions. Types are content-addressed and can be passed across SDK language boundaries and module boundaries without serialization.
Incremental execution. Every operation is keyed by its inputs. Change one file and only the affected operations re-run. Caching is content-addressed and works automatically across local runs and CI.
Runs anywhere. The only requirement is a Linux container runtime. Runs natively on Linux, or via Docker Desktop and similar products on macOS and Windows. Local and CI behavior are identical.
Built-in tracing. Every operation emits OpenTelemetry spans. The CLI includes a live TUI; traces can also be exported to Jaeger, Honeycomb, or any OTel-compatible backend.
Getting started
Community
Contributing
See CONTRIBUTING.md.
Members
-
dagger ★ PINNED
Automation engine to build, test and ship any codebase. Runs locally, in CI, or directly in the cloud
Go ★ 16k 3h agoExplain → -
container-use
Development environments for coding agents. Enable multiple agents to work safely and independently with your preferred stack.
Go ★ 3.9k 13d agoExplain → -
dagger-for-github
GitHub Action for Dagger
★ 165 3mo agoExplain → -
agents ▣
No description.
★ 135 1y agoExplain → -
cuelsp ▣
No description.
Go ★ 87 3y agoExplain → -
examples ▣
No description.
Go ★ 50 2y agoExplain → -
nix
No description.
Nix ★ 32 8d agoExplain → -
dagger-go-sdk
A read-only mirror of the Dagger Go SDK. Do not use directly! To contribute, see https://github.com/dagger/dagger/tree/main/sdk/go
Go ★ 31 3d agoExplain → -
dagger-php-sdk
A read-only mirror of the Dagger PHP SDK. Do not use directly! To contribute, see https://github.com/dagger/dagger/tree/main/sdk/php
PHP ★ 26 3d agoExplain → -
cloak ▣
No description.
Go ★ 15 3y agoExplain → -
hello-dagger
Dagger Quickstart - Example Application
Vue ★ 10 1mo agoExplain → -
homebrew-tap
No description.
Ruby ★ 5 8d agoExplain → -
openmeter ⑂
Cloud Metering for AI, Billing and FinOps. Collect and aggregate millions of usage events in real-time.
★ 5 1y agoExplain → -
todoapp ▣
No description.
JavaScript ★ 5 2y agoExplain → -
hello-dagger-template
Dagger Quickstart - Example Application
Vue ★ 4 2mo agoExplain → -
jest
A Dagger toolchain for Jest - a Javascript testing framework.
TypeScript ★ 4 7d agoExplain → -
cue ⑂ ▣
The new home of the CUE language! Validate and define text-based and dynamic configuration
Go ★ 4 4y agoExplain → -
testctx
No description.
Go ★ 4 2mo agoExplain → -
todoapp-old ⑂ ▣
A sample React app which you can build, test and deploy with Dagger
JavaScript ★ 4 3y agoExplain → -
setup
A Dagger introduction, packaged as a Dagger toolchain. Learn Dagger from within Dagger!
★ 3 1mo agoExplain → -
registry-redirect ⑂
No description.
Go ★ 3 1h agoExplain → -
.github
Community health files that will appear in all org repositories
★ 3 2y agoExplain → -
dang-sdk
A SDK to develop with Dang, Dagger's native scripting language
Go ★ 2 21h agoExplain → -
querybuilder
No description.
Go ★ 2 2mo agoExplain → -
checks
No description.
★ 2 3mo agoExplain → -
typescript-sdk
Develop Dagger modules in TypeScript
Go ★ 1 21h agoExplain → -
prettier
A Dagger toolchain for prettier - a multi-language code formatter
★ 1 19h agoExplain → -
eslint
A Dagger toolchain for eslint - a static code analyzer for Javascript
★ 1 7d agoExplain → -
pytest
A Dagger toolchain for pytest - a python test framework
Python ★ 1 7d agoExplain → -
go
A Dagger module for Go - a programming language for building simple, secure, scalable systems.
Go ★ 1 9d agoExplain → -
helm
A Dagger module for Helm - a package manager for Kubernetes
★ 1 1mo agoExplain → -
shellcheck
A Dagger module for shellcheck, a tool to find bugs in your shell scripts
★ 1 1mo agoExplain → -
buildkit ⑂
Dagger temporary fork for bugfixes pending upstream merge
Go ★ 1 11mo agoExplain → -
graphql ⑂
An implementation of GraphQL for Go / Golang
Go ★ 1 2y agoExplain → -
java-sdk
Develop and consume Dagger modules in Java
★ 0 8h agoExplain → -
python-sdk
Develop Dagger modules in Python
Go ★ 0 21h agoExplain → -
go-sdk
Develop Dagger modules in Go
Go ★ 0 21h agoExplain → -
sdk-sdk
Develop your own custom SDK for Dagger. For expert Dagger developers only!
Go ★ 0 4h agoExplain → -
vitest
A Dagger toolchain for vitest - a test framework for Vite.js
TypeScript ★ 0 7d agoExplain → -
otel-go
Otel package for Dagger engine and Go SDK
Go ★ 0 7d agoExplain → -
winget-pkgs ⑂
The Microsoft community Windows Package Manager manifest repository
★ 0 8d agoExplain → -
dagger-test-modules
No description.
Go ★ 0 1mo agoExplain → -
PsScriptAnalyzer
A Dagger module for PSScriptAnalyzer: a static code checker for PowerShell modules and scripts
★ 0 1mo agoExplain → -
biomejs
A dagger module for Biome - a formatter for web applications
TypeScript ★ 0 1mo agoExplain → -
node
No description.
★ 0 19h agoExplain → -
sam-dev
Testing
Go ★ 0 3mo agoExplain → -
mochajs
A Dagger toolchain for Mocha - a Javascript test framework
TypeScript ★ 0 5mo agoExplain → -
bun
A dagger toolchain for Bun - a Javascript runtime
★ 0 5mo agoExplain → -
client-generator-test
No description.
Go ★ 0 9mo agoExplain → -
SWE-bench ⑂
SWE-bench [Multimodal]: Can Language Models Resolve Real-world Github Issues?
★ 0 1y agoExplain → -
oauth2 ⑂
Go OAuth2
★ 0 3y agoExplain → -
graphql-go-tools ⑂
Like apollo-tools for graphql-go
Go ★ 0 2y agoExplain →
No repos match these filters.