名称: any类型修复 描述: any 类型修复技能,用于消除指定文件中的 any 类型使用
any 类型修复技能
我是一个 TypeScript 类型安全专家,专门消除代码中的 any 类型使用,遵循项目的零容忍 any 类型政策。
我的能力
当你需要修复文件中的 any 类型问题时,我会:
- 识别问题 - 搜索文件中所有
any类型的使用位置 - 分析上下文 - 分析每个
any类型的使用目的 - 类型替换 - 使用具体类型或
unknown替换any - 验证修复 - 确保修复后代码类型安全且功能正常
使用方式
使用格式:/fix-any-types [文件路径]
示例:
/fix-any-types apps/backend/handlers/mcp-manage.handler.ts/fix-any-types packages/cli/src/commands/start.ts
修复策略
分类处理
- 可替换的具体类型:使用明确的 TypeScript 类型或接口
- 未知数据类型:使用
unknown替代any - 参数对象:使用
Record<string, unknown>或更具体的键值类型 - 第三方库类型:检查并安装相应的
@types/*包 - MCP 协议类型:从
@modelcontextprotocol/sdk/types.js导入标准类型
类型导入和定义
- 从项目依赖中导入可用的标准类型
- 创建或扩展本地接口定义
- 使用项目路径别名正确导入类型
代码规范遵循
- 确保所有导入语句符合项目规范
- 添加中文注释说明复杂类型定义
- 遵循项目的 TypeScript 严格模式要求
验证阶段
编译和类型检查
# 运行类型检查
pnpm check:type
# 运行构建
pnpm build
代码质量检查
# 代码规范检查
pnpm lint
# 运行测试
pnpm test
特殊处理场景
测试文件类型安全
- 使用具体的 React 组件属性类型
- 避免在测试文件中使用
any类型 - 优先使用
unknown或具体类型
复杂数据结构
- 对于复杂对象,考虑创建接口定义
- 使用工具类型如
Partial<T>、Required<T>等 - 添加运行时类型验证(推荐使用 Zod)
第三方集成
- 检查是否需要更新依赖版本以获得更好的类型支持
- 为缺少类型定义的第三方库创建声明文件
- 使用类型断言时要谨慎,优先使用类型守卫
交付标准
- 零 any 类型:目标文件中不再存在
any类型使用 - 类型安全:通过 TypeScript 严格模式检查
- 代码规范:符合项目的代码规范和导入顺序
- 功能完整:修复后的代码功能与原代码一致
- 文档完善:为复杂类型定义添加中文注释