# 宝塔 Turborepo 项目

基于 Turborepo 构建的多项目工作空间，包含多个应用和共享包。

## 技术栈

- **构建工具**: Turborepo、Vite
- **前端框架**: Vue 3、React、Svelte
- **语言**: TypeScript
- **样式**: Tailwind CSS、CSS Modules
- **UI 组件库**: Naive UI
- **状态管理**: Pinia
- **路由**: Vue Router
- **工具库**: VueUse、Axios
- **包管理器**: pnpm

## 项目结构

```
.
├── apps/                   # 应用目录
│   ├── allin-ssl/          # SSL 管理应用
│   ├── cloud-control/      # 云控制应用
│   ├── monorepo-docs/      # 项目文档应用
│   ├── naive-template/     # Naive UI 模板
│   └── vueFlow/            # Vue Flow 应用示例
├── packages/               # 共享包目录
│   ├── utils/              # 通用工具函数
│   ├── vue/                # Vue 相关组件和工具
│   ├── react/              # React 相关组件和工具
│   ├── svelte/             # Svelte 相关组件和工具
│   └── node/               # Node.js 相关工具
├── environment/            # 环境配置
├── plugin/                 # 自定义插件
├── scripts/                # 脚本工具
├── types/                  # 全局类型定义
└── ...
```

## 主要应用

### Cloud Control

云控制应用是本项目的主要应用之一，基于 Vue 3、TypeScript 和 Vite 构建。

## 快速开始

### 环境要求

- Node.js >= 18
- pnpm 9.0.0+

### 安装依赖

```bash
pnpm install
```

### 启动开发环境

```bash
# 启动所有应用
pnpm dev

# 仅启动云控制应用
pnpm devcloud
```

### 构建项目

```bash
# 构建所有应用
pnpm build

# 仅构建云控制应用
pnpm buildcloud
```

### 其他命令

```bash
# 代码检查
pnpm lint

# 类型检查
pnpm check-types

# 运行测试
pnpm test

# 清理项目
pnpm clear

# 同步项目
pnpm sync

# Cursor 备份
pnpm cursor:backup
```

## 开发规范

- 使用 TypeScript 编写所有代码
- 遵循函数式编程和声明式编程模式
- 使用 Vue 3 的 Composition API 和 `<script setup>` 语法
- 遵循 MVC 分离模式，区分状态 (useStore.tsx)、控制器 (useController.tsx) 和视图 (index.tsx)
- 使用 TSX 语法编写 Vue 组件，文件使用 .tsx 后缀
- 使用 JSDoc 注释函数、参数和返回值

## 贡献指南

欢迎提交 Pull Request 或提出 Issue。在贡献代码前，请确保遵循项目的代码风格和开发规范。
