ucli
Tool Manager
The universal command-line interface for managing and installing all your development tools
Install ucli
curl -fsSL https://install.ucli.tools/install.sh | bash
ucli <command> [tool ...]
Why UCLI?
One tool to rule them all - manage your entire CLI toolkit
- One-Command Builds
ucli build <tool> clones the tool's repository at the commit the registry pins and runs its make build. ucli installs itself to ~/.local/bin without sudo; a tool installs where its own Makefile says.
- Prerequisites
ucli prereq installs git, make and the other basics with apt, dnf, pacman or brew. Where a registry entry has a requires: list, ucli checks that each of those programs is installed.
- Versions by Pin
Each tool is built at a commit pinned in the registry. ucli versions shows them. ucli update, run by hand, updates the tools you have installed; nothing updates by itself.
- Removable
ucli remove <tool> runs the tool's own delete target. ucli uninstall removes ucli and its state and leaves the tools you installed.
- Linux and macOS
ucli is a bash script and is not supported natively on Windows. On Windows, run it inside WSL.
- Tested End to End
A nightly test builds mdtexpdf and docx2md through ucli, and a weekly one builds mdaudiobook.
- Open Source
ucli and every tool in the registry are open source, each in its own repository.
Options
| Command | What it does |
|---|---|
ucli build <tool> ... | Build and install one or more tools from the registry |
ucli build-all | Build every tool listed by ucli list |
ucli list | List the official tools from the registry |
ucli versions [tool] | Show version information (--all for every tool) |
ucli update | Update all installed tools |
ucli remove <tool> | Uninstall a tool with its make delete target |
ucli prereq | Install prerequisites (apt, dnf, pacman, brew) |
ucli install | Install ucli to ~/.local/bin, no sudo |
ucli uninstall | Remove ucli and its state; installed tools stay |
ucli --version, ucli --help | Print the version, or the command list |