flu-cli 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLI.md CHANGED
@@ -15,26 +15,42 @@ flu-cli add page home
15
15
  flu-cli --help
16
16
  ```
17
17
 
18
+ ## 新增特性(v2)
19
+
20
+ - 自定义模板管理:支持从本地目录或 Git 仓库添加模板,并在交互式创建时与内置模板一起选择。
21
+ - 项目生成配置:支持在项目根使用 `.flu-cli.json` 配置生成器默认行为(路径、页面类型、是否绑定 ViewModel 等)。
22
+ - 生成联动:CLI 与 VSCode 扩展均会读取 `.flu-cli.json`,保持生成路径与风格一致。
23
+ - Riverpod 原生支持:可选择 Riverpod 状态管理并生成原生风格的 VM/页面(如果模板包含入口片段会自动包裹 `ProviderScope`)。
24
+
18
25
  ## 命令列表
19
26
 
20
27
  ### 1. `new` - 创建项目
21
28
 
22
29
  创建一个新的 Flutter 项目,支持多种模板和状态管理器。
23
30
 
24
- **用法:**
31
+ **选项:**
32
+
25
33
  ```bash
26
34
  flu-cli new [项目名称] [选项]
27
35
  flu-cli n [项目名称] # 简写
28
36
  ```
29
37
 
30
38
  **选项:**
31
- - `-t, --template <type>` - 模板类型: `lite`, `modular`, `clean`
32
- - `-s, --state <type>` - 状态管理器: `default`, `provider`, `getx`, `riverpod`
33
- - `-d, --dir <path>` - 项目存放目录(默认:当前目录)
34
- - `--no-cache` - 不使用缓存,强制从 Git 拉取
35
- - `--remote` - 使用远程 Gitee 模板(默认使用本地模板)
39
+
40
+ - `-t, --template <type>` - 模板类型: `lite`, `modular`, `clean`
41
+ - `-s, --state <type>` - 状态管理器: `default`, `provider`, `getx`, `riverpod`
42
+ - `-d, --dir <path>` - 项目存放目录(默认:当前目录)
43
+ - `--no-cache` - 不使用缓存,强制从 Git 拉取
44
+ - `--remote` - 使用远程 Gitee 模板(默认使用本地模板)
45
+
46
+ **说明:**
47
+
48
+ - 交互式创建时会展示“内置模板 + 你通过 `template add` 保存的自定义模板”,可直接选择。
49
+ - 模板复制后会执行占位符替换(如 `{{projectName}}`、`{{package_name}}`)并校正 `pubspec.yaml` 的 `name`。
50
+ - 已存在 `.flu-cli.json` 的项目中再次生成文件时,会遵循其中的路径与风格设置。
36
51
 
37
52
  **示例:**
53
+
38
54
  ```bash
39
55
  # 交互式创建(推荐)
40
56
  flu-cli new
@@ -56,6 +72,7 @@ flu-cli new my_app -t modular -s provider -d ~/projects
56
72
  在当前项目中添加各种代码组件。
57
73
 
58
74
  **用法:**
