OpenEik.org
Schemas · OpenEik 0.1

One schema for every kind of file, at its own address.

JSON Schema 2020-12 for every kind of file in an OpenEik folder, for the single-file form and for the core commands. Each schema is served at its $id, so tools can point at it.

Schemas 211Version 0.1.0-draftFrom openeik/spec at c6463c72, 30 October 2026Licence CC0-1.0

Working draft. Not stable: any part may change before 0.1.0. index.json maps each kind of file to its schema; source.json names the commit these files come from. All of them in one download: openeik-schemas-0.1.zip, 239 kB. The schemas are dedicated to the public domain: copy them into any implementation, open or closed.

01 · Fixed paths

The format and the project files

The files at fixed paths in every folder. AGENTS.md is text, not a record, and has no schema.

In the specification: Part III, 3

02 · Record lists

One file per record, a folder per list

The record lists other than types, elements, views and fabrication: each record is one file in its list's folder.

In the specification: Part III, 3

03 · Types and elements

A type and an element schema for each category

Each is the common schema plus the rules of its category. The 31 categories of 0.1 are listed under their discipline folder; a few records go in another folder (Part III, 4.1). A type or an element of a category that a later version adds validates against the common schema.

In the specification: Part III, 3; Part II, 6.2

architecture/19 categories

structure/6 categories

systems/3 categories

site/3 categories

04 · Views

Views and their detail items

A folder keeps a view in view.json, with its detail items in chunk files beside it. The single-file form holds a view with its detail items inline.

In the specification: Part III, 10

05 · Fabrication

Pieces and joints

The records of the fabrication profile.

In the specification: Part III, 3

06 · Applications

Results and proposals beside the building

Files an application keeps in a folder of its own, beside the records. A tool finds them by their format member, not by their path.

In the specification: Part VI, 8

07 · Single file

A whole model as one file

The same model as one JSON object, for exchange.

In the specification: Part III, 11

08 · Commands

The core commands, one schema per kind

One schema for any core command, which checks a command against the schema of its kind, and one for each kind. The records a command carries are checked against the record schemas above. A member the kind does not define is refused, not dropped (Part V, 1.4).

In the specification: Part V, 2.1

09 · Registry

The extension registry, prefixes apps register

The file that lists the prefixes applications register for the members and files they add to a model, and the names OpenEik reserves. The registry itself: extensions.json, and how to register a prefix.

In the specification: Part I, 11

10 · Other

Other schemas

Schemas this page has no group for yet.