CUE
Schema definition with validation.
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.
# 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"How to make this format work for AI.
- 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.
- 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.
Use cases, scored for AI visibility.
Real sites already shipping CUE.
Tools & resources for CUE.
- Unified language for config + validation + templating
- Strong type safety
- Composability
- Steeper learning curve than JSON/YAML
- Smaller ecosystem
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.