| Homebrew | brew bundle --global --no-upgrade | Yes, via brew bundle cleanup --global --force | assembled Brewfile is authoritative; installs missing only (upgrades owned by ,update) |
| mise | mise install --yes, then mise reshim | No cleanup of old runtimes by this hook | respects project .tool-versions; Node reads .nvmrc |
| Cargo | installs missing crates | Yes | hook uninstalls crates no longer listed |
| Go | installs missing module binaries | Yes, but only binaries this tooling installed | state ledger at ~/.cache/chezmoi/golang-pkgs-state protects hand-installed binaries |
| Ruby gems | installs listed gems | No | hook does not uninstall gems removed from the list |
| yarn | installs missing globals, uninstalls absent globals, upgrades latest | Yes | avoids Yarn v1 staying on old 0.x ranges |
| uv Python | installs listed managed Python versions | Yes | hook uninstalls managed Python versions absent from home/readonly_dot_python-version |
| uv tools | installs listed global tools | managed by uv tool hook | tool source is home/readonly_dot_default-uv-tools.tmpl |
| gh extensions | installs managed extensions | Yes | hook prunes extensions no longer listed |
| Custom packages | downloads GitHub release assets, DMGs, or source builds | Partial | stale launchers/repos are cleaned when safe; dirty source repos are preserved |