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

    New to CUE?

    See CUE’s features and syntax up close in this tour that’s suitable for newcomers to the language
    Tour

    JSON, YAML, Go, and more

    Learn how CUE integrates with a wide ecosystem of formats and tools
    Integrations

    Techniques and tools

    Learn about different language and tooling features through self-contained lessons that you can run on your own computer
    Tutorials

    Directions to specific goals

    Follow practical steps guiding you through completing tasks with CUE
    How-to Guides

    Theory and foundations

    Discover the approaches that CUE makes possible by exploring the ideas and theory that drive the language
    Concept Guides

    References

    Read the CUE language specification, a glossary of terms, the project’s code of conduct, and other core documents
    References