deotalandAi/README.md

138 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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) 文件了解详情。