Skip to content

Monorepo 基础架构规范

规范定位

本规范定义了 Monorepo 项目的基础架构标准,提供零业务、纯技术的项目模板,确保多包项目的一致性和可维护性。

核心原则

最小化原则

  • 只包含必要的基础设施
  • 避免过度工程化
  • 保持配置的简洁性
  • 聚焦核心功能

标准化原则

  • 统一的项目结构
  • 标准的工具链配置
  • 一致的开发流程
  • 规范的包管理方式

可扩展原则

  • 支持渐进式扩展
  • 便于添加新包
  • 灵活的任务编排
  • 可定制的配置

适用范围

本规范适用于需要管理多个相关包的项目场景:

  • 前后端共享代码的全栈项目
  • 组件库和工具库的开发
  • 微服务架构的项目
  • 插件系统的开发
  • SDK 和 CLI 工具开发

规范架构

本规范包含以下章节:

  1. 快速开始 - 5分钟创建可工作的 Monorepo 项目
  2. 项目初始化 - 详细的项目搭建步骤和原理
  3. 开发环境配置 - 配置 TypeScript、构建工具、测试框架
  4. 工作区配置 - 设置 pnpm workspace 和包依赖管理
  5. 工程化规范 - 自动化工具和质量保障

技术选型

核心技术栈

  • 包管理器:pnpm - 高效的依赖管理和 workspace 支持
  • 任务编排:Turborepo - 智能缓存和并行执行
  • 构建工具:tsup - 零配置的 TypeScript 构建
  • 类型系统:TypeScript - 类型安全和开发体验
  • Git Hooks:Lefthook - 轻量级的 Git 钩子管理

选型原则

  • 优先选择零配置或低配置方案
  • 确保工具之间的良好集成
  • 考虑社区活跃度和维护状况
  • 平衡功能完整性和学习成本

与其他规范的关系

  • 参考规范:文档撰写规范(文档组织方式)
  • 下游影响:具体应用开发规范、部署规范
  • 平行关系:TypeScript 编码规范、Git 工作流规范

预期效果

通过执行本规范,预期达到:

  • 5 分钟内完成项目初始化
  • 统一的包管理和依赖关系
  • 高效的构建和任务执行
  • 完善的代码质量保障
  • 良好的开发体验

演进策略

  • 模板驱动:提供可直接使用的项目模板
  • 增量采用:支持现有项目逐步迁移
  • 版本兼容:保持工具版本的合理更新
  • 最佳实践:根据社区发展更新规范

基于 MIT 许可发布