Skip to content

feat: install with uv tool install; refuse to wire hooks from uvx - #30

Merged
lucazagaia merged 1 commit into
mainfrom
feat/uv-install
Sep 29, 2026
Merged

lucazagaia merged 1 commit into
mainfrom
feat/uv-install

Conversation

@lucazagaia

Copy link
Copy Markdown
Collaborator

Why

uv tool install skill-plus-plus already works, but only pipx was documented. And uvx skill-plus-plus install, a common uv habit, wires hooks that break silently later.

What

  • README and usage page: uv tool install skill-plus-plus next to pipx, the git URL for the latest main, and uv tool upgrade / uv tool uninstall.
  • install refuses to wire hooks from uvx. uvx runs from uv's cache (~/.cache/uv/archive-v0/<hash>/), which uv cache clean and prune delete, and the hooks would then stop running with nothing said. --apply exits 1 with a pointer to uv tool install, and the dry run says it would refuse instead of offering the hooks block to copy.
  • CHANGELOG entry under Unreleased.

Tested

  • Unit test for the cache check, next to the existing hook_command test; 612 tests pass.
  • End to end in an isolated uv folder:
    • uvx … install --apply exits 1 and writes nothing.
    • uv tool install then install --apply writes <uv bin>/skill-plus-plus hook.
    • A real hook event runs through the uv-installed copy.

`uv tool install skill-plus-plus` already works like pipx: the console
script lands in uv's bin folder and `install` writes that lasting path
into the hooks. The README and the usage page now say so, with upgrade
and uninstall.

`uvx skill-plus-plus install` would write hooks into uv's cache
(~/.cache/uv/archive-v0/<hash>/), which `uv cache clean` and `prune`
delete, so the hooks would stop running with nothing said. `install
--apply` now refuses that, and the dry run says it would.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lucazagaia
lucazagaia merged commit d9b7982 into main Sep 29, 2026
11 checks passed
@lucazagaia
lucazagaia deleted the feat/uv-install branch September 30, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants