When I add a tool like ruff to my project
with uv:
❯ uv add --dev ruffThen I can run that tool within that project using uv:
❯ uv run ruff formatHowever if I want to be able to run that tool via its binary directly, especially outside the context of that project, then I need to instead install it globally.
This can be done with uv using the tool install subcommand:
❯ uv tool install ruff
Resolved 1 package in 192ms
Installed 1 package in 4ms
+ ruff==0.15.20
Installed 1 executable: ruffNow I can run ruff directly from anywhere:
❯ ruff config line-length
The line length to use when enforcing long-lines violations (like `E501`)
and at which `isort` and the formatter prefers to wrap lines.
...The ruff binary gets symlinked into my .local/bin/ directory which is coming
from the uv tool directory.
❯ which ruff
/Users/lastword/.local/bin/ruff
❯ readlink -n /Users/lastword/.local/bin/ruff
/Users/lastword/.local/share/uv/tools/ruff/bin/ruffSee uv tool install --help for more details.