SuperAPI AI 工具集

code-refactoring

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:该技能为 Orient monorepo 提供代码重构的模式与检查清单,适用于从重复实现中提取共享逻辑、在 src/ 与 packages/ 之间迁移服务、统一数据库访问模式、合并工具定义,以及迁移导入路径。

主要能力:包含五类模式。一是服务提取,当两个及以上服务共享相同逻辑(超过 50 行或逻辑复杂)时,识别共享代码、设计共享接口(如 ServiceConfig、ServiceExecutor)、创建共享服务、更新调用方并编写测试,示例为 toolCallingService.ts 从 AgentService 与 WhatsAppAgentService 中提取通用工具调用循环。二是包迁移,将代码从 src/ 移到 packages/,需创建包结构、定义依赖(如 "@orientbot/core": "workspace:*")、更新 tsconfig.json 路径映射、增量迁移并验证构建与测试,命令如 pnpm --filter @orientbot/[package] build 与 test。三是数据库访问统一,审计现有用法(grep 搜索 BaseDatabase、getDatabase、executeRawSql),创建对比测试,提供 Drizzle 辅助函数如 executeRaw、executeRawOne,逐个迁移服务并弃用旧模式。四是工具定义合并,建立 src/tools/definitions/ 目录,提取公共定义并创建平台专用 getter。五是导入路径迁移,包含迁移前审计、检查清单、决策树、避免 dist 导入、批量迁移脚本与迁移后验证。

使用方式:按对应模式的检查清单逐步执行,先写测试再重构,使用对比测试验证迁移,每次增量变更后运行测试。常用命令包括 pnpm turbo build --force、pnpm test、pnpm turbo typecheck,以及 grep 审计导入。

适用场景:Orient monorepo 内消除重复代码、提升模块化、统一数据库访问、合并工具定义与整理导入路径。

限制:资料仅针对 Orient monorepo 的特定结构与包(如 @orientbot/*),未提供通用项目适配说明、收费或平台信息;部分内容为示例代码与模板,实际使用需结合项目现状调整。