75
+
59
76
  ```bash
60
77
  flu-cli add <类型> <名称> [选项]
61
78
  flu-cli a <类型> <名称> # 简写
@@ -63,27 +80,34 @@ flu-cli a <类型> <名称> # 简写
63
80
 
64
81
  **支持的类型及别名:**
65
82
 
66
- | 类型 | 别名 | 说明 |
67
- |------|------|------|
68
- | `page` | `p` | 页面组件 |
69
- | `widget` | `w` | 通用组件 |
70
- | `component` | `c` | 业务组件 |
71
- | `viewmodel` | `v` | ViewModel |
72
- | `service` | `s` | 服务层 |
73
- | `model` | `m` | 数据模型 |
74
- | `module` | `mod` | 完整功能模块 |
83
+ | 类型 | 别名 | 说明 |
84
+ | ----------- | ----- | ------------ |
85
+ | `page` | `p` | 页面组件 |
86
+ | `widget` | `w` | 通用组件 |
87
+ | `component` | `c` | 业务组件 |
88
+ | `viewmodel` | `v` | ViewModel |
89
+ | `service` | `s` | 服务层 |
90
+ | `model` | `m` | 数据模型 |
91
+ | `module` | `mod` | 完整功能模块 |
75
92
 
76
93
  **选项:**
77
- - `-f, --feature <name>` - 所属功能模块(仅 modular/clean 模式)
78
- - `--stateful` - 创建 StatefulWidget
79
- - `--stateless` - 强制创建 StatelessWidget
80
- - `--list-page` - 创建列表页 (BaseListPage)
81
- - `--no-vm` - 不生成 ViewModel(仅 page 类型)
82
- - `--type <type>` - Service 类型: `api`, `storage`, `auth`(仅 service 类型)
83
- - `--json <file>` - JSON 文件生成(仅 model 类型)
84
- - `--list` - 查看支持的类型列表
94
+
95
+ - `-f, --feature <name>` - 所属功能模块(仅 modular/clean 模式)
96
+ - `--stateful` - 创建 StatefulWidget
97
+ - `--stateless` - 强制创建 StatelessWidget
98
+ - `--list-page` - 创建列表页 (BaseListPage)
99
+ - `--no-vm` - 不生成 ViewModel(仅 page 类型)
100
+ - `--type <type>` - Service 类型: `api`, `storage`, `auth`(仅 service 类型)
101
+ - `--json <file>` - 从 JSON 文件生成(仅 model 类型)
102
+ - `--list` - 查看支持的类型列表
103
+
104
+ **说明:**
105
+
106
+ - 若项目根存在 `.flu-cli.json`,`add` 会遵循其中的路径与默认类型(如 `generators.page.path`、`defaultType`、`withViewModel`)。
107
+ - 在 `modular/clean` 模板下可用 `-f <feature>` 指定模块以生成到模块目录结构(如 `lib/features/user/...`)。
85
108
 
86
109
  **示例:**
110
+
87
111
  ```bash
88
112
  # 添加页面(自动生成 ViewModel)
89
113
  flu-cli add page home
@@ -111,6 +135,25 @@ flu-cli add m user # 简写
111
135
  flu-cli add page product -f shop
112
136
  ```
113
137
 
138
+ ### 2.5 `service` - 服务层
139
+
140
+ 生成 API、存储等服务。
141
+
142
+ **选项:**
143
+
144
+ - `-f, --feature <name>` - 指定功能模块
145
+ - `--type <type>` - 服务类型: api, storage, auth (默认: api) [**已废弃**: 默认生成基础 Service 结构]
146
+
147
+ **示例:**
148
+
149
+ ```bash
150
+ # 生成 User 服务
151
+ flu-cli add service user
152
+
153
+ # 在 auth 模块中生成 AuthService
154
+ flu-cli add service auth --feature auth
155
+ ```
156
+
114
157
  ---
115
158
 
116
159
  ### 3. `templates` - 模板管理
@@ -118,12 +161,14 @@ flu-cli add page product -f shop
118
161
  查看可用模板列表或指定模板的详细信息。
119
162
 
120
163
  **用法:**
164
+
121
165
  ```bash
122
166
  flu-cli templates [模板名称]
123
167
  flu-cli t [模板名称] # 简写
124
168
  ```
125
169
 
126
170
  **示例:**
171
+
127
172
  ```bash
128
173
  # 查看所有模板
129
174
  flu-cli templates
@@ -135,67 +180,119 @@ flu-cli t modular # 简写
135
180
 
136
181
  ---
137
182
 
138
- ### 4. `generate-sm` - 生成状态管理代码
183
+ ### 9. `template` - 自定义模板管理(新增)
139
184
 
140
- 为现有项目生成状态管理适配与配置。
185
+ 用于管理你自己的项目模板,支持从本地目录或 Git 仓库新增模板,并持久化到 `~/.flu-cli/config.json`。在交互式创建项目时,这些模板会与内置模板一起展示并可直接选择。
141
186
 
142
187
  **用法:**
188
+
143
189
  ```bash
144
- flu-cli generate-sm <类型>
145
- flu-cli g <类型> # 简写
190
+ flu-cli template # 查看所有自定义模板(同 list)
191
+ flu-cli template list # 列出所有模板
192
+ flu-cli template add <id> <source> [选项]
193
+ flu-cli template remove <id>
146
194
  ```
147
195
 
148
196
  **选项:**
