Skip to content

Configuration fields

The configuration schema is strict at the document root. Every project document must include the exact schema URI:

{
"$schema": "https://atlante.sh/schema/v0.1/schema.json"
}
FieldTypeDescription
$schemastringRequired v0.1 schema URI
extendsstring or non-empty string arrayPreset locator or ordered preset layers
valuesobjectNamed string values; source overlays may use null to remove inherited values
agentsobjectMap from non-empty host-agent IDs to bindings or null tombstones
skillsobjectMap from non-empty skill IDs to bindings or null tombstones

Unknown top-level fields are rejected. agents and skills default to empty maps in the canonical document.

A binding can be a resource locator string or an object. Object bindings may contain the following reserved metadata:

FieldTypeDescription
$templatestringSelects a template resource
$instancestringSelects an instance resource
descriptionnon-empty stringHost lookup metadata, interpolated before validation
valuesobjectBinding-local string value overrides
other fieldstemplate-definedInput validated by the selected template

$template and $instance cannot occur together. The legacy template field is reserved and invalid. A bare locator is shorthand for $instance.

Agent map keys remain host-agent IDs. Skill map keys are the skillId values used by the OpenCode adapter’s atlante_skill lookup. Both binding types require a non-empty description after interpolation.

The document schema leaves template-owned fields open. Resource resolution and template validation determine whether those fields are valid for the selected resource.

After resolution, the canonical document contains the schema URI, resolved values, agent bindings, and skill bindings. It has no extends, $template, $instance, or unresolved null removals.

See the versioned JSON Schema and resolution and composition for the validation stages around this contract.