Install with one line
Run the installer published with the ifURI site:
curl -fsSL https://ifuri.com/urirun/install.sh | sh
It creates a Python virtual environment in ~/.urirun, installs urirun from GitHub, and writes a small executable wrapper to ~/.local/bin/urirun.
Run
urirun --help
If your shell cannot find urirun, add the local bin directory to PATH:
export PATH="$HOME/.local/bin:$PATH"
Install a specific branch
curl -fsSL https://ifuri.com/urirun/install.sh | URIRUN_REF=main sh
Manual install
python3 -m venv ~/.urirun/venv
~/.urirun/venv/bin/python -m pip install \
"git+https://github.com/tellmesh/urirun.git@main#subdirectory=adapters/python"
mkdir -p ~/.local/bin
ln -sf ~/.urirun/venv/bin/urirun ~/.local/bin/urirun
First command
urirun scan ./project \
--out generated/bindings.v2.json \
--registry-out generated/registry.json
urirun list generated/registry.json
Minimal laptop or LAN node deployment
Create a working directory and keep generated registry files outside the application source:
mkdir -p ~/.urirun/work
cd ~/.urirun/work
urirun scan /path/to/project \
--out .urirun/bindings.v2.json \
--registry-out .urirun/registry.json
urirun validate .urirun/bindings.v2.json
urirun list .urirun/registry.json
Enable real command execution only after adding a policy. For the first test, keep the default dry-run:
urirun run 'cli://local/git/status' \
--registry .urirun/registry.json
Post-install checklist
urirun --helpworks in a new shell.~/.local/binis present inPATH.- Generated registries are written to
.urirun/orgenerated/. - Frontend, backend and shell calls use the same URI routes.
- Shell and Docker routes have an explicit execution policy and stay dry-run by default.