149
- - `-d, --dir <path>` - 项目目录(默认:当前目录)
150
- - `-m, --module <name>` - 模块名称(modular/clean 支持分模块适配器)
197
+
198
+ - `--local` 使用本地目录作为模板(`source` 为路径)
199
+ - `-n, --name <name>` 显示名称(可选)
200
+ - `-b, --branch <branch>` Git 模板分支(默认 `main`)
201
+ - `-d, --description <text>` 模板描述
202
+ - `-f, --force` 覆盖已存在的同名模板
151
203
 
152
204
  **示例:**
205
+
153
206
  ```bash
154
- # 生成 Provider 状态管理
155
- flu-cli generate-sm provider
207
+ # 添加本地模板
208
+ flu-cli template add my-lite /path/to/my-template --local -n "我的 Lite 模板" -d "带业务框架的轻量模板"
156
209
 
157
- # 生成 GetX 状态管理
158
- flu-cli g getx # 简写
210
+ # 添加 Git 模板
211
+ flu-cli template add company-clean https://github.com/org/clean-template.git -b main -n "公司 Clean 模板"
212
+
213
+ # 列出/移除模板
214
+ flu-cli template list
215
+ flu-cli template remove my-lite
159
216
  ```
160
217
 
218
+ **说明:**
219
+
220
+ - 模板会缓存到 `~/.flu-cli/templates/<id>/`,创建项目时会从缓存复制。
221
+ - 交互式 `flu-cli new` 会把自定义模板和内置模板一起展示,并支持预览说明。
222
+ - 选择 Git 模板时会从远端克隆到缓存目录;选择本地模板时会直接复制到缓存目录。
223
+
161
224
  ---
162
225
 
163
- ### 5. `sync-snippets` - 同步代码片段
226
+ ### 10. `config` - 项目生成配置(新增)
164
227
 
165
- 将最新的标准 VS Code 代码片段同步到当前项目。
228
+ 初始化并管理项目根目录下的 `.flu-cli.json`,用于声明生成器的默认行为(路径、页面类型、是否绑定 ViewModel 等)。VSCode 扩展与 v2 的生成命令都会读取该文件。
166
229
 
167
230
  **用法:**
231
+
168
232
  ```bash
169
- flu-cli sync-snippets
170
- flu-cli sync # 简写
233
+ flu-cli config init [选项]
171
234
  ```
172
235
 
173
- **说明:**
174
- - 该命令会覆盖项目的 `.vscode/dart.code-snippets` 文件。
175
- - 新项目创建时会自动同步,无需手动执行。
236
+ **选项:**
237
+
238
+ - `-d, --dir <path>` 目标项目目录(默认当前目录)
239
+ - `-f, --force` 覆盖已存在的配置文件
176
240
 
177
241
  **示例:**
242
+
178
243
  ```bash
179
- # 同步标准代码片段
180
- flu-cli sync-snippets
244
+ # 在当前项目生成配置
245
+ flu-cli config init
246
+
247
+ # 指定项目目录并覆盖旧配置
248
+ flu-cli config init -d ~/projects/my_app -f
249
+ ```
250
+
251
+ **.flu-cli.json 示例(简化):**
252
+
253
+ ```json
254
+ {
255
+ "generators": {
256
+ "page": {
257
+ "path": "lib/pages",
258
+ "defaultType": "stateful",
259
+ "withViewModel": true
260
+ },
261
+ "viewModel": {
262
+ "path": "lib/viewmodels"
263
+ },
264
+ "model": {
265
+ "path": "lib/models"
266
+ }
267
+ }
268
+ }
181
269
  ```
182
270
 
271
+ **说明:**
272
+
273
+ - 初始化时会根据项目模板(lite/modular/clean)生成匹配的默认路径。
274
+ - VSCode 插件的“生成文件”命令会优先使用 `.flu-cli.json` 中的设置,无需每次选择类型。
275
+ - 可在自定义模板中提供示例 `.flu-cli.json`,在创建后运行 `flu-cli config init -f` 以覆盖为团队约定。
276
+
183
277
  ---
184
278
 
185
- ### 6. `update-templates` - 更新模板缓存
279
+ ### 5. `update-templates` - 更新模板缓存
186
280
 
187
281
  更新本地模板缓存到最新版本。
188
282
 
189
283
  **用法:**
284
+
190
285
  ```bash
191
286
  flu-cli update-templates [模板名称]
192
287
  flu-cli u [模板名称] # 简写
193
288
  ```
194
289
 
195
290
  **选项:**
