Problem
Inside a repo that declares a shiv-backed tool in mise.toml, e.g.
[tools]
"shiv:modules" = "latest"
running:
updates shiv's registry-managed install, not necessarily the shiv:modules install that the current repo will resolve through mise.
That is surprising from an operator/agent perspective: when I'm standing in a codebase and updating a dependency named in that codebase's mise.toml, I expect the update to affect the tool version that repo will actually use. Otherwise shiv update modules can report success while mise x shiv:modules@latest -- modules ... or repo task execution still sees stale behavior.
Desired behavior
When shiv update <name> is run inside a repo with a matching shiv:<name> tool declaration, shiv should either:
- update/refresh the repo-scoped mise install that declaration resolves to; or
- clearly warn that it is updating the global shiv registry install instead, and print the repo-scoped command to run.
Context
This came up after KnickKnackLabs/modules#22 / modules v0.9.2: updating the shiv-managed modules install and updating the repo-local mise shiv:modules install are distinct paths. The current behavior makes it easy to get a false sense of freshness.
Problem
Inside a repo that declares a shiv-backed tool in
mise.toml, e.g.running:
updates shiv's registry-managed install, not necessarily the
shiv:modulesinstall that the current repo will resolve through mise.That is surprising from an operator/agent perspective: when I'm standing in a codebase and updating a dependency named in that codebase's
mise.toml, I expect the update to affect the tool version that repo will actually use. Otherwiseshiv update modulescan report success whilemise x shiv:modules@latest -- modules ...or repo task execution still sees stale behavior.Desired behavior
When
shiv update <name>is run inside a repo with a matchingshiv:<name>tool declaration, shiv should either:Context
This came up after
KnickKnackLabs/modules#22/modules v0.9.2: updating the shiv-managedmodulesinstall and updating the repo-local miseshiv:modulesinstall are distinct paths. The current behavior makes it easy to get a false sense of freshness.