# {{projectName}}

## 项目结构

```
{{projectName}}/
├── apps/                    # 应用程序
│   ├── web-app/             # 网页端应用
│   └── mobile-app/         # 移动端应用
├── packages/               # 共享包
│   ├── communication/      # 通信模块
│   ├── api/               # API模块
│   └── logger/            # 日志模块
├── env/                   # 环境配置
├── scripts/               # 构建脚本
├── .vscode/              # VS Code配置
├── tsconfig.ts           # TypeScript基础配置
├── vite.config.ts        # Vite基础配置
├── eslint.config.js      # ESLint配置
├── prettier.config.js    # Prettier配置
├── .pnpmrc              # pnpm配置
├── .gitignore           # Git忽略文件
├── .gitattributes       # Git属性配置
├── .editorconfig        # 编辑器配置
└── pnpm-workspace.yaml  # pnpm工作区配置
```

## 特性

### 统一配置管理

- **Git配置**: `.gitignore`, `.gitattributes`
- **代码规范**: ESLint, Prettier, EditorConfig
- **VSCode配置**: 工作区设置和推荐扩展
- **环境变量**: 统一的环境配置管理
- **包管理**: `.pnpmrc` 配置

### 配置复用

- **TypeScript**: 通过 `tsconfig.ts` 统一配置
- **Vite**: 通过 `vite.config.ts` 和辅助函数复用配置
- **依赖管理**: pnpm workspace 实现依赖共享

## 快速开始

### 环境要求

- Node.js >=22.12.0
- pnpm >= 8.0.0

### 安装依赖

```bash
pnpm install
```

### 开发

```bash
# 启动PC端应用
pnpm dev

# 启动移动端应用
pnpm dev:mobile
```

### 构建

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

# 测试环境构建
pnpm build:test

# 生产环境构建
pnpm build:prod
```

### 测试

```bash
# 运行所有测试
pnpm test

# 单元测试
pnpm test:unit

# E2E测试
pnpm test:e2e
```

### 代码规范

```bash
# 代码检查
pnpm lint

# 自动修复
pnpm lint:fix

# 代码格式化
pnpm format

# 类型检查
pnpm type-check
```

## 开发指南

### 添加新的应用

1. 在 `apps/` 目录下创建新的应用目录
2. 配置应用的 `package.json`
3. 在根目录的 `package.json` 中添加相应的脚本
4. 更新 `.vscode/settings.json` 中的 `eslint.workingDirectories`

### 添加新的共享包

1. 在 `packages/` 目录下创建新的包目录
2. 配置包的 `package.json` 和 `tsconfig.ts`
3. 在需要使用的应用中添加依赖引用
4. 更新 `.vscode/settings.json` 中的 `eslint.workingDirectories`

### 环境配置

环境配置文件位于 `env/` 目录下：

- `.env.client.android` - Android客户端环境变量
- `.env.client.window` - Windows客户端环境变量
- `.env.lkl.develop` - 拉卡拉开发环境
- `.env.lkl.pre` - 拉卡拉预发布环境
- `.env.lkl.gray` - 拉卡拉灰度环境
- `.env.lkl.prod` - 拉卡拉生产环境
- `.env.tcsl.develop` - 商龙开发环境
- `.env.tcsl.pre` - 商龙预发布环境
- `.env.tcsl.gray` - 商龙灰度环境
- `.env.tcsl.prod` - 商龙生产环境

配置文件会在安装依赖时自动复制到各个应用目录。