196
- - `--force` - 强制刷新并清理未跟踪文件
291
+
292
+ - `--force` - 强制刷新并清理未跟踪文件
197
293
 
198
294
  **示例:**
295
+
199
296
  ```bash
200
297
  # 更新所有模板
201
298
  flu-cli update-templates
@@ -209,20 +306,23 @@ flu-cli update-templates --force
209
306
 
210
307
  ---
211
308
 
212
- ### 7. `cache` - 缓存管理
309
+ ### 6. `cache` - 缓存管理
213
310
 
214
311
  管理本地模板缓存。
215
312
 
216
313
  **用法:**
314
+
217
315
  ```bash
218
316
  flu-cli cache <action>
219
317
  flu-cli c <action> # 简写
220
318
  ```
221
319
 
222
320
  **支持的操作:**
223
- - `clean` - 清理缓存
321
+
322
+ - `clean` - 清理缓存
224
323
 
225
324
  **示例:**
325
+
226
326
  ```bash
227
327
  # 清理缓存
228
328
  flu-cli cache clean
@@ -231,17 +331,19 @@ flu-cli c clean # 简写
231
331
 
232
332
  ---
233
333
 
234
- ### 8. `completion` - 自动补全
334
+ ### 7. `completion` - 自动补全
235
335
 
236
336
  生成 Shell 自动补全脚本(支持 Bash/Zsh)。
237
337
 
238
338
  **用法:**
339
+
239
340
  ```bash
240
341
  flu-cli completion
241
342
  flu-cli comp # 简写
242
343
  ```
243
344
 
244
345
  **安装方法:**
346
+
245
347
  ```bash
246
348
  # Zsh
247
349
  flu-cli completion >> ~/.zshrc
@@ -254,9 +356,26 @@ source ~/.bashrc
254
356
 
255
357
  ---
256
358
 
359
+ ## 常见问题 (FAQ)
360
+
361
+ **Q: `add page` 默认生成的代码不符合我的项目结构怎么办?**
362
+
363
+ A: Flu CLI 是为特定架构(MVVM + Provider)设计的。如果您使用完全自定义的架构,建议:
364
+
365
+ 1. 使用 `--no-vm` 仅生成页面。
366
+ 2. 或者,Fork 本项目并修改模板代码以适配您的团队规范。
367
+ 3. 利用 VSCode 插件自带的代码片段 (Snippets) 快速编写代码,而不是依赖 CLI 生成。
368
+
369
+ **Q: 为什么生成的 Service 很简单?**
370
+
371
+ A: 我们移除了原来复杂的 Service 模板,只生成最基础的类结构。这样您可以自由选择使用 `http`, `dio` 还是其他网络库,而不受 CLI 预设逻辑的限制。
372
+
373
+ ---
374
+
257
375
  ## 常见工作流
258
376
 
259
377
  ### 创建新项目
378
+
260
379
  ```bash
261
380
  flu-cli new my_app
262
381
  cd my_app
@@ -265,19 +384,56 @@ flu-cli add page home
265
384
  flu-cli add page user_list --list-page
266
385
  ```
267
386
 
387
+ ### 使用自定义模板创建项目
388
+
389
+ ````bash
390
+ # 添加模板(本地或 Git)
391
+ flu-cli template add my-lite /path/to/my-template --local
392
+ # 或
393
+ flu-cli template add company-clean https://github.com/org/clean-template.git -b main
394
+
395
+ # 交互式选择自定义模板并创建
396
+ flu-cli new
397
+
398
+ # 初始化项目生成配置(让 VSCode/CLI 生成遵循你的路径约定)
399
+ flu-cli config init
400
+
401
+ ### 基于配置快速生成页面/VM
402
+ ```bash
403
+ # 初始化配置后:
404
+ flu-cli add page home # 路径/类型按 .flu-cli.json 生效
405
+ flu-cli add viewmodel home # VM 路径按配置生效
406
+ flu-cli add model user # Model 路径按配置生效
407
+ ````
408
+
409
+ ### 更新模板缓存与故障排除
410
+
411
+ ```bash
412
+ # 更新缓存到最新
413
+ flu-cli update-templates [模板ID]
414
+
415
+ # 模板拉取失败或缓存异常
416
+ flu-cli cache clean
417
+ flu-cli new my_app --no-cache
418
+ ```
419
+
420
+ ````
421
+
268
422
  ### 在现有项目中使用
