A contribution is a typed envelope a biome ships:

json
1{
2  "kind": "capability",
3  "id": "my-contribution-slug",
4  "manifest": { }
5}
  • kind — one of the values in the catalog below. Closed set; the wire values are a contract and are never renamed.
  • id — kind-local slug, unique per (kind, biome). The platform namespaces it with the biome id at install time.
  • manifest — the kind-specific body, validated fail-fast against that kind's schema.

Two equivalent delivery forms, same envelope: one *.contribution.json file per entry in the biome's contributions/ directory, or an inline entry under xema.contributions.inline[]. The directory name is a FIXED CONVENTION — biome-sdk's index builder and every biome-host parser hardcode it. It is not configurable, and the xema.contributions.directory key that once set it was deleted in kernel-contracts 29: BiomeContributionsSchema is .strict() with only inline, so a manifest carrying it now fails to parse rather than being ignored.

Catalog

The Ingestion column is a fact, not a promise: it is derived from the parser registry biome-host actually runs. A kind with no ingestion path silently does nothing if you ship it as a contribution — use the delivery path named in its note instead.

kindEnum memberIngestionNote
workflow-stepContributionKind.WorkflowStepbiome-host parser (WorkflowStepParser)—
agent-skillContributionKind.AgentSkillbiome-host parser (AgentSkillParser)—
agent-kernelContributionKind.AgentKernelbiome-host parser (AgentKernelParser)—
model-laneContributionKind.ModelLanebiome-host parser (ModelLaneParser)One key in the OPEN MODEL-LANE vocabulary the Model Resolution Matrix routes on — redline, line-edit, calculate — declared by whoever does that kind of work.
model-purposeContributionKind.ModelPurposebiome-host parser (ModelPurposeParser)One key in the OPEN MODEL-PURPOSE vocabulary — a use the platform or a biome makes of a model on NOBODY'S behalf: summarising a memory, embedding a document, expanding a query, judging an evaluation.
widget-kindContributionKind.WidgetKindbiome-host parser (WidgetKindParser)—
surface-kindContributionKind.SurfaceKindbiome-host parser (SurfaceKindParser)A VISTA SURFACE KIND contributed by a biome: the render kind a Vista preview tab can hold, declared as a bare biome-local slug plus a version, display name, summary, and an opaque JSON payloadSchema.
artifact-typeContributionKind.ArtifactTypebiome-host parser (ArtifactTypeParser)An artifact type contributed by a biome to the artifact-store schema-version registry (ArtifactTypeRegistryService).
template-kindContributionKind.TemplateKindbiome-host parser (TemplateKindParser)An open Template-kind descriptor owned by template-registry-api.
design-system-kindContributionKind.DesignSystemKindbiome-host parser (DesignSystemKindParser)An open DesignSystem-kind descriptor owned by template-registry-api.
templateContributionKind.Templatebiome-host parser (TemplateParser)An authored Template contribution owned by template-registry-api.
design-systemContributionKind.DesignSystembiome-host parser (DesignSystemParser)An authored DesignSystem contribution owned by template-registry-api.
inquiry-kindContributionKind.InquiryKindbiome-host parser (InquiryKindParser)An inquiry kind contributed by a biome to the inquiry-contracts InquiryKindSchemaRegistry (kind-registry.ts).
role-capabilityContributionKind.RoleCapabilitybiome-host parser (RoleCapabilityParser)A role capability bundle contributed by a biome.
biome-install-schemaContributionKind.BiomeInstallSchemaRESERVED — no contribution ingestion (category 3)No parser, and none is wanted: the install-wizard resource-selection schema is an OPAQUE, browser-facing JSON Schema that biome-host-api serves on demand from the biome's convention install-schema/ directory (install.json plus an optional ui-schema.json) via GET /platform/biomes/server/:id/install-schema.
iconContributionKind.IconRESERVED — no contribution ingestion (category 3)No parser, and none is wanted: icons are BYTE ASSETS, not manifests — biome-host-api serves each one straight off disk from the biome's convention icons/ directory via the public CDN-asset route GET /platform/biomes/server/:id/icons/:slug.svg, discovered by on-disk presence and never indexed.
project-kitContributionKind.ProjectKitbiome-host parser (ProjectKitParser)A project-kit bundle contributed by a biome.
provisioning-scaffoldContributionKind.ProvisioningScaffoldRESERVED — no contribution ingestion (category 3)No parser: a provisioning scaffold is declared in the manifest's xema.provisioning[] and authored as provisioning/<id>.yaml plus an optional provisioning/<id>/ template tree, and agent-session-api's provisioning-plan-resolver PULLS it over HTTP per session bootstrap from biome-host-api's GET /platform/biomes/server/:id/provisioning-scaffolds.
connector-adapterContributionKind.ConnectorAdapterbiome-host parser (ConnectorAdapterParser)A concrete connector provider contributed by a biome inside an adapter kind.
inbound-endpointContributionKind.InboundEndpointbiome-host parser (InboundEndpointParser)An inbound HTTP endpoint a biome needs the platform to expose ON ITS BEHALF, so the biome's own service is never reachable from outside.
workflow-configContributionKind.WorkflowConfigbiome-host parser (WorkflowConfigParser)Workflow-config content shipped by a biome.
deliverable-specContributionKind.DeliverableSpecbiome-host parser (DeliverableSpecParser)A deliverable-spec contributed by a biome.
workspace-manifestContributionKind.WorkspaceManifestbiome-host parser (WorkspaceManifestParser)A workspace manifest contributed by a biome.
tool-profileContributionKind.ToolProfilebiome-host parser (ToolProfileParser)A tool-profile contributed by a biome.
mcp-catalogContributionKind.McpCatalogbiome-host parser (McpCatalogParser)An MCP catalog entry contributed by a biome — a catalog manifest naming a connectable MCP service and the tools it exposes.
capabilityContributionKind.Capabilitybiome-host parser (CapabilityParser)A CapabilityRef descriptor contributed by a biome — title, summary, I/O schemas, risk tier, and approval flag.
hook-pointContributionKind.HookPointbiome-host parser (HookPointParser)One hook point an operation owner declares: the parser reads xema.components[].hookPoints of the biome manifest (a HookPointDeclaration from @xemahq/contracts/hook), one item per declaration, and routes them to capability-registry-api, which owns hook points and their bindings.
resource-ownershipContributionKind.ResourceOwnershipRESERVED — no contribution ingestion (category 3)Its biome-host parser is gone: nothing ingests a contributed resource-ownership file any more, and none is wanted.
resource-kindContributionKind.ResourceKindRESERVED — no contribution ingestion (category 3)Deprecated: no parser is registered, and none will be — superseded by AuthorizationModule (see the @deprecated note below).
authorization-moduleContributionKind.AuthorizationModulebiome-host parser (AuthorizationModuleParser)A biome's AUTHORIZATION MODULE: a standard OpenFGA schema-1.2 module (module <biome-id>) plus its mandatory .fga.yaml tests, inside the Xema governance envelope (AuthorizationModuleContributionManifestSchema, exported from @xemahq/contracts/authorization-module).
resource-definitionContributionKind.ResourceDefinitionbiome-host parser (ResourceDefinitionParser)A provider-neutral resource definition contributed by a biome: namespaced key, exact unit, measurement/aggregation semantics, bounded dimensions, supported limit kinds, and usage-export capability.
stage-machineContributionKind.StageMachinebiome-host parser (StageMachineParser)A deterministic asset stage machine contributed by a domain biome to a stage-machine host (today: mailops-api).
search-typeContributionKind.SearchTypebiome-host parser (SearchTypeParser)A search RESULT-TYPE declaration contributed by a biome — the XemaObjectKind/docType it covers, render/route hints (label, icon, deep-link template), the searchable-field set + embedding-eligibility default, and the authz mapping (resourceType + default ResourceVisibilityPattern).
credential-strategyContributionKind.CredentialStrategybiome-host parser (CredentialStrategyParser)A DECLARATIVE credential-mint strategy contributed by a connector biome — the open credential-kind key it registers, the projection SCHEME (bearer / basic / header), and the field/template selectors that map a custody-resolved credential into an outbound token.
canonical-object-typeContributionKind.CanonicalObjectTypebiome-host parser (CanonicalObjectTypeParser)A CANONICAL BUSINESS-OBJECT TYPE in the shared enterprise Common Data Model — the system-agnostic counterpart to the closed platform XemaObjectKind.
resource-roleContributionKind.ResourceRolebiome-host parser (ResourceRoleParser)A ROLE in the resource-role-binding vocabulary — <resourceKind>.<role>, a human title, what choosing a resource for it DOES, and the space tiers a consumer resolves it at.
resource-role-default-bindingContributionKind.ResourceRoleDefaultBindingbiome-host parser (ResourceRoleDefaultBindingParser)A biome's SAFE ZERO-CONFIG DEFAULT for a role it declares — "absent any answer from the organisation, THIS resource plays the role" — routed to space-registry-api beside the declaration above.
setting-definitionContributionKind.SettingDefinitionbiome-host parser (SettingDefinitionParser)A SCOPED-SETTING DEFINITION a biome declares: a typed value (boolean, integer, duration or enum), its required default, the Space tiers (Org, Project) it may be stated at, and how it inherits (nearest, or tighten over a declared order).
ingestion-sourceContributionKind.IngestionSourcebiome-host parser (IngestionSourceParser)A PULL-BASED EXTERNAL DATA SOURCE a biome declares so the platform can materialize an external dataset into a local catalog on a cadence, with change-detection and provenance.
notification-descriptorContributionKind.NotificationDescriptorbiome-host parser (NotificationDescriptorParser)A biome declares WHICH of its events reach a human, and what they say when they do — audience, category, severity, title/body templates, deep-link action, channel eligibility, and which later events close the row.
contribution-kindContributionKind.ContributionKindDescriptorbiome-host parser (ContributionKindParser)The DOOR. A biome DECLARES a contribution kind the kernel has never heard of — its local key, a versioned JSON Schema every contribution of that kind must satisfy, and the capability refs that ingest and optionally further-validate one.

Kinds with no biome-host parser

Do not ship a contribution of these kinds expecting it to be picked up by biome-host-api:

  • biome-install-schema — RESERVED — no contribution ingestion (category 3)
  • icon — RESERVED — no contribution ingestion (category 3)
  • provisioning-scaffold — RESERVED — no contribution ingestion (category 3)
  • resource-ownership — RESERVED — no contribution ingestion (category 3)
  • resource-kind — RESERVED — no contribution ingestion (category 3)

Adding a kind

Adding a ContributionKind touches exactly two files in the kernel: the enum, and the kind-specific manifest schema in the same package. The per-kind ingestion parser lives in the consuming service (biome-host-api), not the kernel. Needing a third kernel file is a layering smell.

A new member MUST arrive with a parser, or with an honest category annotation in its doc comment. This page is generated from those annotations and the parser registry — a parser-less member with no annotation fails the generator.