Skip to content

Files and Directories#

File extension#

Code in the Kform language is stored in plain yaml files using .yaml or .yml.

Directories and modules/packages#

A KForm module or package is a collection of .yaml or .yml files in a given directory. Nested directories are treated as independent Kform modules/packages.

KForm evaluates all of the configuration yaml files in a directory together, effectively treating the entire KForm module/package as a single document. Separating various blocks into different files is purely for the convenience of readers and maintainers, and has no effect on the KForm module/package behavior.

A KForm module/package can use module/package blockTypes to explicitly include other KForm modules/packages into the configuration. These child KForm modules/packages can come from local directories (nested in the parent module's directory, or anywhere else on disk), or from external sources like a Registry.

Root KForm module/package#

KForm always runs in the context of a single root module/package. A complete KForm configuration consists of a root module/package and the tree of child modules/packages (which includes the modules/packages called by the root module/package, any modules/packages called by those modules/packages, etc.). Sometimes child modules/packages are also called mixins.

In Kform CLI, the root module/package is the working directory where Kform is invoked/pointed at.