base on The home of the CUE language! Validate and define text-based and dynamic configuration <!-- Copyright 2018 The CUE Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> [![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. ", Assign "at most 3 tags" to the expected json: {"id":"5767","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"