[![Go Reference](https://pkg.go.dev/badge/cuelang.org/go.svg)](https://pkg.go.dev/cuelang.org/go) [![Documentation](https://img.shields.io/badge/CUE-Docs-0066ff)](https://cuelang.org/docs/) [![Github](https://github.com/cue-lang/cue/actions/workflows/trybot.yaml/badge.svg)](https://github.com/cue-lang/cue/actions/workflows/trybot.yaml?query=branch%3Amaster+event%3Apush) [![Go 1.24+](https://img.shields.io/badge/go-1.24-9cf.svg)](https://golang.org/dl/) [![platforms](https://img.shields.io/badge/platforms-linux|windows|macos-inactive.svg)]() [![Docker Image](https://img.shields.io/docker/v/cuelang/cue?sort=semver&label=docker)](https://hub.docker.com/r/cuelang/cue) # CUE - _Configure, Unify, Execute_ CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. CUE works with a wide range of tools and formats that you're already using such as Go, JSON, YAML, TOML, OpenAPI, Protobuf, and JSON Schema. For more information and documentation, including __tutorials and guides__, see [cuelang.org](https://cuelang.org). ### Download and Install The full range of installation methods for the `cue` command are listed on [cuelang.org](https://cuelang.org/docs/introduction/installation/), including the official container image suitable for use with Docker. Here are two common ways to install the command: #### Release builds Download the [latest release](https://github.com/cue-lang/cue/releases/latest/) from GitHub. #### Install from Source You need [Go 1.24 or later](https://go.dev/doc/install) to install CUE from source: go install cuelang.org/go/cmd/cue@latest You can also clone the repository and build it directly via `go install ./cmd/cue`. ### Learning CUE The fastest way to learn the basics is to follow [the language tour](https://cuelang.org/docs/tour/) on the website. The [cuelang.org](https://cuelang.org) website also contains [more documentation](https://cuelang.org/docs/), including [tutorials](https://cuelang.org/docs/tutorial/), [how-to guides](https://cuelang.org/docs/howto/), [concept guides](https://cuelang.org/docs/concept/), and [references](https://cuelang.org/docs/reference/). ### Popular references - The official [CUE Language Specification](https://cuelang.org/docs/reference/spec/) - The CUE [Go API](https://pkg.go.dev/cuelang.org/go) on pkg.go.dev - [Builtin packages and functions](https://pkg.go.dev/cuelang.org/go/pkg) available from CUE programs - [The `cue` command](https://cuelang.org/docs/reference/command/), a versatile interface for working with data, CUE, and its ecosystem ### Go release support policy As a general rule, we support the two most recent major releases of Go, matching Go's [security policy](https://go.dev/doc/security/policy). For example, if CUE v0.7.0 is released when Go's latest version is 1.21.5, v0.7.x including any following bugfix releases will require Go 1.20 or later. ### Contributing To contribute, please read the [Contribution Guide](CONTRIBUTING.md). ## Code of Conduct Guidelines for participating in CUE community spaces and a reporting process for handling issues can be found in the [Code of Conduct](https://cuelang.org/docs/reference/code-of-conduct/). ## Contact - Ask questions via [GitHub Discussions](https://github.com/cue-lang/cue/discussions) - Chat with us on [Slack](https://cuelang.org/s/slack) and [Discord](https://cuelang.org/s/discord) - Subscribe to our [Community Calendar](https://cuelang.org/s/community-calendar) for community updates, demos, office hours, etc --- Unless otherwise noted, the CUE source files are distributed under the Apache 2.0 license found in the LICENSE file.