ifURI docs

Commands

v2 CLI

urirun defaults to the v2 schema-first runtime.

urirun scan PATH --out generated/bindings.v2.json --registry-out generated/registry.json
urirun validate generated/bindings.v2.json
urirun compile generated/bindings.v2.json --out generated/registry.json
urirun list generated/registry.json
urirun run URI --registry generated/registry.json --payload '{"name":"Ada"}'

Generate bindings in one line

Expose a package command:

urirun add-pypi sampleproject --out urirun.bindings.v2.json

Expose a command template:

urirun add-command 'util://local/echo/message' \
  --argv 'python3 -c "import sys; print(sys.argv[1])" {text}' \
  --param text:string:required \
  --out urirun.bindings.v2.json

Install connectors from the hub

Install a verified connector package:

curl -fsSL 'https://connect.ifuri.com/install?connectors=http-check' | bash

Inspect the connector directly:

urirun-http-check manifest
urirun-http-check bindings
urirun-http-check status https://ifuri.com --expect-status 200

Compile and run its URI:

python - <<'PY' > bindings.json
import json
from urirun_connector_http_check import urirun_bindings
print(json.dumps(urirun_bindings(), indent=2))
PY

urirun compile bindings.json --out registry.json
urirun run 'httpcheck://host/http/query/status' registry.json \
  --payload '{"url":"https://ifuri.com","expectStatus":200}' \
  --execute \
  --allow 'httpcheck://host/*'

Versioned commands

urirun-v1 compile v1/examples/json/bindings.v1.example.json --out /tmp/registry.json
urirun-v1 run 'media://local/video/transcode' /tmp/registry.json --payload '{"input":"a.mp4","output":"b.mp4"}'
urirun-v2 --help

Use these versioned commands when a script must stay pinned to a major registry contract.

Module commands

The module namespace is urirun, so these are also valid:

python -m urirun.v2 --help
python -m urirun.v2_mcp tools generated/registry.json
python -m urirun.v2_mcp card generated/registry.json