# flu-cli-v1
**Repository Path**: tengteng_fan/flu-cli-v1
## Basic Information
- **Project Name**: flu-cli-v1
- **Description**: FluCli 是由火之夜工作室开发的强大Flutter项目脚手架工具,旨在简化Flutter项目的创建和配置过程。它提供了从极简原型到企业级应用的全场景解决方案。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: dev
- **Homepage**: http://huozhiye.cn/flu-cli/
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2025-04-27
- **Last Updated**: 2026-03-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Flu CLI 工具
> **flu-cli** 是一个强大的 Flutter 项目脚手架工具,可以帮助您快速创建和配置项目。
[](https://www.npmjs.com/package/flu-cli)
[](https://gitee.com/tengteng_fan/flutter-cli/blob/main/LICENSE)
[](https://www.npmjs.com/package/flu-cli)
## 📋 目录
- [🚀 快速开始](#-快速开始)
- [📦 安装](#-安装)
- [🛠️ 使用方法](#️-使用方法)
- [交互式向导](#交互式向导)
- [项目模版对比](#项目模版对比)
- [命令行创建](#命令行创建)
- [📁 项目结构](#-项目结构)
- [🏃 运行与调试](#-运行与调试)
- [📚 进阶指南](#-进阶指南)
- [🔧 兼容性说明](#-兼容性说明)
## 🚀 快速开始
```bash
# 全局安装
npm install -g flu-cli
# 创建项目
flu-cli
# 或使用 npx(无需安装)
npx flu-cli
```
## 📦 安装
您可以通过以下方式安装 flu-cli:
| 安装方式 | NPM | PNPM | Yarn |
| -------------- | ------------------------ | --------------------- | ------------------------- |
| **全局安装** | `npm install -g flu-cli` | `pnpm add -g flu-cli` | `yarn global add flu-cli` |
| **项目内安装** | `npm install flu-cli` | `pnpm add flu-cli` | `yarn add flu-cli` |
> 💡 **推荐使用全局安装**,这样可以在任何地方使用 `flu-cli` 命令。
## 🛠️ 使用方法
### 交互式向导
flu-cli 附带一个命令行设置向导,它将帮助您构建一个基本项目。安装后,您可以通过运行以下命令启动向导:
```bash
# 如果全局安装
flu-cli
# 或者使用 npx
npx flu-cli
```
运行向导后,根据提示输入项目信息,如项目名称、包名、项目类型、模板类型、状态管理方案等。向导会自动生成项目结构并配置相关文件。
📋 向导示例(点击展开)
```bash
欢迎使用 火之夜工作室 Flutter 项目创建工具
? 请选择项目类型: (Use arrow keys)
❯ 应用 (app)
模块 (module)
原生插件 (plugin)
插件 (package)
? 请选择项目模版: (Use arrow keys)
only (main.dart)
min (项目结构、路由管理、主题管理、状态管理、工具集)
normal (项目结构、路由管理、主题管理、状态管理、工具集、UI 组件库)
❯ pro (项目结构、路由管理、主题管理、状态管理、工具集、UI 组件库、网络请求、数据缓存、示例模块)
? 请选择状态管理: (Use arrow keys)
❯ state (State)
get (GetX)
? 请输入新项目名称(小写字母、数字和下划线): (hzy_example_project)
? 请输入 Flutter SDK 路径(留空使用系统默认):
? 请输入包名: (com.example.hzy_example_project)
? 请输入项目存放路径: (默认: 当前目录)
⚠️ 警告: 目标目录 hzy_example_project 已存在!
? 是否覆盖? (y/N)
? 请选择要打开项目的 IDE: (Use arrow keys)
❯ Visual Studio Code
Android Studio
打开文件夹
不打开
```
### 项目模版对比
| 功能特性 | 🔹 only | 🔸 min | 🔶 normal | 🔥 pro |
| :----------------------- | :-----: | :----: | :-------: | :----: |
| **基础入口 (main.dart)** | ✅ | ✅ | ✅ | ✅ |
| **标准项目结构** | ❌ | ✅ | ✅ | ✅ |
| **路由管理系统** | ❌ | ✅ | ✅ | ✅ |
| **主题管理系统** | ❌ | ✅ | ✅ | ✅ |
| **状态管理方案** | ❌ | ✅ | ✅ | ✅ |
| **开发工具集** | ❌ | ✅ | ✅ | ✅ |
| **UI 组件库** | ❌ | ❌ | ✅ | ✅ |
| **网络请求框架** | ❌ | ❌ | ❌ | ✅ |
| **数据持久化** | ❌ | ❌ | ❌ | ✅ |
#### 模版说明
- 🔹 **only**:仅保留最小运行单元(适合验证核心功能)
- 🔸 **min**:三大基石(路由/主题/状态管理)
- 🔶 **normal**:增加 UI 组件库(提升开发效率)
- 🔥 **pro**:完整解决方案(含网络层+数据持久化)
> 📖 想了解更多项目模版区别,请查看 [项目模版详细说明](http://huozhiye.cn/flu-cli/guide/project-template.html)。
### 命令行创建
可以直接通过命令行参数指定所有配置,无需交互式输入:
#### 基本语法
```bash
flu-cli create [options]
```
#### 使用示例
##### 🔥 Pro 模版(推荐)
```bash
flu-cli create -t app -m pro -s GetX -n my_flutter_app -p com.example.myapp -d ~/projects -i vscode
```
##### 🔶 Normal 模版
```bash
flu-cli create -t module -m normal -s state -n my_flutter_module -p com.example.mymodule -d ~/projects -i android_studio
```
##### 🔸 Min 模版
```bash
flu-cli create -t app -m min -n quick_start -p com.example.quick -d ~/projects
```
##### 🔹 Only 模版
```bash
flu-cli create -t app -m only -n quick_start -p com.example.quick -d ~/projects
```
##### 默认配置(使用向导)
```bash
flu-cli create
```
#### 参数说明
| 参数 | 说明 | 可选值 | 必选 | 示例 |
| :-------------------- | :--------------- | :-------------------------------------------------- | :--- | :--------------------- |
| `-t, --project-type` | 项目类型 | `app`, `module`, `package`, `plugin` | ✅ | `-t app` |
| `-m, --template-type` | 模板类型 | `only`, `min`, `normal`, `pro` | ✅ | `-m pro` |
| `-s, --state-manager` | 状态管理方案 | `state`, `GetX`, `Riverpod` | ❌ | `-s GetX` |
| `-n, --project-name` | 项目名称 | 小写字母、数字和下划线组合 | ✅ | `-n my_app` |
| `-p, --package-name` | 包名 | 类似 Java 包名格式 | ✅ | `-p com.example.myapp` |
| `-d, --parent-dir` | 存放目录 | 绝对路径或相对路径 | ❌ | `-d ~/projects` |
| `-i, --ide` | IDE 选择 | `vscode`, `android_studio`, `open_folder`, `manual` | ❌ | `-i vscode` |
| `-f, --flutter-sdk` | Flutter SDK 路径 | 默认为系统环境变量中的 flutter | ❌ | `-f /path/to/flutter` |
| `-h, --help` | 显示帮助信息 | - | ❌ | `--help` |
> 📚 有关更多命令行用法的文档,请参阅 [CLI 参考文档](http://huozhiye.cn/flu-cli/eg/cli-des.html)。
## 📁 项目结构
以下是基于 **GetX** 的完整商业项目结构,清晰的项目结构有助于团队协作和代码维护。
```
📦 your_project_name/
├── 📁 .vscode/ # VS Code 配置文件
│ ├── 📄 extensions.json # 插件推荐
│ ├── 📄 launch.json # 调试配置
│ ├── 📄 settings.json # 编辑器设置
│ └── 📄 dart.code-snippets # 代码片段
├── 📁 assets/ # 静态资源文件
│ ├── 📁 fonts/ # 字体文件
│ ├── 📁 images/ # 图片资源
│ └── 📁 json/ # 本地数据
├── 📁 lib/ # 项目核心代码
│ ├── 📁 common/ # 公共组件和工具
│ ├── 📁 config/ # 应用配置
│ ├── 📁 eg_module/ # 示例模块
│ ├── 📁 init/ # 初始化逻辑
│ ├── 📄 main.dart # 应用入口文件
│ ├── 📁 models/ # 数据模型
│ ├── 📁 network/ # 网络请求
│ ├── 📁 pages/ # 页面文件
│ ├── 📁 tools/ # 工具类
│ ├── 📁 vm/ # 视图模型
│ └── 📁 widgets/ # UI 组件
├── 📄 pubspec.yaml # 项目配置文件
├── 📄 analysis_options.yaml # 代码分析配置
└── 📄 README.md # 项目说明文档
```
### 📋 目录说明
| 目录/文件 | 说明 | 用途 |
| ----------------- | ------------ | ---------------------------------- |
| 📁 `.vscode/` | VS Code 配置 | 包含编辑器配置、调试设置和代码片段 |
| 📁 `assets/` | 静态资源 | 存放图片、字体、本地数据等资源文件 |
| 📁 `lib/common/` | 公共模块 | 公共组件、工具类、常量定义 |
| 📁 `lib/config/` | 应用配置 | 环境配置、主题配置、路由配置 |
| 📁 `lib/network/` | 网络层 | HTTP 请求、API 接口、数据处理 |
| 📁 `lib/pages/` | 页面 | 应用的各个页面和子页面 |
| 📁 `lib/widgets/` | UI 组件 | 可复用的自定义 Widget 组件 |
| 📁 `lib/models/` | 数据模型 | 实体类、数据传输对象 |
| 📁 `lib/vm/` | 视图模型 | 状态管理、业务逻辑处理 |
## 🏃 运行与调试
### 基本运行步骤
```bash
# 1. 进入项目目录
cd /your_project_path/your_project_name
# 2. 获取依赖包
flutter pub get
# 3. 运行项目(开发模式)
flutter run
# 4. 构建发布版本
flutter build apk # Android
flutter build ios # iOS
```
### 🛠️ 开发工具推荐
| 工具 | 用途 | 推荐指数 |
| ------------------------ | -------------- | ---------- |
| 🔧 **VS Code** | 轻量级编辑器 | ⭐⭐⭐⭐⭐ |
| 🔧 **Android Studio** | 功能完整的 IDE | ⭐⭐⭐⭐ |
| 🔧 **Flutter Inspector** | UI 调试工具 | ⭐⭐⭐⭐⭐ |
| 🔧 **Dart DevTools** | 性能分析工具 | ⭐⭐⭐⭐ |
## 📚 进阶指南
🎉 恭喜您完成了 `flu-cli` 的基础配置!
### 🚀 推荐后续操作
- 📖 **深入学习**:查看 [高级特性文档](http://huozhiye.cn/flu-cli/tutorial/base-normal-ui.html)
- 🤝 **项目模版**:访问 [仓库](https://gitee.com/tengteng_fan/hzy_basic_project)
- 📚 **官方文档**:[flu-cli 完整文档](http://huozhiye.cn/flu-cli/)
- 💬 **社区支持**:加入开发者交流群
### 📖 相关资源
- [Flutter 官方文档](https://flutter.dev/docs)
- [GetX 状态管理](https://github.com/jonataslaw/getx)
- [Dart 语言指南](https://dart.dev/guides)
---
## 🔧 兼容性说明
### 系统要求
| 环境 | 最低版本 | 推荐版本 | 状态 |
| --------------- | ------------- | ------------- | ------- |
| 🐦 **Flutter** | 3.0.0+ | 3.16.0+ | ✅ 支持 |
| 🟢 **Node.js** | 14.0.0+ | 18.0.0+ | ✅ 支持 |
| 🖥️ **操作系统** | - | - | - |
| └─ Windows | 10+ | 11 | ✅ 支持 |
| └─ macOS | 10.14+ | 13.0+ | ✅ 支持 |
| └─ Linux | Ubuntu 18.04+ | Ubuntu 22.04+ | ✅ 支持 |
### 📱 目标平台
- ✅ **Android** 5.0+ (API 21+)
- ✅ **iOS** 11.0+
- ✅ **Web** (Chrome, Safari, Firefox)
- ✅ **Desktop** (Windows, macOS, Linux)
---
**🎉 祝您使用 `flu-cli` 开发愉快!**
[](https://gitee.com/tengteng_fan/flutter-cli)
[](https://gitee.com/tengteng_fan/flutter-cli)