mcpField
C
chezmoi-sync

chezmoi-sync

github.com/terrylica开发276 次安装1 天前更新
代码仓库

关于 chezmoi-sync

chezmoi-sync 是用于检查 chezmoi 源文件与主目录之间差异的交互式技能,可引导审查、同步和提交点文件更改。

主要功能

  1. 01检查 chezmoi 状态与差异
  2. 02选择批量或逐文件同步
  3. 03暂时忽略差异
  4. 04提交并验证同步结果

适用场景

  1. 01同步前审查点文件更改
  2. 02选择停止跟踪某个变更文件
  3. 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 中配置)

执行后反思

此技能执行完成后,在结束任务前进行反思:

  1. 确认位置。 — 编辑前找到此 SKILL.md 的规范路径。
  2. 出了什么问题? — 修复导致问题的说明。
  3. 哪些地方比预期更顺利? — 将其列为推荐做法。
  4. 有哪些内容发生了偏移? — 修复任何与实际情况不再一致的脚本、引用或依赖项。
  5. 记录下来。 — 添加演进日志条目,记录触发原因、修复内容和证据。

不要拖延。下一次调用会继承你留下的一切。

评论

支持 Markdown