SuperAPI AI 工具集

pre-merge

编程与开发

查看项目

更新于 10-15 16:28

技能介绍

用途

Pre-Merge 是一个在生产环境合并变更之前使用的综合验证工作流技能。它适用于以下场景:为评审创建拉取请求、即将把代码合并到 main/生产分支、需要系统性的验证清单、希望在代码评审前发现潜在问题。

主要能力

该技能按阶段提供验证清单:

提交前验证(Pre-Commit)

  • 类型检查通过(语言对应命令:tsc --noEmit、mypy 等)
  • 代码检查无错误(ESLint、Pylint 等)
  • 本地所有现有测试通过
  • 代码中无遗留 console.log/debug 语句
  • 代码符合项目风格指南
  • 无被注释掉的代码块

PR 前验证(Pre-PR)

  • 为面向用户的变更添加 changeset(若使用 changesets)
  • PR 描述完整,包含变更摘要、相关工单引用(ENG-XXX、HEL-XXX、JIRA-XXX 等)、UI 变更截图(桌面、平板、移动端)、破坏性变更说明、迁移指南、新功能测试、文档更新
  • 安全清单(若涉及 API 变更):受保护路由需要认证、实现授权检查、使用 schema 进行输入校验(Zod、Pydantic 等)、日志中无敏感数据、无 SQL 注入、无 XSS 漏洞、考虑限流
  • 数据库变更(若涉及 schema 变更):创建迁移文件、在本地和预发数据库测试迁移、提供回滚迁移、无破坏性变更时提供迁移指南、记录 schema 变更
  • UI 变更:包含桌面(1920x1080)、平板(768x1024)、移动(375x667)截图,验证响应式行为、无障碍性(键盘导航、屏幕阅读器)、加载状态和错误状态

合并前验证(Pre-Merge)

  • CI/CD 检查:所有 CI 检查通过、至少一位评审者批准、变更文件无 TypeScript 错误、与目标分支无合并冲突、构建成功且无警告
  • 功能验证:数据库迁移成功运行、现有功能无回归、性能基准在可接受范围、关键路径完成手动测试
  • 文档:更新 CHANGELOG.md、API 文档、README、提供迁移指南

使用方式

技能提供按语言划分的命令示例:

TypeScript/JavaScript:npx tsc --noEmit、npm run lint、npm test

Python:mypy src/、pylint src/、pytest

Go:gofmt -l .、golangci-lint run、go test ./...

还提供 PR 描述模板,包含 Summary、Related Tickets、Changes、Testing、Screenshots、Breaking Changes、Migration Guide、Performance Impact、Security Considerations、Rollback Plan、Deployment Notes 等章节。

技能提供快速验证脚本示例(pre-commit.sh),涵盖 JavaScript/TypeScript 与 Python 版本,并说明使用 chmod +x 使其可执行。

自动化方面,提供 Git Hooks 配置:使用 Husky(JavaScript/TypeScript)通过 npm install --save-dev husky、npx husky install、npx husky add 设置提交前检查;使用 pre-commit(Python)创建 .pre-commit-config.yaml 并运行 pre-commit install。

适用场景

适合在功能开发完成、准备提交或合并代码时使用,帮助团队在代码评审前系统性地发现类型错误、检查错误、测试失败、安全问题、迁移风险和文档缺失。

限制

技能本身是清单与流程指引,具体项目是否使用 changesets、Husky、pre-commit 等工具需依据项目实际情况;命令示例需按项目技术栈调整。未提供关于该技能收费、价格或平台支持范围的信息。