423
+
269
424
  ```bash
270
425
  cd existing_project
271
426
 
272
- # 同步代码片段
273
- flu-cli sync-snippets
427
+ # 初始化配置文件
428
+ flu-cli config init
274
429
 
275
430
  # 添加组件
276
431
  flu-cli add page settings
277
- flu-cli add service api --type api
278
- ```
432
+ flu-cli add service api
433
+ ````
279
434
 
280
435
  ### Modular 架构项目
436
+
281
437
  ```bash
282
438
  flu-cli new my_app -t modular
283
439
  cd my_app
@@ -295,10 +451,12 @@ flu-cli add page profile -f user
295
451
  ## 全局选项
296
452
 
297
453
  所有命令都支持以下选项:
298
- - `-V, --version` - 查看版本号
299
- - `-h, --help` - 查看帮助信息
454
+
455
+ - `-V, --version` - 查看版本号
456
+ - `-h, --help` - 查看帮助信息
300
457
 
301
458
  **示例:**
459
+
302
460
  ```bash
303
461
  flu-cli --version
304
462
  flu-cli add --help
@@ -309,20 +467,24 @@ flu-cli add --help
309
467
  ## 配置文件
310
468
 
311
469
  Flu-CLI 会在以下位置存储配置:
312
- - **缓存目录**: `~/.flu-cli/cache/`
313
- - **配置文件**: `~/.flu-cli/config.json`
470
+
471
+ - **缓存目录**: `~/.flu-cli/cache/`
472
+ - **配置文件**: `~/.flu-cli/config.json`
314
473
 
315
474
  ---
316
475
 
317
476
  ## 故障排除
318
477
 
319
478
  ### 命令卡住
479
+
320
480
  如果命令执行过程中卡住,可以:
481
+
321
482
  1. 按 `Ctrl+C` 中止
322
483
  2. 运行 `flu-cli cache clean` 清理缓存
323
484
  3. 重新执行命令
324
485
 
325
486
  ### 模板拉取失败
487
+
326
488
  ```bash
327
489
  # 清理缓存后重试
328
490
  flu-cli cache clean
@@ -333,17 +495,18 @@ flu-cli new my_app --no-cache
333
495
  ```
334
496
 
335
497
  ### 代码片段不生效
336
- ```bash
337
- # 重新同步代码片段
338
- flu-cli sync-snippets
339
498
 
340
- # 重启 VS Code 后生效
341
- ```
499
+ VSCode 扩展使用**动态代码片段**功能,会根据项目配置自动适配:
500
+
501
+ 1. 确保已安装 Flu CLI VSCode 扩展
502
+ 2. 打开 `.dart` 文件时扩展会自动激活
503
+ 3. 代码片段会根据 `.flu-cli.json` 配置动态显示
504
+ 4. 如果看不到代码片段,尝试重启 VSCode
342
505
 
343
506
  ---
344
507
 
345
508
  ## 更多帮助
346
509
 
