This project is published on PyPI as
uvs-cli, because the PyPI project uvs
is an unrelated tool. The installed command is uvs.
- Replace tracebacks with actionable errors for directory arguments, a missing
uvexecutable, and unsupported registry versions. - Guard destructive actions:
uninstall --allnow rejects a tool name,installrefuses to replace an existing tool without--force, and forced reinstalls preserve the recorded version unless--versionis explicit. - Record editable mode, package directory, requested Python, dependencies, and
requires-pythonin the registry souvs updatepreserves them instead of silently converting editable installs to snapshots. - Accept a tracked tool name (or a source path) in
uvs update, add--dry-run, and report up-to-date/missing-source counts accurately. - Keep
list/show/JSON output under--quiet, honorNO_COLORandTERM=dumb(including bold text), demote internaluvinvocations to--verbose, and use compact UTC timestamps in tables. - Explain command-name normalization (for example
my_tooltomy-tool) instead of changing it silently. - Add
uvs list --check, aStatusrow inuvs show,uvs doctor,uvs prune, anduvs backup list|restorewith backup retention. uvs show --format jsonnow emits the single tool object directly instead of reusing the list wrapper ({"tools": ..., "count": ...}).- Show the canonical source path and a PATH warning in the install success
panel; clear reused
--tempdirpackages before regenerating them. - Add
-Vas a short form of--versionand allow the global output flags after subcommands.
- Update the README so the PyPI landing page installs with
uv tool install uvs-cli. Documentation-only patch; no functional changes.
- Install supported single-file PEP 723 scripts as persistent uv tools.
- Track canonical source paths and update changed snapshots with patch versions.
- List, inspect, and uninstall tools through a deterministic subcommand CLI.
- Recover valid data from old or damaged registries with atomic, serialized writes.
- Support Python 3.10+ with real lifecycle CI on Windows and Linux.
- Reframe the public documentation around testing whether the project is useful.
- Add lightweight paths for bug reports, usefulness feedback, contributions, and private security reports.
- Reject ambiguous batch naming and clean up an installed tool when registry persistence fails.
- Add
uvs --version. - Name the distribution
uvs-clito avoid the unrelated PyPI projectuvs; the import package and the installed command remainuvs. - Publish
uvs-cli0.1.0 to PyPI (the first PyPI release).