Cue Cue
winget install --id=CueLang.Cue -e
CUE is an open source data constraint language which aims to simplify tasks involving defining and using data.
CUE is an open-source data constraint language designed to simplify tasks involving defining and using data. It enables developers to validate, define, and manage configurations with precision, ensuring consistency across various tools and formats.
Key Features:
- Validation & Definition: CUE allows users to create schemas for structured data, validating inputs against these schemas to prevent errors.
- Cross-Platform Support: Works seamlessly with popular technologies like Go, JSON, YAML, OpenAPI, and JSON Schema, making it versatile for diverse projects.
- Dynamic Configuration: Supports dynamic and text-based configurations, enabling flexible adjustments without recompilation.
- Policy Enforcement: Helps align configurations with organizational policies, reducing misconfigurations in cloud-native environments.
Audience & Benefit:
Ideal for developers, DevOps engineers, and teams working on cloud-native applications or infrastructure as code. CUE streamlines configuration management by enforcing consistency, reducing errors, and simplifying validation processes. It can be installed via winget, making it accessible for integration into existing workflows.
CUE empowers organizations to manage complex configurations with confidence, ensuring reliability across their systems.
README
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.
Download and Install
The full range of installation methods for the cue
command are listed on
cuelang.org,
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 from GitHub.
Install from Source
You need Go 1.23 or later 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
.
Note that local builds lack version information,
so you should inject the version string when building a release, such as:
git switch -d v0.13.1
go install -ldflags='-X cuelang.org/go/cmd/cue/cmd.version=v0.13.1' ./cmd/cue
Learning CUE
The fastest way to learn the basics is to follow the language tour on the website.
The cuelang.org website also contains more documentation, including tutorials, how-to guides, concept guides, and references.
Popular references
- The official CUE Language Specification
- The CUE Go API on pkg.go.dev
- Builtin packages and functions available from CUE programs
- The
cue
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. 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.
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.
Contact
- Ask questions via GitHub Discussions
- Chat with us on Slack and Discord
- Subscribe to our 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.