By default, each CUE file is a standalone file.
A configuration can be split across multiple files by adding a package
clause
to each file.
The configuration for each package is defined by the concatenation of all its files, after stripping their package clauses and merging their import statements. Multiple definitions of the same field across files and within the same file are treated similarly, because order does not matter.
policy.cue
package config
foo: bar/2 - 1
bar!: int
data.cue
package config
bar: 200
TERMINAL
$ cue export # No filenames mentioned
{
"foo": 99,
"bar": 200
}
The cue
tool processes lists of CUE files and package paths.
Because working with a single package split across multiple files in the
current directory is such a common situation,
cue
processes that single package if it isn’t told to look at anything else.