npm package: @lee42/cli-all
Description: 集合前端常见脚手架的命令行工具
Author: Your Name
Latest version: 1.2.3

# all-cli

🚀 **集合前端常见脚手架的命令行工具**

一个集成了主流前端框架脚手架的命令行工具，让你轻松选择和使用各种前端脚手架创建项目。

## ✨ 特性

- 🎯 **集成主流框架**: React、Vue、Angular、Svelte、Solid 等
- 🔄 **交互式选择**: 上下箭头键选择，操作简单直观
- 📖 **查看使用方式**: 快速查看脚手架使用方法
- 🌐 **一键打开官网**: 直接在浏览器中打开官方文档
- 🚀 **直接创建项目**: 交互式创建新项目
- 🎨 **美观界面**: 彩色输出和图标，用户体验友好

## 📦 安装

### 全局安装 (推荐)

```bash
npm install -g all-cli
```

### 本地运行

```bash
# 克隆仓库
git clone https://github.com/your-username/all-cli.git
cd all-cli

# 安装依赖
npm install

# 运行
npm start
```

## 🚀 使用方法

### 查看所有可用脚手架

```bash
all-cli list
```

### 查看特定框架的脚手架

```bash
all-cli react    # 查看 React 相关脚手架
all-cli vue      # 查看 Vue 相关脚手架
all-cli angular  # 查看 Angular 相关脚手架
```

### 搜索脚手架工具

```bash
all-cli search react     # 搜索包含 "react" 的脚手架
all-cli search vite      # 搜索包含 "vite" 的脚手架
all-cli search mobile    # 搜索移动端相关脚手架
```

### 其他实用命令

```bash
all-cli update    # 检查 all-cli 工具更新
all-cli config    # 配置管理
all-cli lang      # 语言切换
all-cli --version # 查看当前版本
all-cli --help    # 查看帮助信息
```

### 国际化支持

all-cli 支持多语言界面，目前支持：

- **简体中文** (zh-CN) - 默认语言
- **English** (en-US)

**切换语言：**

```bash
# 交互式语言选择
all-cli lang

# 直接切换到英文
all-cli lang en-US

# 直接切换到中文
all-cli lang zh-CN
```

**语言设置：**
- 语言设置会自动保存到用户配置中
- 下次使用时会自动使用上次选择的语言
- 部分界面元素需要重新运行命令才能生效

### 支持的框架

| 框架 | 命令 | 包含的脚手架工具 |
|------|------|------------------|
| **React** | `all-cli react` | Create React App, Vite + React, Next.js |
| **Vue** | `all-cli vue` | Vue CLI, Vite + Vue, Nuxt.js |
| **Angular** | `all-cli angular` | Angular CLI |
| **Vite** | `all-cli vite` | Vite (通用) |
| **Svelte** | `all-cli svelte` | SvelteKit, Vite + Svelte |
| **Solid** | `all-cli solid` | Solid Start, Vite + Solid |
| **Preact** | `all-cli preact` | Preact CLI, Vite + Preact |
| **Lit** | `all-cli lit` | Lit Starter Kit |
| **Electron** | `all-cli electron` | Electron Forge |
| **Mobile** | `all-cli mobile` | React Native, Expo, Ionic |

## 🎮 交互操作

选择框架后，你可以进行以下操作：

- 📖 **查看使用方式**: 显示具体的命令和使用方法
- 🌐 **查看官方网站**: 在浏览器中打开官方文档
- 🚀 **直接使用**: 交互式创建新项目
- 🔙 **返回上级菜单**: 返回重新选择

## 📸 使用截图

### 主界面
```
     _    _     _           ____ _     ___ 
    / \  | |   | |         / ___| |   |_ _|
   / _ \ | |   | |   _____| |   | |    | | 
  / ___ \| |___| |__|_____| |___| |___ | | 
 /_/   \_\_____|_____|     \____|_____|___|
                                           
🚀 集合前端常见脚手架的命令行工具
```

### 脚手架列表
```
📦 可用的脚手架工具:

* react
  JavaScript 库，用于构建用户界面
  - npx create-react-app
  - npm create vite@latest
  - npx create-next-app@latest

* vue
  渐进式 JavaScript 框架
  - vue create
  - npm create vue@latest
  - npx nuxi@latest init
```

## 🔧 开发

### 项目结构

```
all-cli/
├── bin/
│   └── index.js              # CLI 入口文件
├── src/
│   ├── index.js              # 主程序
│   ├── commands/             # 命令处理
│   │   ├── list.js           # list 命令
│   │   ├── framework.js      # 框架特定命令
│   │   └── interactive.js    # 交互式选择
│   ├── data/
│   │   └── scaffolds.js      # 脚手架数据配置
│   └── utils/
│       ├── logger.js         # 日志工具
│       └── executor.js       # 命令执行器
├── package.json
└── README.md
```

### 本地开发

```bash
# 安装依赖
npm install

# 开发模式运行
npm run dev

# 测试命令
node bin/index.js --help
node bin/index.js list
node bin/index.js react
```

### 添加新的脚手架

编辑 `src/data/scaffolds.js` 文件，按照以下格式添加：

```javascript
newframework: {
  name: '框架名称',
  description: '框架描述',
  tools: [
    {
      name: '脚手架名称',
      command: '执行命令',
      description: '脚手架描述',
      website: '官网链接',
      usage: '使用示例'
    }
  ]
}
```

## 📝 更新日志

### v1.1.0
- 🌍 **新增国际化支持**: 支持简体中文和英文界面
- 🔧 **新增语言切换命令**: `all-cli lang` 快速切换界面语言
- ⚙️ **增强配置管理**: 支持语言设置保存和恢复
- 🎨 **优化用户体验**: 双语帮助信息和错误提示

### v1.0.0
- ✨ 初始版本发布
- 🎯 支持 10+ 种主流前端框架
- 🔄 交互式选择功能
- 📖 查看使用方式和官方文档
- 🚀 直接创建项目功能

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

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

## 🙏 致谢

感谢所有前端框架和脚手架工具的开发者们！

---

**如果这个项目对你有帮助，请给个 ⭐️ Star！**