OpenEik.org
Schemas · OpenEik 0.3

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 196Version 0.3.0From openeik/spec at 197c2676, 31 October 2026Licence CC0-1.0

Tagged v0.3.0 on 31 October 2026, privately until the public launch. OpenEik 0.2 is kept at the tag v0.2.0 and its patch versions to v0.2.3, and 0.1 at v0.1.0 and v0.1.1; a reader of 0.3 reads both (Part I, 9.6, rule 3). 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.3.zip, 225 kB. The schemas are dedicated to the public domain: copy them into any implementation, open or closed. For a model of an earlier version, its own schemas: 0.1, 0.2.

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 36 categories of 0.3: a record of any of them is in the folder of the discipline that owns it, one of eight (Part III, 4.4). 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

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 · Drawings

Sheets and issued drawings

Sheets as records, the project's drawing profile, and what an issued drawing keeps beside its SVG: its revision record, the records it read, its register, and the issues, reviews and sign-offs that name it.

In the specification: Part XIV, 2; Part XIV, 7

06 · Fabrication

Pieces and joints

The records of the fabrication profile.

In the specification: Part III, 3

07 · 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

08 · Derived layer

What a producer derived, apart from the records

The optional derived layer, .eik/derived/: what a producer derived for one element or one type, kept apart from the records.

In the specification: Part IV, 1.1.2

09 · Single file

A whole model as one file

The same model as one JSON object, for exchange.

In the specification: Part III, 11

10 · 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

11 · Envelope

A batch of commands in its envelope

What a writer sends a command processor around a batch of commands (an operation id, who sends it, the target and its base, the mode and the intent), and what the processor answers.

In the specification: Part XVII, 2; Part XVII, 11

12 · Assets

Binary files, by the SHA-256 of their bytes

In a folder an asset is the file itself, at assets/<sha256>.<ext>; in a version, a pointer that names the bytes by their digest and length, the bytes beside the version.

In the specification: Part XV, 2; Part XV, 3

13 · Ownership

The parties, and the paths each owns

project/owners.json names a project's parties and the paths each owns, by globs, the last matching rule deciding; an element, a type or a view may name its owner by hand.

In the specification: Part XVI, 2; Part III, 4.4

14 · Review and issue

Reviews of the model, and what is signed

A review round on a version of the model in 3D, and the predicates of the statements that sign an issue, a host's receipt of it and terms accepted, with the keys a host publishes.

In the specification: Part XVIII, 2; Part XVIII, 4; Part XVIII, 5

15 · Members

One member, in a schema of its own

Schemas of single members, which the schemas above refer to.

16 · 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

17 · Other

Other schemas

Schemas this page has no group for yet.