Current state
features/setup/setup.zsh sources eight files from the deprecated/ subdirectory (lines 111–119: deprecated/homebrew.zsh, deprecated/rust.zsh, deprecated/uv.zsh, deprecated/node.zsh, deprecated/npm.zsh, deprecated/tmux.zsh, deprecated/neovim.zsh, deprecated/symlinks.zsh). None of these sourced steps carry any indication in the terminal output that they are executing deprecated code. A user who runs setup has no way to know that a significant portion of the installation is running older, potentially outdated scripts that the repo has marked for replacement.
Ideal state
- When
setup.zsh runs a step sourced from deprecated/, the terminal output includes a visible indicator (e.g. a ⚠️ [deprecated] prefix line) so the user knows that step is running legacy code.
- Alternatively, all deprecated steps are replaced with their non-deprecated equivalents and the
source "${DOTINSTALL}/deprecated/*.zsh" calls are removed entirely.
Out of scope
- Rewriting the deprecated scripts themselves (that is separate work).
- Changes to what the deprecated scripts do.
Starting points
features/setup/setup.zsh lines 111–119: the eight source "${DOTINSTALL}/deprecated/*.zsh" calls
features/install/ — the non-deprecated install scripts intended to replace the deprecated ones
QA plan
- Run
features/setup/setup.zsh (or review its echo/printf output by inspection).
- For each step sourced from
deprecated/, expect a clearly labelled terminal line such as ⚠️ [deprecated] Running homebrew.zsh — replace with features/install/....
- Confirm no step from
deprecated/ runs without this label appearing in the output.
Done when
A user running setup can identify from the terminal output which installation steps are sourced from deprecated scripts, without inspecting the setup.zsh source.
Current state
features/setup/setup.zshsources eight files from thedeprecated/subdirectory (lines 111–119:deprecated/homebrew.zsh,deprecated/rust.zsh,deprecated/uv.zsh,deprecated/node.zsh,deprecated/npm.zsh,deprecated/tmux.zsh,deprecated/neovim.zsh,deprecated/symlinks.zsh). None of these sourced steps carry any indication in the terminal output that they are executing deprecated code. A user who runs setup has no way to know that a significant portion of the installation is running older, potentially outdated scripts that the repo has marked for replacement.Ideal state
setup.zshruns a step sourced fromdeprecated/, the terminal output includes a visible indicator (e.g. a⚠️ [deprecated]prefix line) so the user knows that step is running legacy code.source "${DOTINSTALL}/deprecated/*.zsh"calls are removed entirely.Out of scope
Starting points
features/setup/setup.zshlines 111–119: the eightsource "${DOTINSTALL}/deprecated/*.zsh"callsfeatures/install/— the non-deprecated install scripts intended to replace the deprecated onesQA plan
features/setup/setup.zsh(or review its echo/printf output by inspection).deprecated/, expect a clearly labelled terminal line such as⚠️ [deprecated] Running homebrew.zsh — replace with features/install/....deprecated/runs without this label appearing in the output.Done when
A user running setup can identify from the terminal output which installation steps are sourced from deprecated scripts, without inspecting the
setup.zshsource.