SuperAPI AI 工具集

git-safety

编程与开发

查看项目

更新于 10-15 08:13

技能介绍

用途

Git Safety 旨在确保在 Git 仓库中进行文件操作时的安全性和历史完整性。当 Agent 尝试移动、重命名或删除文件时触发,用于约束文件操作方式,避免因使用普通文件管理命令而破坏 Git 跟踪关系或产生冗余变更。

主要能力

移动与重命名

禁止直接使用 mv 命令操作受 Git 跟踪的文件,强制使用:

git mv <old_path> <new_path>

理由是确保 Git 自动跟踪文件重构,保留文件的 Git History,避免识别为“删除 + 新增”。

删除

禁止直接使用 rm 或 rm -rf 操作受 Git 跟踪的文件,强制使用:

git rm <path> 或 git rm -r <path>

理由是从工作区和索引中同步移除,避免残留未跟踪的删除变更。

操作前自检流程

当 Agent 准备操作文件时,应遵循以下逻辑:

  1. 检查状态:执行 git ls-files <path>。
  2. 判断:
    • 如果有输出(说明文件受控)→ 使用 git mv / git rm。
    • 如果无输出(说明是未跟踪文件)→ 使用普通 mv / rm。

使用方式

该技能以规范约束的形式介入 Agent 的文件操作流程:在移动、重命名或删除文件之前,先通过 git ls-files <path> 判断文件是否受 Git 跟踪,再根据判断结果选择 git mv、git rm 或普通 mv、rm。在执行大规模移动操作前,建议先执行 git status 确保工作区是干净的。

适用场景

  • 重构代码导致的文件目录结构调整。
  • 删除过时的文档或代码文件。
  • 项目清理。

限制

严禁在未确认文件状态的情况下盲目使用普通文件管理命令。在执行大规模移动操作前,建议先执行 git status 确保工作区是干净的。