# ymcli - 多平台 Vue 项目脚手架工具

ymcli 是一个高效的命令行工具，帮助开发者快速创建和构建包含 PC、Web 和 Mobile 三个平台的 Vue 项目，统一项目结构与技术栈，提升开发效率。

## 功能特点

- 一键创建多平台项目架构（PC、Web、Mobile）
- 统一技术栈：Vue 3 + Vite + TypeScript
- 平台专属 UI 框架：
  - PC/Web：Element Plus
  - Mobile：Vant
- 内置路由（vue-router）、状态管理（pinia）和网络请求（axios）
- 支持分平台构建，输出到统一目录
- 自动生成项目配置文件和版本控制忽略规则

## 注意事项

目前 node.js 版本先固定为 20.19.4

```
nvm install 20.19.4
nvm use 20.19.4
```

需要安装 pnpm

```
npm install pnpm -g
```

项目创建过程中需要联网下载依赖包

构建前请确保已完成依赖安装

## 安装

通过 npm 全局安装：

```bash
npm install -g @falconnix/ymcli
```

## 使用指南

### 创建新项目

```bash
ymcli create <项目名称>
```

执行命令后，工具会引导你输入：

- `appId`：项目的唯一标识（必填）
- `name`：项目名称（必填）

创建完成后，项目结构如下：

```
<项目名称>/
├── app.json           # 项目配置文件
├── .gitignore         # Git忽略文件
├── pc/                # PC端项目（Element Plus）
├── web/               # Web端项目（Element Plus）
└── mobile/            # 移动端项目（Vant）
```

`app.json` 配置文件格式：

```json
{
  "appId": "用户输入的唯一标识",
  "name": "用户输入的项目名称",
  "icon": "",
  "permissions": [],
  "webEntrys": [],
  "pcEntrys": [],
  "mobileEntrys": []
}
```

### 开发

```
cd <项目名称>/web
pnpm dev
```

或

```
cd <项目名称>/mobile
pnpm dev
```

或

```
cd <项目名称>/pc
pnpm dev
```

可以单独进行页面功能的开发，只需要在 localStorage 中添加 token token 可以在 api 接口中黏贴一个过来。

### 构建项目

```bash
# 构建所有平台
ymcli build

# 仅构建指定平台
ymcli build pc    # 仅构建PC端
ymcli build web   # 仅构建Web端
ymcli build mobile # 仅构建移动端
```

构建结果会输出到项目根目录的 `dist` 文件夹下，按平台分类：

```
<项目名称>/
└── dist/
    ├── pc/        # PC端构建结果
    ├── web/       # Web端构建结果
    └── mobile/    # 移动端构建结果
```

## 技术栈详情

各平台项目均基于以下技术栈构建：

- 核心框架：Vue 3 + Vite + TypeScript
- 路由管理：vue-router
- 状态管理：pinia
- 网络请求：axios
- 代码规范：ESLint + Prettier（默认集成）

## 许可证

[MIT](LICENSE)
