In-project CLI tooling, with a Rust front-end.
Pronounced /ˈtuːlər/ (tool-er)
ToolR is a Python task runner that boots in milliseconds because the front-end is a Rust binary.
Python only runs when you invoke a command, inside a per-repo uv-managed venv.
| Tool runner | -h steady-state |
First run | Second run |
|---|---|---|---|
| toolr | 10.4 ms | 277.0 ms | 21.8 ms |
| doit | 83.4 ms | 143.0 ms | 88.9 ms |
| invoke | 84.6 ms | 101.7 ms | 77.4 ms |
| nox | 91.8 ms | 395.9 ms | 115.3 ms |
| duty | 166.4 ms | 188.5 ms | 252.4 ms |
| python-tools-scripts | 252.2 ms | 340.3 ms | 189.0 ms |
Start here¶
- Just want to run commands in a repo that already has
tools/? See Installation. - Adding
tools/support to your own repo? Head to the Quickstart. - Curious about how it works? Read How toolr is laid out.
- Using an LLM coding assistant? Install the agent skills.
Need help?¶
File an issue on GitHub.