# Deotaland AI Monorepo 这是一个基于Monorepo架构的Vue3项目,旨在实现代码复用、统一管理和高效协作。 ## 🏗️ 架构概述 本项目采用Monorepo架构,使用pnpm工作空间和Turborepo来管理多个包: - **apps/**: 应用层,包含不同的前端应用 - **packages/**: 共享包,包含UI组件、工具库等可复用代码 ### 当前项目结构 ``` deotaland-ai-monorepo/ ├── apps/ │ └── frontend/ # 主前端应用 │ └── FrontendDesigner/ # 管理端应用 ├── packages/ # 共享包目录 ├── .eslintrc.base.json # 基础ESLint配置 ├── .prettierrc # Prettier配置 ├── package.json # 根配置 ├── pnpm-workspace.yaml # pnpm工作空间配置 └── turbo.json # Turborepo配置 ``` ## 🚀 快速开始 ### 环境要求 - Node.js >= 16.0.0 - pnpm >= 8.0.0 ### 安装依赖 ```bash # 在根目录安装所有依赖 pnpm install ``` ### 开发模式 ```bash # 运行所有应用的开发服务器 pnpm dev # 运行特定应用 pnpm --filter frontend dev ``` ### 构建 ```bash # 构建所有应用 pnpm build # 构建特定应用 pnpm --filter frontend build ``` ### 代码检查 ```bash # ESLint检查 pnpm lint # 代码格式化 pnpm format ``` ## 📦 工作流程 ### 添加新应用 1. 在 `apps/` 目录下创建新应用目录 2. 配置应用的 `package.json`,确保包含必要的构建依赖 3. 在根目录的 `package.json` 中确保新应用在 `workspaces` 范围内 ### 添加共享包 1. 在 `packages/` 目录下创建新包目录 2. 配置包的 `package.json`,设置适当的导出 3. 在需要使用的应用中安装依赖 ### 任务执行 项目使用Turborepo进行任务管理: - `turbo run dev`: 启动开发服务器 - `turbo run build`: 构建所有包 - `turbo run lint`: 代码检查 - `turbo run clean`: 清理构建产物 ## 🔧 技术栈 - **框架**: Vue 3 (Composition API) - **构建工具**: Vite - **包管理器**: pnpm - **工作空间**: pnpm workspaces - **任务管理**: Turborepo - **代码质量**: ESLint + Prettier - **状态管理**: Pinia - **UI框架**: Element Plus - **路由**: Vue Router 4 - **国际化**: Vue I18n ## 📝 开发规范 ### 代码风格 - 使用ESLint和Prettier进行代码格式化 - Vue组件采用PascalCase命名 - 工具函数采用camelCase命名 - 优先使用Composition API ### 包管理 - 避免在应用层安装构建依赖 - 通用依赖安装到根目录 - 特定依赖根据需要安装到对应包 ### Git工作流 - 使用feature分支进行开发 - 提交前运行代码检查 - 确保所有测试通过后再合并 ## 🤝 贡献指南 1. Fork本仓库 2. 创建你的功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开一个Pull Request ## 📄 许可证 本项目使用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。