用途
sync-repos 用于管理公开/私有仓库配对。它帮助验证开发(私有)仓库与其公开对应仓库之间的一致性,检测漂移,运行同步脚本,验证结果,并确保没有 PII 或密钥泄露到公开侧。
主要能力
- 检查模式:比较两个仓库并报告漂移,包括仅存在于开发仓库的文件(预期和意外)、内容分歧的文件、仅存在于公开仓库的文件,以及自上次同步以来的估计漂移提交数。
- 同步模式:运行同步脚本并验证结果,包括同步后的 PII/密钥扫描。
- 设置模式:为新的公开/私有仓库对创建初始的 sync-public.sh 和配置文件。
使用方式
安装命令:
claude install-skill https://github.com/thatrebeccarae/claude-skills/tree/main/sync-repos
使用命令:
/sync-repos check [dev-path] [public-path]— 比较仓库并报告漂移/sync-repos sync [dev-path] [public-path]— 运行同步脚本并验证/sync-repos setup [dev-path] [public-path]— 创建初始的 sync-public.sh 和配置
如果省略路径,会提示用户输入。技能会查找开发仓库中的 .syncignore 或 scripts/sync-public.conf 来自动检测配对。
适用场景
- 在推送公开仓库之前 — 验证同步是干净且最新的
- 在重大开发工作之后 — 检查公开仓库是否已落后
- 按周期(每周或发布前)— 尽早发现未同步的更改
- 首次设置新的公开/私有仓库对时
限制
- 从不自动推送。同步仅在本地写入文件,推送到远程始终是单独的、用户确认的步骤。
- 每次同步运行后都会对公开仓库进行 PII/密钥扫描,无例外。
- 排除列表是仅追加的,未经用户明确批准不得移除排除模式。
- 必须保留公开仓库独有的文件(如 README、LICENSE、CONTRIBUTING、.github/ 工作流),同步不得覆盖这些文件。
- 配置文件与脚本分离,便于审查和更新排除列表而不触及脚本逻辑。