diff --git a/.github/skills/zi-install/SKILL.md b/.github/skills/zi-install/SKILL.md index b9ec3d900..8265a8807 100644 --- a/.github/skills/zi-install/SKILL.md +++ b/.github/skills/zi-install/SKILL.md @@ -72,13 +72,15 @@ Start a fresh interactive shell, the way the user will, and ask Zi for its help zsh -ic 'zi -h' >/dev/null && echo 'zi ok' ``` -This runs the user's own `.zshrc`, which is the point: it proves the integration works on normal startup. It cannot tell which integration answered, so for Loader the `Loader added` line above is the evidence that the loader block exists; the check below then confirms the loader ran and removed its helpers: +This runs the user's own `.zshrc`, which is the point: it proves the integration works on normal startup. It cannot tell which integration answered, so for Loader the `Loader added` line above is the evidence that the loader block exists, and the probe below is the evidence that the installed loader itself works: it sources the resolved `init.zsh` in a clean shell, requires `zzinit` to be defined by that source, runs it, and requires it to remove itself afterwards. An absent `zzinit` is success only after this probe defined and ran it. ```sh -zsh -ic 'print "zzinit:${+functions[zzinit]}"' +zsh -f -c 'unfunction zzinit _zi_err _zi_fetch _zi_check_stream _zi_setup _zi_source _zi_comps _zi_pmod 2>/dev/null; typeset -gA ZI; if [[ -n ${XDG_CONFIG_HOME:-} && $XDG_CONFIG_HOME == /* ]]; then d="$XDG_CONFIG_HOME/zi"; else d="$HOME/.config/zi"; fi; source "$d/init.zsh" || { print "loader missing"; exit 1 }; (( ${+functions[zzinit]} )) || { print "loader defined no zzinit"; exit 1 }; zzinit || { print "zzinit failed"; exit 1 }; for f in zzinit _zi_err _zi_fetch _zi_check_stream _zi_setup _zi_source _zi_comps _zi_pmod; do (( ${+functions[$f]} )) && { print "helper not removed: $f"; exit 1 }; done; print "loader ok"' ``` -Expect `zzinit:0`. `zzinit:1` means the load failed and the helper stayed for a retry; show the user the output of `zsh -ic zzinit`. For `-i skip`, verify only that `zi.zsh` exists beneath the directory the installer printed in its `Successfully installed at