Tool registry: maps tool names to their binaries, descriptions, and install hints per package manager.
(require-tool :ripgrep) => (ok {:path "/usr/bin/rg"}) or (err :tool/missing {:hints [...]})
Tool registry: maps tool names to their binaries, descriptions,
and install hints per package manager.
(require-tool :ripgrep) => (ok {:path "/usr/bin/rg"})
or (err :tool/missing {:hints [...]})(list-tools)List all registered tools with their availability status.
List all registered tools with their availability status.
(register-tool! tool-key {:keys [bin desc install] :as spec})Dynamically register a new tool. Returns the updated registry entry.
Dynamically register a new tool. Returns the updated registry entry.
(require-tool tool-key)(require-tool tool-key pkg-managers)Check if a tool is available. Returns (ok {:path ... :bin ...}) or (err :tool/missing {:tool ... :hints ...}).
:bin is the upstream name; a tool may also be installed under one of its
:bin-alts, and the :bin in a successful Result is the name that actually
answered — spawn THAT, not :bin from the registry.
Available package managers are detected once and cached.
Check if a tool is available. Returns (ok {:path ... :bin ...})
or (err :tool/missing {:tool ... :hints ...}).
`:bin` is the upstream name; a tool may also be installed under one of its
`:bin-alts`, and the `:bin` in a successful Result is the name that actually
answered — spawn THAT, not `:bin` from the registry.
Available package managers are detected once and cached.(require-tools tool-keys)Check multiple tools at once. Returns a map of {:available {...} :missing {...}}.
Check multiple tools at once. Returns a map of {:available {...} :missing {...}}.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |