Kimo
Docs
v1.0
Changeloggetkimo.design
Docs
v1.0
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
PropertyValues
root themes, imports, variables, assets, pages, conflicts, nodesstruct (or string / string[])
theme, whenstrings
overridesstruct (Override)
props directly under component (declared props)struct (PropDef)
text style featuresnumbers / booleans
node meta, args, script inputs, shader uniforms, enum optionsopaque
enum targetsopaque (unranked key: the subtree is ordered by code unit, so an EnumTarget serializes field, target, value)
root themes, imports, variables, assets, pages, conflicts, nodes
Values struct (or string / string[])
theme, when
Values strings
overrides
Values struct (Override)
props directly under component (declared props)
Values struct (PropDef)
text style features
Values numbers / booleans
node meta, args, script inputs, shader uniforms, enum options
Values opaque
enum targets
Values 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