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:
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | yes | pattern /^@[^/]+\/[^/]+$/ |
version | string | yes | — |
xema | object (discriminated on target) — see xema.target: "server", xema.target: "web" | yes | — |
Everything under xema is discriminated on xema.target.
xema.contributions
| Field | Type | Required | Notes |
|---|---|---|---|
inline | array of objects — see xema.contributions.inline[] | no | — |
xema.contributions.inline[]
| Field | Type | Required | Notes |
|---|---|---|---|
kind | string | yes | — |
id | string | yes | pattern /^[a-z0-9][a-z0-9._-]*(?:\/[a-z0-9][a-z0-9._-]*)*$/ |
manifest | unknown (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.
Related concepts
- manifest — the concept
- biome — the unit the manifest describes
- contribution-kind — the closed catalog of contribution kinds
- lockfile — how contributions are pinned at install