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