Appearance
贡献指南
感谢您考虑为 Matrix 做出贡献!这份指南将帮助您了解如何参与项目开发。
利用Cursor IDE快速贡献(推荐)
- 确定需要贡献的模块,使用cursor的composer,输入
@codebase,输入提示语,例如:
实现一个检查对象深度相等的函数,你根据docs/guide/index.md文档,确定这个函数应该放在哪个目录下(建议放在src/base/type/deepEqual.ts目录下),并且更新单元测试(test目录下),docs/api目录下对应的md文档- 输入完成后,cursor会根据你的提示语,生成代码,markdown文档,单元测试,示例代码
- 需要检查src目录代码是否生成,test目录单元测试用例是否生成,docs/.vitepress/config入口和api文档是否更新
- 如果需要更新,则使用cursor的composer,输入
@codebase,继续输入提示语 - 重复以上步骤,直到完成所有模块的贡献
- 所有函数在window全局对象上已注入供验证功能,例如window.fuMatrix.isEmpty
设计原则
Matrix 专注于提供原生 JavaScript 缺失的实用功能:
✅ 推荐贡献的功能
- 类型检查和验证工具
- 性能优化工具(防抖、节流等)
- 环境检测工具
- 数据格式化工具
- 客户端桥接工具
- 复杂的业务逻辑工具
❌ 不推荐重复实现的功能
- 原生数组方法(filter、map、reduce等)
- 原生字符串方法(slice、replace等)
- 原生对象方法(keys、values等)
- 简单的数学运算
Pull Request 指南
- 保持提交历史清晰
- 遵循项目的代码风格
- 更新相关文档
- 添加必要的测试
- 确保所有测试通过
代码审查
- 所有代码变更需要至少一次审查
- P0/P1 问题需要两人审查
- 发布前进行完整测试
文档维护
- API 文档随代码同步更新
- 每个版本更新 changelog
- 定期检查文档准确性
性能监控
- 定期进行性能测试
- 监控包体积变化
- 跟踪依赖更新
质量保证
测试要求
- 新增函数需要添加单元测试,通过率100%,(特殊场景除外,如客户端协议)
- 性能测试达标
发布检查清单
- [ ] 测试全部通过
- [ ] 文档已更新
- [ ] changelog 已更新
- [ ] 版本号已更新
- [ ] 依赖已更新
- [ ] 性能指标达标
包体积
- UMD 格式压缩后 < 50KB
- ESM 格式压缩后 < 40KB
- 每个独立模块 < 10KB
性能优化建议
- 使用 Tree-shaking 优化
- 延迟加载非关键模块
- 缓存频繁使用的计算结果
- 避免不必要的对象创建