File format spec
App. B
Record-valued properties
Status
Stable (format version
1.0.0, frozen 2026-10). Backward compatible within 1.x (§16.4). Supersedes the draft v0.1, kept as a historical record; 0.1 files open through the 0.1 → 1.0 migration (§16.2).Schema
https://getkimo.design/schema/kimo-1.0.json (JSON Schema draft 2020-12), generated into packages/core-schema/schema/kimo-1.0.schema.json . The 0.1 schema stays published at …/kimo-0.1.json (schema/kimo-0.1.schema.json, frozen).Reference
@kimo/core-schema (packages/core-schema). Where this document and the implementation disagree, that is a bug in one of them; file an issue.Plan of record
docs/teardown.md §10. Every place where this spec resolves an ambiguity in, or deviates from, that section is listed in §20.License
MIT
| Property | Values |
|---|---|
root themes, imports, variables, assets, pages, conflicts, nodes | struct (or string / string[]) |
theme, when | strings |
overrides | struct (Override) |
props directly under component (declared props) | struct (PropDef) |
text style features | numbers / booleans |
node meta, args, script inputs, shader uniforms, enum options | opaque |
enum targets | opaque (unranked key: the subtree is ordered by code unit, so an EnumTarget serializes field, target, value) |
root
themes, imports, variables, assets, pages, conflicts, nodesValues struct (or string / string[])
theme, whenValues strings
overridesValues struct (Override)
props directly under component (declared props)Values struct (PropDef)
text style
featuresValues numbers / booleans
node
meta, args, script inputs, shader uniforms, enum optionsValues opaque
enum
targetsValues opaque (unranked key: the subtree is ordered by code unit, so an EnumTarget serializes
field, target, value)An instance's props and a set override are structs (their keys are node property names).
Keywords:
MUST
MUST NOT
SHOULD
MAY
set in small mono caps wherever they are normative