MCPcopy
hub / github.com/dagger/dagger

github.com/dagger/dagger @v0.21.7 sqlite

repository ↗ · DeepWiki ↗ · release v0.21.7 ↗
151,008 symbols 1,443,301 edges 4,291 files 98,505 documented · 65%
README

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.

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.

Extension points exported contracts — how you extend this code

ExtendedError (Interface)
ExtendedError is an error that can provide extra data in an error response. [144 implementers]
dagql/server.go
PersistedObject (Interface)
PersistedObject is implemented by object self payloads that can be encoded directly for import-time cache persistence. [49 …
dagql/cache_persistence_self.go
Typed (Interface)
Typed is any value that knows its GraphQL type. [135 implementers]
dagql/types.go
Descriptive (Interface)
Descriptive is an interface for types that have a description. The description is used in the schema. To provide a full [68 …
dagql/objects.go
FieldRenderer (Interface)
DSL for Pretty-Printing GraphQL Field Calls This DSL allows you to define custom rendering for GraphQL field calls by c [22 …
dagql/idtui/render_dsl.go
Eval (Interface)
Eval represents a single evaluation that can be run against an LLM. Implementations must provide a name, a prompt to te [36 …
modules/evaluator/main.go
ModType (Interface)
ModType wraps the core TypeDef type with schema specific concerns like ID conversion and tracking of the module in which [9 …
core/modtypes.go
CodeGenerator (Interface)
* CodeGenerator is an interface that a SDK may implements to generate code for a module. This can include multiple thin [11 …
core/sdk.go

Core symbols most depended-on inside this repo

Select
called by 59430
dagql/types.go
Arg
called by 37159
dagql/call/id.go
Bind
called by 22924
docs/versioned_docs/version-0.17.2/ci/integrations/snippets/google-cloud-run/go/querybuilder/querybuilder.go
Execute
called by 22592
cmd/dagger/shell_commands.go
Arg
called by 15888
cmd/codegen/introspection/introspection.go
Unmarshal
called by 7493
internal/fsutil/util/protostream.go
Marshal
called by 6367
internal/buildkit/client/llb/state.go
Root
called by 4299
dagql/server.go

Shape

Method 115,637
Struct 18,509
Function 7,167
TypeAlias 4,112
Class 2,925
FuncType 1,785
Interface 832
Enum 38
Route 3

Languages

Go95%
Python2%
TypeScript2%
Java1%

Modules by API surface

toolchains/release/internal/dagger/dagger.gen.go1,692 symbols
modules/evaluator/examples/go/internal/dagger/dagger.gen.go1,689 symbols
e2e/helm/dagger/dagger.gen.go1,668 symbols
toolchains/all-sdks/internal/dagger/dagger.gen.go1,667 symbols
toolchains/engine-dev/internal/dagger/dagger.gen.go1,660 symbols
sdk/go/dagger.gen.go1,659 symbols
modules/evals/internal/dagger/dagger.gen.go1,659 symbols
modules/doug/evals/internal/dagger/dagger.gen.go1,659 symbols
modules/daggerverse/internal/dagger/dagger.gen.go1,659 symbols
toolchains/python-sdk-dev/internal/dagger/dagger.gen.go1,657 symbols
toolchains/docs-dev/internal/dagger/dagger.gen.go1,657 symbols
modules/dev/internal/dagger/dagger.gen.go1,657 symbols

Dependencies from manifests, versioned

carnage/php-graphql-client1.14.1 · 1×
dagger/dagger
jms/serializer3.32.5 · 1×
nette/php-generator4.2.0 · 1×
psr/log3.0.2 · 1×
roave/better-reflection6.65 · 1×
symfony/console7.3.4 · 1×
symfony/process7.3.4 · 1×
webonyx/graphql-php15.24 · 1×
chainguard.dev/apkov0.30.34 · 1×
chainguard.dev/go-grpc-kitv0.17.15 · 1×
chainguard.dev/sdkv0.1.49 · 1×

Datastores touched

(mysql)Database · 1 repos
drupalDatabase · 1 repos

For agents

$ claude mcp add dagger \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact