--- id: monorepo-setup name: Monorepo 工程配置 area: infrastructure status: done --- ## 概述 pnpm workspace 单体仓库基础配置,涵盖包管理、构建脚本和 Node.js 引擎约束。所有 apps/* 和 packages/* 自动纳入 workspace。 ## 任务卡 ### ✅ 初始化 pnpm workspace - status: done - complexity: S - files: package.json, pnpm-workspace.yaml - acceptance: pnpm-workspace.yaml 正确声明 apps/* 和 packages/*,根 package.json 包含 dev/build/lint 脚本,engines 约束 node>=18 pnpm>=8 ### 💭 统一 TypeScript 基础配置 - status: concept - complexity: S - files: tsconfig.base.json - acceptance: 根目录提供 tsconfig.base.json,各子包通过 extends 继承,启用 strict 模式 ### 💭 统一 ESLint / Prettier 配置 - status: concept - complexity: S - files: eslint.config.js, .prettierrc - acceptance: 根目录提供共享 lint 规则,各子包可通过 overrides 扩展,pnpm lint 从根目录一键运行 ### 💭 构建工具链选型 - status: concept - complexity: M - files: packages/build-config/package.json, packages/build-config/vite.base.ts - acceptance: 封装 Vite 基础配置到 packages/build-config,各 app 通过 extends 引入,减少重复配置 ## 决策记录 - 选择 pnpm workspace 而非 Turborepo/Nx:初期项目规模小,pnpm 原生 workspace 足够,避免引入额外工具链复杂度