Source list for the agents shown on registry.inference-gateway.com.
This repo doesn't store agent definitions itself — each agent's
ADL agent.yaml lives in its own GitHub repo and is
the source of truth. This repo just lists which agents to include in the catalog. A scheduled
build job pulls each agent.yaml, validates it against the ADL JSON Schema, and bundles
everything into a single catalog.json served via jsdelivr.
agents.yaml # the only file you edit — list of GitHub repos to include
scripts/build-catalog.mjs # fetches + validates + bundles into catalog.json
catalog.json # generated, committed; consumed by the registry SPA
.github/workflows/build-catalog.yml
-
Make sure the agent's repo has an ADL
agent.yamlat its root (seeinference-gateway/adlfor the schema). -
Open a PR appending one entry to
agents.yaml:- url: https://github.com/some-org/cool-agent ref: main # branch, tag, or SHA. Pin to a release tag if you can.
-
On merge, CI rebuilds
catalog.json. The live registry picks it up within the jsdelivr@maincache window (up to ~12h).
Third-party agents are welcome — the url does not have to live under inference-gateway.
https://cdn.jsdelivr.net/gh/inference-gateway/agents@main/catalog.json
Shape:
{
"version": 1,
"updated": "2026-05-25T00:00:00Z",
"agents": [
{
"apiVersion": "adl.inference-gateway.com/v1",
"kind": "Agent",
"metadata": { "name": "...", "description": "...", "version": "..." },
"spec": { "...": "..." },
"_source": {
"url": "https://github.com/...",
"ref": "main",
"fetchedAt": "..."
}
}
]
}Each agent doc is a pure ADL manifest plus a non-schema _source block recording where the
aggregator pulled it from.
npm install
npm run build # writes catalog.jsonThe build script:
- Reads
agents.yaml. - Fetches
agent.yamlfromraw.githubusercontent.com/<owner>/<repo>/<ref>/agent.yamlfor each entry. - Validates against the ADL JSON Schema (
adl/schema/v1/schema.json) via Ajv. - Rejects duplicate
metadata.namecollisions. - Sorts by
metadata.nameand writescatalog.json.
Override the ADL schema location with ADL_SCHEMA_URL=... if needed (for testing against a fork).
The workflow runs on push to agents.yaml / scripts / workflow, plus a daily cron
(0 4 * * * UTC) so upstream agent.yaml version bumps roll into the catalog without manual
intervention.