"config.kid"

Config files

Each .keen file's configuration is in the config.kid file closest to it.
To find the config file, Keen first looks for ./config.kid (relative to the .keen file), then ../config.kid, then ../../config.kid, etc.
If none is found, the file has a default empty config.

Multiple config.kid files can be used in a single project. Each config only effects its own directory and subdirectories.

Configuring imports

The include section of config.kid sets paths used by non-relative imports.

+baz string() "baz"include: bar: "../bar"import bar/baz main void() log baz

Above, foo/app/main.keen imports from bar/baz.
Since there is no foo/app/config.kid, its config file is the next closest one foo/config.kid.
The config specifies bar: "../bar". That is relative to the config, so the library path is foo/../bar, resolving to bar.

The full import path concatenates the library path, the rest of the import path (/baz), and .keen, so the full import path is bar/baz.keen .