Schema and entities
Entity types, field roles, shapes, and the schema-first workflow.
Work schema-first: decide the types and fields, push the schema document, then add content. The schema is a document you pull, edit, and push back with a change key — pushes converge, so re-pushing an identical schema is a no-op.
Field roles
Roles tell the renderer what a field means, independent of its name:
title— the entity's display name, everywhere.summary— the one-paragraph lede under the page title and on cards.subtitle— a secondary line (an editor's note under a link).body— long-form markdown; renders with reading typography.image— the lead image (cards and the entity page hero).external_url— the click-through target; gives cards a domain chip and pages a visit link.date— the meta-line date on feeds and cards.search_text— indexed for search but never displayed or served: the home for extracted third-party text. Findable, not republished.
Search declarations
Per field, opt into search: { enabled, filter, facet, sortable, weight }. Facet + sortable fields automatically produce the catalog experience on list routes: filter panels, sort bars, counts. Number fields carry display config (unit, unitPosition, precision) used everywhere they render.
Relationships
Typed, directional, optionally ordered (ordered: true makes the relationship's order editorial — a board's pin order, an issue's story order). Relationship types are schema like everything else.
Shapes
Shapes are predefined starting points — link is the most used: apply it and you get a link-entity type wired for ingestion. Shapes are catalog data plus a conformance check, not a runtime concept; extend the fields freely after applying.