关于 chezmoi-sync
chezmoi-sync 是用于检查 chezmoi 源文件与主目录之间差异的交互式技能,可引导审查、同步和提交点文件更改。
主要功能
- 01检查 chezmoi 状态与差异
- 02选择批量或逐文件同步
- 03暂时忽略差异
- 04提交并验证同步结果
适用场景
- 01同步前审查点文件更改
- 02选择停止跟踪某个变更文件
- 03提交并推送确认的点文件更新
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill chezmoi-sync安装后在 Claude Code 中输入/chezmoi-sync确认已加载。
详细介绍
Chezmoi 同步(交互式)
按需替代自动化的 chezmoi 停止保护。每当你想检查 chezmoi 是否存在偏差并同步受跟踪的点文件时,都运行此技能。
自我演进技能:此技能会在使用中不断改进。如果说明有误、参数发生偏移,或需要使用变通方案,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。
工作流
步骤 1:检查偏差
运行 chezmoi status 和 chezmoi diff --no-pager,检测源代码仓库与主目录之间的偏差。
chezmoi source-path && chezmoi status && echo "---" && chezmoi diff --no-pager | head -80
如果输出为空(没有偏差),报告“Chezmoi 状态正常 — 未检测到偏差”并停止。
步骤 2:向用户展示偏差(AskUserQuestion)
如果存在偏差,使用 AskUserQuestion 向用户展示偏差内容,并询问要如何处理。
问题 1(标题:“偏差操作”):
“Chezmoi 检测到 N 个存在偏差的文件:[文件列表]。你想怎么处理?”
选项:
- 全部同步 — 对所有存在偏差的文件运行
chezmoi re-add,然后提交并推送 - 逐个检查 — 逐个处理文件,并为每个文件单独选择操作
- 忽略 — 跳过同步,我稍后处理
步骤 3a:全部同步(如果选择此项)
chezmoi re-add --verbose
chezmoi git -- add -A && chezmoi git -- commit -m "sync: dotfiles" && chezmoi git -- push
chezmoi status # Verify clean
报告提交哈希,并确认状态正常。
步骤 3b:逐个检查(如果选择此项)
对每个存在偏差的文件,使用 AskUserQuestion:
问题(标题:“文件操作”):
“[文件名] 已更改。我们应该怎么处理?”
选项:
- 同步 — 将此文件添加到 chezmoi 源目录(
chezmoi add <path>) - 查看差异 — 先显示完整差异,然后再次询问
- 停止跟踪 — 停止跟踪此文件(
chezmoi forget --force <path>) - 跳过 — 暂时保留偏差
处理完所有文件后,如果有文件已同步:
chezmoi git -- add -A && chezmoi git -- commit -m "sync: dotfiles" && chezmoi git -- push
步骤 3c:忽略(如果选择此项)
报告:“已跳过 chezmoi 同步。准备好后运行 /dotfiles-tools:chezmoi-sync。”
说明
- 始终使用
chezmoi forget --force(而不是不带参数的forget),以避免 TTY 提示问题 - chezmoi 源目录为
~/gh/vjspc/dotfiles(在~/.config/chezmoi/chezmoi.toml中配置)
执行后反思
此技能执行完成后,在结束任务前进行反思:
- 确认位置。 — 编辑前找到此 SKILL.md 的规范路径。
- 出了什么问题? — 修复导致问题的说明。
- 哪些地方比预期更顺利? — 将其列为推荐做法。
- 有哪些内容发生了偏移? — 修复任何与实际情况不再一致的脚本、引用或依赖项。
- 记录下来。 — 添加演进日志条目,记录触发原因、修复内容和证据。
不要拖延。下一次调用会继承你留下的一切。
评论
支持 Markdown