Skip to content

manifest.yaml Reference

manifest.yaml describes a single capability to the Selu orchestrator. It lives in the root of a capability directory alongside the Dockerfile and optional prompt.md.

name: weather-lookup
class: tool
display_name: Weather Lookup
description: Fetches current weather and forecasts for a given location.
version: 1.0.0
name: weather-lookup
class: tool
display_name: Weather Lookup
description: Fetches current weather and forecasts for a given location.
version: 1.0.0
tools:
- name: weather_lookup
description: Get current weather conditions for a location.
parameters:
- name: location
type: string
required: true
description: City name or "lat,lon" coordinates.
- name: units
type: string
required: false
default: metric
description: "Unit system: metric or imperial."
resources:
memory: 128Mi
cpu: 0.25
timeout: 10s
env:
- name: WEATHER_API_KEY
required: true
description: API key for the weather data provider.
health:
endpoint: /healthz
interval: 30s
FieldTypeRequiredDescription
namestringYesUnique identifier (lowercase, hyphens).
classstringYestool or environment.
display_namestringYesHuman-readable name.
descriptionstringYesOne-line summary (max 160 chars).
versionstringYesSemantic version.
toolslistYesTool definitions exposed to the LLM.
resourcesobjectNoContainer resource limits.
envlistNoEnvironment variable declarations.
healthobjectNoHealth check configuration.

Each entry in tools describes one callable function that the LLM can invoke.

FieldTypeRequiredDescription
namestringYesTool name used in gRPC InvokeRequest.tool_name.
descriptionstringYesSent to the LLM to explain what the tool does.
parameterslistNoInput parameter definitions.
FieldTypeRequiredDescription
namestringYesParameter name.
typestringYesstring, number, boolean, object, array.
requiredboolNoDefault false.
defaultanyNoDefault value when not provided.
descriptionstringYesExplains the parameter to the LLM.
FieldTypeDefaultDescription
memorystring256MiMemory limit (e.g. 128Mi, 1Gi).
cpustring0.5CPU limit in cores.
timeoutstring30sMax execution time per invocation.
FieldTypeRequiredDescription
namestringYesVariable name.
requiredboolNoIf true, the orchestrator will refuse to start without it.
descriptionstringNoDisplayed in the UI when prompting the user for credentials.