# 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 脚手架工具** [![npm version](https://img.shields.io/npm/v/flu-cli.svg)](https://www.npmjs.com/package/flu-cli) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./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 火叶工作室