fish-shell
Installation
SKILL.md
Fish is not bash. Different syntax (test over [[ ]], (cmd) over $(cmd)), string/math builtins, scopes via set -l/-g/-gx/-U, and no &&/|| — use ; and/; or or chained commands.
Repo layout
- Config root:
~/.config/fish/(chezmoi source:private_dot_config/fish/) functions/<name>.fish— autoloaded on first use; filename must match function nameconf.d/*.fish— sourced at startup; abbreviations, keybindings, env tweakscompletions/<cmd>.fish— completion definitionsconfig.fish— assembled from.chezmoitemplates/fish/*.fishfragments at chezmoi apply time. See chezmoi skill for the assembly model.
Testing in this environment
You're in bash. Run fish via subshell: fish -c "<commands>". New .fish files are picked up automatically by each new subshell after chezmoi apply — no reload needed. Shell side effects can be destructive, so prefer asking the user to test interactive features rather than self-validating.