Welcome to CUE!
CUE is an open-source data validation language with its roots in logic programming. It combines succinct yet clear syntax with powerful, flexible constraints that enable data, schema, and policy constraints to coexist seamlessly:
example.cue
area: length * width
area: <100 // Must be less than 100.
width: 33.3 & >10 // Must be greater than 10.
length: 5 & !=width // Reject square areas.
TERMINAL
$ cue vet example.cue
area: invalid value 166.5 (out of bound <100):
./example.cue:2:9
./example.cue:1:9
CUE supports and simplifies a wide variety of applications, such as data validation, configuration, querying, and code generation, with its underlying inference engine enabling data validation in code, and flexible generation pipelines.
How to use this documentation
Browse through the different documentation sections, or use the search box in the top-right corner of each page. Here’s what you’ll find in each section:
A great place to start
Take a trip through what’s possible with CUE, and learn how to install it on
your computer
Introduction
IntroductionNew to CUE?
See CUE’s features and syntax up close in this tour that’s suitable for
newcomers to the language
Tour
TourJSON, YAML, Go, and more
Learn how CUE integrates with a wide ecosystem of formats and tools
Integrations
IntegrationsTechniques and tools
Learn about different language and tooling features through self-contained
lessons that you can run on your own computer
Tutorials
TutorialsDirections to specific goals
Follow practical steps guiding you through completing tasks with CUE
How-to Guides
How-to GuidesTheory and foundations
Discover the approaches that CUE makes possible by exploring the ideas and
theory that drive the language
Concept Guides
Concept GuidesReferences
Read the CUE language specification, a glossary of terms, the project’s code
of conduct, and other core documents
References
References