在 CLAUDE.md 中配置 TypeScript 最佳实践和代码风格规则
设置 TypeScript 最佳做法是一项面向实际任务的技能,主要用于创建或更新 CLAUDE.md , 使用以下内容, 严格按原样写, 不进行归纳或介绍, 以及新的额外信息。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
创建或更新 CLAUDE.md 文件,内容如下,
## Code Style Rules
### General Principles
- **TypeScript**: 所有代码必须严格类型化,充分利用 TypeScript 的类型安全特性
### Code style rules
- 接口优先于类型别名 — 对象类型应使用 interface
- 使用 enum 表示常量值,优先于字符串字面量
- 默认导出所有类型
- 使用类型守卫(type guards)而非类型断言(type assertions)
### Best Practices
#### Library-First Approach
- 应优先使用库的常见场景:
- 日期/时间处理 → date-fns, dayjs
- 表单验证 → joi, yup, zod
- HTTP 请求 → axios, got
- 状态管理 → Redux, MobX, Zustand
- 工具函数 → lodash, ramda
#### Code Quality
- 在可能的情况下使用对象解构:
- 不要写 `const name = user.name`,而应写 `const { name } = user`
- 不要写 `const result = await getUser(userId)`,而应写 `const { data: user } = await getUser(userId)`
- 不要写 `const parseData = (data) => data.name`,而应写 `const parseData = ({ name }) => name`
- 时间相关配置和环境变量应使用 `ms` 包,而非手动将数字乘以 1000