Dagger is a modular application delivery platform. It automates the delivery of applications to the cloud, by integrating your existing tools and infrastructure instead
Dagger works by integrating all your tools and infrastructure into a unified graph - a [DAG](https://en.wikipedia.org/wiki/Directed_acyclic_graph) to be precise.
Each node in your DAG represents an integration: for example a source repository, build script, artifact registry or deployment API. Each connection represents a flow of data between integrations: for example from source to build; from build to registry; etc.
All Dagger integrations and data flows are configured with the revolutionary [CUE](https://cuelang.org) language.
This allows for first-class composition. In other words, you can develop your DAG like you would develop any other software, including:
* Publish and import reusable packages
* Encapsulate low-level components in higher-level components, at will
* Collaborate using industry-standard tools and workflows
* Testing, debugging, dependency injection, etc.
### Tying it all together
The combination of Dagger's 3 key features - integration, data flows and composition - allows for powerful patterns to emerge:
* Just-in-time artifacts. Since Dagger can receive source artifacts as input, run them through arbitrary integrations, and produce the final
outputs, you no longer have to worry about storing and managing intermediary artifacts: Dagger's data layer does it automatically for you. Artifacts are produced on demand, when they are needed, and automatically cached for later re-use.
* Gitops-ready. The state of your DAG is encoded as CUE files, and secrets are always encrypted. This you can always safely track your DAG
in source control, and intregate it in a gitops workflow.
Warning! Dagger is _alpha-quality software_. It has many bugs, the user interface is minimal, and it may change in incompatible ways at any time. If you are still
willing to try it, thank you! We appreciate your help and encourage you to [ask
questions](https://github.com/dagger/dagger/discussions) and [report issues](https://github.com/dagger/dagger/issues).