aboutsummaryrefslogtreecommitdiff
path: root/docs/_zh_CN/README.md
blob: b529a866e902a1b6f57b0839a22b15edb803749e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<h1 align="center">Mingling 中文文档 🇨🇳</h1>

<p align="center">
    该页面为 <b>Mingling</b> 命令行框架的中文文档,由 <a href="https://github.com/Weicao-CatilGrass">Weicao-CatilGrass</a> 维护
</p>

## 前言

如果你正被这些问题困扰——

1. 子命令一多,`main.rs` 就迅速膨胀;
2. Handler 中的逻辑与副作用混杂在一起;
3. 日志、鉴权等横切关注点难以无侵入地插入;
4. 为多个平台维护 shell 补全脚本令人心力交瘁;
5. 全局资源到处都是,测试非常困难。

…… 那么,你来对地方了。

当然,如果只是对「怎么用 Rust 写出好维护的 CLI」这件事感兴趣,那你更来对地方了 —— 它会很有意思的。

## 什么是 Mingling?

> **Mìng Lìng** 是中文 **命令** 的汉语拼音,
> 对应的英文单词是 **Command**。

Mingling 是一个用 Rust 构建的 CLI 框架。它免费、开源,且使用宽松的 MIT / Apache 2.0 开源协议。

Mingling 的设计目标:

- **可扩展**:从 3 个子命令到 30 个,同一套模式,不换框架
- **解耦**:参数解析写一次,业务逻辑写一次,输出格式写一次。各不相干
- **类型驱动**:整个流水线上传递的是清晰、类型化的数据,而非 `Vec<String>`
- **轻量依赖**:核心功能依赖少,引入负担低;按需启用高级特性,不拖慢编译
- **高效**:编译期生成分发逻辑,运行时没有不必要的开销

---

好了,想来试试么?