Leave both keys out if you do not need them; existing projects stay
unchanged.
imports: loads shared declaration files the same way
import "…" does. They may contain pure fn, types, library,
event / error, extern entity, and further imports — not
entity, test, fuzz, or invariant. Put those under sources:.
Each path is tried next to the YAML, then in each library_paths
directory, in order. The first file that exists wins.
If nothing matches, the error lists every directory that was tried.
An unset ${VAR} stays as the text ${VAR} (it does not become the
project directory).
A path listed in both sources: and imports: is treated as a
project source.
import "./math.cam" / import "../lib/math.cam" stay relative to
the importing file and do not search library_paths. A path without
./ or ../ (import "token/erc20-core.cam") tries the importer’s
directory first, then library_paths.