# flu-cli
**Repository Path**: flu-cli/flu-cli
## Basic Information
- **Project Name**: flu-cli
- **Description**: Flutter MVVM 脚手架工具 - 现代化 CLI,极速创建 Flutter 项目
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-17
- **Last Updated**: 2025-12-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🚀 Flu-CLI
**Flutter MVVM 脚手架工具**
[](https://www.npmjs.com/package/flu-cli)
[](./LICENSE)
[文档](http://huozhiye.cn/flu-cli) | [快速开始](#-快速开始) | [VSCode 扩展](#-vscode-扩展)
---
## 📖 项目简介
Flu-CLI 是一个专为 Flutter 开发设计的 MVVM 脚手架工具,旨在提高开发效率和代码质量。本仓库采用 **Monorepo** 架构,统一管理 CLI 工具、核心逻辑库、VSCode 扩展和文档站点。
### ✨ 核心特性
- 🎯 **多模板支持** - lite(轻量级)、modular(模块化)、clean(Clean Architecture)
- � **多状态管理** - 支持 default、Provider、GetX、Riverpod
- ⚡️ **快速代码生成** - Page、Widget、Component、ViewModel、Service、Model、Module
- 📋 **列表页生成** - 基于 BaseListPage 的列表页快速生成
- 🔄 **代码片段同步** - 自动同步最新的 VS Code 代码片段
- 🎨 **自定义 Snippet** - 支持项目级自定义代码片段
- 🔌 **Shell 自动补全** - 支持 Bash / Zsh 命令自动补全
- 🖥️ **VSCode 扩展** - 可视化创建项目和组件(开发中)
---
## 🏗️ 项目架构
```mermaid
graph TB
subgraph "Monorepo 架构"
V2[packages/v2
主 CLI 工具
活跃开发]
V1[packages/v1
V1 版本
维护模式]
Core[packages/core
核心逻辑库
TypeScript]
VSCode[packages/vscode-extension
VSCode 扩展
开发中]
Docs[docs
VitePress 文档站点]
end
subgraph "模板仓库(同级目录)"
TL[template-lite
轻量级模板]
TM[template-modular
模块化模板]
TC[template-clean
Clean Architecture]
end
V2 --> Core
VSCode --> Core
V2 -.->|使用| TL
V2 -.->|使用| TM
V2 -.->|使用| TC
style V2 fill:#4CAF50
style Core fill:#2196F3
style VSCode fill:#FF9800
style Docs fill:#9C27B0
```
### 包说明
| 包 | 说明 | 状态 |
| ------------------------------------------------------------ | -------------------------------------------------------- | ----------- |
| **[packages/v2](./packages/v2)** | V2 CLI 工具,活跃开发,功能完整 | ✅ 主要版本 |
| **[packages/v1](./packages/v1)** | V1 CLI 工具,维护模式,仅修复关键 bug | 🔧 维护中 |
| **[packages/core](./packages/core)** | 核心逻辑库(TypeScript),供 v2 和 vscode-extension 共享 | 📦 库 |
| **[packages/vscode-extension](./packages/vscode-extension)** | VSCode 扩展,提供可视化操作 | 🧪 测试中 |
| **[docs](./docs)** | VitePress 文档站点 | 📚 文档 |
---
## 🚀 快速开始
### 用户安装
```bash
# 安装 V2(推荐)
npm install -g flu-cli
# 或安装 V1(维护版本)
npm install -g flu-cli@1
```
### 创建项目
```bash
# 交互式创建项目
flu-cli new
# 指定项目名和模板
flu-cli new my_app -t lite
# 指定状态管理
flu-cli new my_app -s getx
# 完整配置
flu-cli new my_app -t modular -s provider -d ~/projects
```
### 添加组件
```bash
# 添加页面(自动生成 ViewModel)
flu-cli add page home
flu-cli add p home # 简写
# 添加列表页
flu-cli add page user_list --list-page
# 添加组件
flu-cli add widget custom_button
# 添加 Service
flu-cli add service api --type api
# 添加 Model
flu-cli add model user
# 在功能模块下添加(modular/clean 模式)
flu-cli add page product -f shop
```
### 常用命令
```bash
# 查看可用模板
flu-cli templates
# 同步代码片段
flu-cli sync-snippets
# 生成状态管理代码
flu-cli generate-sm provider
# 更新模板缓存
flu-cli update-templates
# 查看帮助
flu-cli --help
flu-cli add --help
```
---
## 🛠️ 开发指南
### 环境要求
- Node.js >= 14.0.0
- npm 或 yarn
- Git
### 克隆仓库
```bash
# 克隆主仓库
git clone https://gitee.com/flu-cli/flu-cli.git
cd flu-cli
# 克隆模板仓库(同级目录)
cd ..
git clone https://gitee.com/flu-cli/template-lite.git
git clone https://gitee.com/flu-cli/template-modular.git
git clone https://gitee.com/flu-cli/template-clean.git
```
### 安装依赖
```bash
# 在 flu-cli 目录下
npm install
```
### 开发各个包
#### 开发 V2 CLI
```bash
# 开发模式(监听变化)
npm run dev:v2
# 或进入 packages/v2 目录
cd packages/v2
npm run dev
# 测试命令
node index.js new test_app
```
#### 开发 Core 库
```bash
# 构建 Core 库
npm run build:core
# 或进入 packages/core 目录
cd packages/core
# 监听模式构建
npm run dev
```
#### 开发 VSCode 扩展
```bash
cd packages/vscode-extension
# 安装依赖
npm install
# 编译
npm run compile
# 监听模式
npm run watch
# 在 VSCode 中按 F5 启动调试
```
#### 开发文档站点
```bash
# 启动文档开发服务器
npm run docs:dev
# 或进入 docs 目录
cd docs
npm run dev
# 构建文档
npm run docs:build
```
### 发布流程
```bash
# 发布 V2(latest tag)
npm run publish:v2
# 发布 V1(v1 tag)
npm run publish:v1
```
---
## 📚 相关资源
### 文档
- 📖 [在线文档](http://huozhiye.cn/flu-cli) - VitePress 文档站点
- 📝 [CLI 命令参考](./packages/v2/CLI.md) - 完整的命令列表和示例
- 🤝 [贡献指南](./CONTRIBUTING.md) - 如何参与贡献
- 📋 [更新日志](./CHANGELOG.md) - 版本变更记录
### 模板仓库
本项目的模板存放在同级目录中(需单独克隆):
- [template-lite](https://gitee.com/flu-cli/template-lite) - 轻量级模板
- [template-modular](https://gitee.com/flu-cli/template-modular) - 模块化模板
- [template-clean](https://gitee.com/flu-cli/template-clean) - Clean Architecture 模板
### 问题反馈
- [Gitee Issues](https://gitee.com/flu-cli/flu-cli/issues)
---
## 🎨 VSCode 扩展
VSCode 扩展正在测试中,提供可视化的项目创建和文件生成能力。
### 功能特性(已实现)
- ✅ 可视化创建项目(支持 Flutter 原生、Lite、Modular、Clean 模板)
- ✅ 自定义模板支持(Git 仓库和本地文件夹)
- ✅ 右键菜单生成文件(Page、Widget、Component、ViewModel、Model)
- ✅ 项目配置文件 (`.flu-cli.json`) 支持
- ✅ 配置初始化命令
- ✅ 智能代码片段集成
### 使用方法(开发版)
```bash
# 进入扩展目录
cd packages/vscode-extension
# 安装依赖
npm install
# 编译
npm run compile
# 在 VSCode 中按 F5 启动调试模式
```
详细使用说明见 [VSCode 扩展 README](./packages/vscode-extension/README.md)。
---
## 版本说明
### V1.x vs V2.x
| 特性 | V1.x | V2.x |
| -------------- | ------------- | ----------- |
| 状态 | 🔧 维护模式 | ✅ 活跃开发 |
| 功能更新 | ❌ 仅修复 bug | ✅ 持续添加 |
| 列表页生成 | ❌ | ✅ |
| Shell 自动补全 | ❌ | ✅ |
| 自定义 Snippet | ❌ | ✅ |
| 推荐使用 | - | ✅ |
**建议:** 新项目请使用 V2,现有 V1 项目可继续使用或迁移至 V2。
---
## 🤝 贡献
欢迎贡献代码、报告问题和提出建议!
查看 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解如何参与贡献。
### 贡献者
感谢所有为本项目做出贡献的开发者!
---
## 📄 许可证
[MIT License](./LICENSE) - Copyright © 2024 火叶工作室
---
## 🔗 旧版仓库(已归档)
如需查看历史版本独立仓库:
- `flutter-cli` - V1 CLI(已归档)
- `flu-cli-docs` - V2 文档(已归档)
- `hzy_vite_press` - V1 文档(已归档)
---
**如果这个项目对你有帮助,请给个 ⭐️ Star!**
Made with ❤️ by 火叶工作室