关于 shell-env
shell-env 是用于维护 GNU Stow 管理的 Shell 与终端配置仓库的技能。它引导从指定源目录进行修改,并为 Zsh、Ghostty、Tmux、Starship、yabai 和 Git 提供检查与重载步骤。
主要功能
- 01优先从 Stow 源目录编辑
- 02按工具执行语法与行为检查
- 03提供配置重载指引
- 04验证链接并执行同步
适用场景
- 01通过仓库源文件修改终端设置
- 02验证 Zsh 启动配置变更
- 03检查并应用符号链接变更
- 04重载已修改的终端组件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kriscard/ skills --skill shell-env安装后在 Claude Code 中输入/shell-env确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/git-config.mdmodern-cli-tools.mdterminal-config.md详细介绍
Shell 和终端环境
此仓库使用一个 GNU Stow 软件包,位于 ~/.dotfiles/home/。请编辑该目录下的源文件;如果目录布局与本文档不同,以 ~/.dotfiles/README.md、dotfiles --help 和当前符号链接目标为准。
当前源文件位置
| 工具 | 源文件 |
|---|---|
| Zsh | ~/.dotfiles/home/.zshrc 和 ~/.dotfiles/home/zsh/zsh.d/ |
| Ghostty | ~/.dotfiles/home/.config/ghostty/config |
| Tmux | ~/.dotfiles/home/.config/tmux/tmux.conf |
| Starship | ~/.dotfiles/home/.config/starship.toml |
| yabai | ~/.dotfiles/home/.config/yabai/yabairc |
| Git | ~/.dotfiles/home/.gitconfig* |
进行结构性修改前,使用 readlink 或 ls -ld 确认目标。
优先使用 Stow 的编辑流程
- 在
~/.dotfiles/home/下定位并检查源文件。 - 编辑源文件,而不是主目录中的链接。
- 针对所修改的工具,运行范围最小的语法或行为检查。
- 如果链接结构发生变化,运行
dotfiles sync --dry-run,检查每项拟执行的操作,然后运行dotfiles sync。 - 重新加载受影响范围最小的组件。
- 报告源文件路径、验证结果,以及重新加载情况或尚需执行的手动步骤。
当源文件控制了预期的主目录路径、语法和行为检查均已通过,并且实时配置已重新加载或明确说明了剩余的手动操作时,即为完成。
链接工作流
请使用仓库 CLI,而不要自行创建逐工具的 Stow 软件包:
cd ~/.dotfiles
dotfiles sync --dry-run
dotfiles sync
如果遇到冲突或行为不明确,请先检查 dotfiles --help、README.md 和 home/ 树,再修改链接。当前布局只有一个 home 软件包,因此链接操作应通过 dotfiles sync 进行,而不是使用逐工具的 Stow 命令。
工具验证
Zsh
先验证已编辑的模块,再验证完整的启动流程:
zsh -n ~/.dotfiles/home/.zshrc
zsh -n ~/.dotfiles/home/zsh/zsh.d/<module>.zsh
zsh -i -c exit
保留模块的数字顺序,并在文件间移动代码前检查依赖关系。
Ghostty
编辑前,检查当前配置中可接受的语法、主题和字体。通过已安装的 Ghostty 版本重新加载或重启应用,然后通过界面或可用的诊断工具验证所修改的设置。
Tmux 和 sesh
tmux source-file ~/.config/tmux/tmux.conf
sesh list
记录重新加载错误。保留已配置的 TPM 目录,并确保插件管理器只初始化一次。
Starship
starship explain
starship timings
使用当前提示符验证受影响的模块。
yabai
yabai --restart-service
重启后验证所修改的规则或行为,不要将重启服务本身视为验证已完成。
参考资料
| 优先级 | 适用情形 | 参考资料 |
|---|---|---|
| 高 | 添加别名或评估现代 CLI 替代工具 | references/modern-cli-tools.md |
| 高 | 修改 Ghostty、tmux/sesh、Starship、yabai 或跨工具主题配置 | references/terminal-config.md |
| 高 | 修改 Git 身份、签名、条件包含、分页器或别名 | references/git-config.md |
快速检查
readlink ~/.zshrc
readlink ~/.config/ghostty/config
cd ~/.dotfiles && dotfiles sync --dry-run
find ~ -maxdepth 3 -type l ! -e 2>/dev/null