mcpField
B
batch-operations

batch-operations

github.com/vudovn开发8.2k52 次安装8 周前更新
代码仓库

关于 batch-operations

batch-operations 是用于跨多个文件执行一致修改的技能。它指导开发者和编码 Agent 定义模式、预览受影响文件、执行变更并验证结果。

主要功能

  1. 01定义模式、范围和排除项
  2. 02预览受影响文件与匹配项
  3. 03执行文本或结构性修改
  4. 04检查替换结果并运行测试
  5. 05汇报已修改的文件

适用场景

  1. 01在代码库中重命名函数
  2. 02更新多个 package 文件中的版本
  3. 03跨文件迁移重复代码模式
  4. 04为相似结构添加或移除字段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vudovn/ag-kit --skill batch-operations

安装后在 Claude Code 中输入/batch-operations确认已加载。

详细介绍

批量操作 — 多文件更改

一次性在多个文件中应用一致的更改。一个模式,多个目标。

适用场景

✅ 适合:

  • 在所有使用某个函数/组件的文件中重命名它
  • 为某个目录中的每个文件添加导入
  • 更新多个包文件中的版本号
  • 将相同的代码模式应用到多个相似文件
  • 在整个代码库中从一个 API 迁移到另一个 API
  • 为所有相似的数据结构添加/删除字段

❌ 不适合:

  • 单文件编辑(使用直接编辑)
  • 每个文件都有独特更改(逐个处理)
  • 需要针对每个文件进行判断的更改(按领域使用一个 Agent)

批量操作流程

第 1 步:定义模式
What:     [exact text/pattern to find]
Replace:  [exact replacement text]
Scope:    [file glob pattern, e.g., "src/**/*.tsx"]
Exclude:  [files to skip, e.g., "**/*.test.tsx"]
第 2 步:执行前预览
# Find all affected files FIRST
grep -rl "oldPattern" src/ --include="*.ts"

# Count matches
grep -rc "oldPattern" src/ --include="*.ts" | grep -v ":0$"

# Show context for each match
grep -rn "oldPattern" src/ --include="*.ts"

🔴 绝不要在未预览的情况下批量修改。 向用户展示将要更改的内容。

第 3 步:执行批量操作

对于文本替换:

# On Linux/macOS
find src -name "*.ts" -exec sed -i 's/oldPattern/newPattern/g' {} +

# On Windows (PowerShell)
Get-ChildItem -Path src -Recurse -Filter *.ts |
  ForEach-Object { (Get-Content $_) -replace 'oldPattern','newPattern' | Set-Content $_ }

对于结构性更改(添加导入、包装代码):

  • 对每个文件使用 Edit 工具
  • 按一致的顺序处理文件(按字母顺序或依赖关系)
第 4 步:验证批量操作
# Confirm no missed instances
grep -rl "oldPattern" src/ --include="*.ts"
# Should return empty

# Confirm replacements are correct
grep -rn "newPattern" src/ --include="*.ts" | head -5

# Run tests to catch breakage
npm run test
npm run build

常见批量模式

操作命令模式
重命名导入查找所有 import { X } → 替换为 import { Y }
更新版本查找 "version": "1.0" → 在所有 package.json 中替换
添加导出在所有 index 文件末尾追加 export { X }
移除已弃用内容查找 deprecatedFn() → 替换为 newFn()
添加文件头在所有源文件前添加许可证文件头
类型迁移查找 interface X → 替换为 type X =

安全规则

  1. 先预览 — 修改前始终展示受影响的文件
  2. Git 安全 — 确保工作目录干净(先执行 git stash 或提交)
  3. 排除测试 — 测试通常需要与源代码不同的处理方式
  4. 事后验证 — 每次批量操作后运行构建和测试
  5. 报告更改 — 列出每个已修改的文件及更改摘要

评论

支持 Markdown