xema-biome.json is the biome contract. This page covers only the extension-relevant parts — the complete field-by-field reference is Biomes → Manifest Reference, generated from the same schema.

Top-level shape

The manifest tolerates extra top-level fields (it doubles as an npm package.json-adjacent file) but validates these:

FieldTypeRequiredNotes
namestringyespattern /^@[^/]+\/[^/]+$/
versionstringyes—
xemaobject (discriminated on target) — see xema.target: "server", xema.target: "web"yes—

Everything under xema is discriminated on xema.target.

xema.contributions

FieldTypeRequiredNotes
inlinearray of objects — see xema.contributions.inline[]no—

xema.contributions.inline[]

FieldTypeRequiredNotes
kindstringyes—
idstringyespattern /^[a-z0-9][a-z0-9._-]*(?:\/[a-z0-9][a-z0-9._-]*)*$/
manifestunknown (free-form JSON)yes—

Field rosters by target

xema.target: "server"

  • Required (5): id, displayName, scope, target, components
  • Optional (23): description, display, capabilityDomain, dependencies, extends, trustTier, connectorRequirements, eventNamespaces, sharedEventTypes, provisioning, signature, bundleSource, signedBy, contributions, requiresCapabilities, requiresCapabilitiesForAgents, requiresCapabilitiesForService, exposesCapabilities, ownsCapabilityDomains, workflowConfig, audience, storeListed, kind

xema.target: "web"

  • Required (5): id, displayName, scope, target, components
  • Optional (17): description, display, systemSurface, optionalServerBiomes, signature, bundleSource, signedBy, contributions, requiresCapabilities, requiresCapabilitiesForAgents, requiresCapabilitiesForService, exposesCapabilities, ownsCapabilityDomains, workflowConfig, audience, storeListed, kind

Field types, constraints, and semantics for every name above are in Biomes → Manifest Reference.