Enterprise format · on request (Growth plan)

CUE

Schema definition with validation.

5 / 5GEO score
CUE · Geordyschema.cue
Why it matters

CUE unifies schema definition, validation and configuration into one language with a sound type system based on the lattice of types and values, so the shape of your data and the data itself live in the same file. For a team publishing machine-readable files at scale, that is the difference between finding out a field changed shape in CI and finding out from a crawler that stopped citing you.

Geordy generates this format for every page on your site that warrants it - auto-detected by page type, served from your subdomain, and refreshed on the cadence below.

Sample outputschema.cue
# CUE configuration for Geordy AI Platform
package main

site: {
  name: string
  domain: string
  category: *"GEO / LLMO" | *"AI / ML"
}

site: name: "Geordy AI"
site: domain: "geordy.ai"
Get it right

How to make this format work for AI.

DoBest practices
  • Define schemas as definitions (#Schema) and unify concrete data with them; never duplicate field names across schema and instance.
  • Keep packages small and use `cue export` / `cue eval` to emit JSON or YAML rather than hand-writing those files; let CUE be the source of truth.
  • Use disjunctions (`|`) with defaults (`*`) for optional configuration knobs and constrain numeric/string values with bounds (`>=0`, `=~"^[a-z]+$"`).
  • Run `cue vet` against your data files in CI to catch schema drift early; pin the cue tool version in your repo.
AvoidCommon pitfalls
  • Treating CUE like YAML: order of fields does not matter and duplicate fields are unified (and may conflict), which surprises users coming from override-style config.
  • Forgetting that definitions starting with `#` are closed by default - adding fields not in the schema produces a `field not allowed` error.
  • Confusing concrete values with constraints: `int` is a type (incomplete), `42` is concrete; `cue export` fails on incomplete values without `-e` or defaults.
Where it shines

Use cases, scored for AI visibility.

Configuration managementGEO 5/5
Data validationGEO 5/5
API definitionGEO 4/5
Used in production by

Real sites already shipping CUE.

Working with it

Tools & resources for CUE.

The trade-offs
Strengths
  • Unified language for config + validation + templating
  • Strong type safety
  • Composability
Limitations
  • Steeper learning curve than JSON/YAML
  • Smaller ecosystem
Spec sheet
Filename
schema.cue
Refresh cadence
weekly
Released
2018 · CUE Project Contributors
Written forcue vet, in your CICUE-based tooling: Dagger, Timoni, Holos

Nothing on the AI side reads .cue. CUE is the checker rather than the thing being read: point cue vet at your generated JSON and YAML in CI, and a field that changed shape fails your build instead of reaching a crawler. That is the enterprise argument for it, and it is a real one, but it is about your pipeline rather than an engine's.

Written for these readers. Which of them actually request it is measured, not assumed: see how we measure.

Documented support
  • CUE: introductionAn open-source tool for validating data, rooted in logic programming, combining a language with an inference engine.
Observed requests

Not measured yet. Geordy will publish which crawlers request this file once enough independent sites are covered. See how we measure.

Other enterprise formats

Generate every format at once.

Geordy emits 8 formats on every plan and 16 on Growth, auto-selected per page type and live on Geordy the moment they are written.

CUE (.cue) format - spec, examples and AI readers | Geordy