347
- - 查看具体命令帮助:`flu-cli <command> --help`
348
- - 项目文档:[flu-cli 文档站](https://your-docs-url)
349
- - 问题反馈:[GitHub Issues](https://github.com/your-repo/issues)
510
+ - 查看具体命令帮助:`flu-cli <command> --help`
511
+ - 项目文档:[flu-cli 文档站](https://your-docs-url)
512
+ - 问题反馈:[GitHub Issues](https://github.com/your-repo/issues)
package/README.md CHANGED
@@ -2,16 +2,18 @@
2
2
 
3
3
  > 🚀 **活跃开发中** - Flutter MVVM 脚手架工具
4
4
 
5
+ > 💡 **推荐**: 使用 VSCode 开发?试试我们的 [VSCode 插件](https://marketplace.visualstudio.com/items?itemName=huoye-studio.flu-cli-vscode),支持右键生成代码,体验更丝滑!
6
+
5
7
  ## ✨ 特性
6
8
 
7
- - 🎯 **交互式创建** - `flu new` 命令提供友好的交互式体验
8
- - 🔧 **代码生成** - `flu add` 快速生成页面、组件、服务等(支持别名)
9
- - 📦 **多种模板** - lite、modular、clean 三种架构模板
10
- - 🎮 **状态管理** - 支持 default、provider、getx、riverpod
11
- - 📝 **基于 Snippets** - 可自定义 VSCode 代码片段
12
- - 🎨 **列表页支持** - `--list-page` 自动生成 Page/ViewModel/Model
13
- - 🚀 **智能补全** - Shell 自动补全(Zsh/Bash)
14
- - 🌏 **中文友好** - 全中文提示和文档
9
+ - 🎯 **交互式创建** - `flu new` 命令提供友好的交互式体验
10
+ - 🔧 **代码生成** - `flu add` 快速生成页面、组件、服务等(支持别名)
11
+ - 📦 **多种模板** - lite、modular、clean 三种架构模板
12
+ - 🎮 **状态管理** - 支持 default、provider、getx、riverpod
13
+ - 📝 **基于 Snippets** - 可自定义 VSCode 代码片段
14
+ - 🎨 **列表页支持** - `--list-page` 自动生成 Page/ViewModel/Model
15
+ - 🚀 **智能补全** - Shell 自动补全(Zsh/Bash)
16
+ - 🌏 **中文友好** - 全中文提示和文档
15
17
 
16
18
  ## 📦 安装
17
19
 
@@ -52,35 +54,60 @@ flu-cli completion >> ~/.zshrc && source ~/.zshrc
52
54
  ## 📚 命令别名
53
55
 
54
56
  ### add 类型别名
55
- - `p` = page
56
- - `w` = widget
57
- - `c` = component
58
- - `v` = viewmodel
59
- - `s` = service
60
- - `m` = model
61
- - `mod` = module
57
+
58
+ - `p` = page
59
+ - `w` = widget
60
+ - `c` = component
61
+ - `v` = viewmodel
62
+ - `s` = service
63
+ - `m` = model
64
+ - `mod` = module
62
65
 
63
66
  ### 顶级命令别名
64
- - `n` = new
65
- - `a` = add
66
- - `t` = templates
67
- - `g` = generate-sm
68
- - `u` = update-templates
69
- - `c` = cache
70
- - `sync` = sync-snippets
71
- - `comp` = completion
67
+
68
+ - `n` = new
69
+ - `a` = add
70
+ - `t` = templates
71
+ - `u` = update-templates
72
+ - `c` = cache
73
+ - `sync` = sync-snippets
74
+ - `comp` = completion
75
+
76
+ ## ❓ 获取帮助
77
+
78
+ 查看所有命令:
79
+
80
+ ```bash
81
+ flu-cli --help
82
+ ```
83
+
84
+ 查看特定命令的详细用法:
85
+
86
+ ```bash
87
+ flu add --help
88
+ flu new --help
89
+ ```
72
90
 
73
91
  ## 📚 文档
74
92
 
75
- - [CLI 命令参考](./CLI.md) - 详细命令说明
76
- - [完整文档](http://huozhiye.cn/flu-cli/) - 主文档站
93
+ - [CLI 命令参考](http://huozhiye.cn/flu-cli/reference/cli-reference.html) - 详细命令说明
94
+ - [完整文档](http://huozhiye.cn/flu-cli/) - 主文档站
95
+
96
+ ## 💬 加入社区
97
+
98
+ 获取最新动态、反馈问题、定制化开发或与开发者直接交流,欢迎加入我们的微信群:
99
+
100
+ > ![微信群二维码](https://gitee.com/flu-cli/flu-cli/raw/main/packages/vscode-extension/images/wechat-group.png)
101
+
102
+ 如果群二维码过期,请添加作者微信 `Huoye-TT` 备注 "flu-cli" 拉您入群。
77
103
 
78
104
  ## 🔗 相关链接
79
105
 
80
- - [模板对比](http://huozhiye.cn/flu-cli/guide/templates/template-comparison)
81
- - [最佳实践](http://huozhiye.cn/flu-cli/best-practices/custom-templates)
82
- - [从 V1 迁移](http://huozhiye.cn/flu-cli/examples/migration)
106
+ - [模板对比](http://huozhiye.cn/flu-cli/guide/templates/template-comparison.html)
107
+ - [最佳实践](http://huozhiye.cn/flu-cli/best-practices/custom-templates.html)
108
+ - [从 V1 迁移](http://huozhiye.cn/flu-cli/examples/migration.html)
83
109
 
110
+
84
111
  ## 📄 许可
85
112
 
86
- MIT License - Copyright © 2025 火之夜工作室
113
+ MIT License - Copyright © 2025 火叶工作室