dd_flutter_cli 0.3.0

A CLI tool for managing Dart and Flutter projects
# DD Flutter CLI

这是一个用于管理 Flutter 项目的命令行工具,可以帮助你快速扫描、更新和管理多个 Flutter 项目。

## 功能特点

- 扫描并显示所有 Flutter 项目的信息
- 批量更新项目版本号
- 批量更新依赖到最新版本
- 支持忽略特定项目
- 支持更新开发依赖
- 按项目名称长度排序显示

## 安装

使用 Cargo 安装:

```bash
cargo install --path .
```

## 使用方法

### 扫描项目

显示所有 Flutter 项目及其版本号:

```bash
dd_flutter_cli scan
```

指定项目路径:

```bash
dd_flutter_cli scan --path /path/to/projects
```

忽略特定项目:

```bash
dd_flutter_cli --ignore-scan-name project1,project2 scan
```

指定项目路径并忽略特定项目:

```bash
dd_flutter_cli --ignore-scan-name project1,project2 scan --path /path/to/projects
```

### 更新项目版本号

将所有项目的版本号更新为指定版本:

```bash
dd_flutter_cli update-version --version 1.0.0
```

指定项目路径并更新版本号:

```bash
dd_flutter_cli update-version --version 1.0.0 --path /path/to/projects
```

更新版本号时忽略特定项目:

```bash
dd_flutter_cli --ignore-scan-name project1,project2 update-version --version 2.0.0
```

### 更新依赖版本

更新所有项目的依赖到最新版本:

```bash
dd_flutter_cli update-deps
```

指定项目路径并更新依赖:

```bash
dd_flutter_cli update-deps --path /path/to/projects
```

更新包括开发依赖在内的所有依赖:

```bash
dd_flutter_cli update-deps --include-dev
```

更新依赖时忽略特定项目:

```bash
dd_flutter_cli --ignore-scan-name project1,project2 update-deps
```

指定项目路径并更新包括开发依赖在内的所有依赖:

```bash
dd_flutter_cli update-deps --include-dev --path /path/to/projects
```

## 输出示例

### 扫描项目
```
ui: 1.0.0
app: 2.0.0
core: 1.5.0
utils: 0.1.0
mobile: 3.0.0
```

### 更新依赖
```
正在检查依赖更新...

处理项目: my_flutter_app
已更新的依赖:
  flutter_lints 2.0.1 -> 2.0.3
  http 0.13.0 -> 0.13.5

处理项目: another_app
所有依赖已是最新版本
```

## 注意事项

1. 该工具会递归扫描当前目录下的所有 Flutter 项目
2. 项目的识别是通过查找 `pubspec.yaml` 文件实现的
3. 更新依赖版本时,只会更新已经指定了版本号的依赖
4. 所有操作都支持通过 `--ignore-scan-name` 参数忽略特定项目
5. 依赖版本更新功能使用 pub.dev 中国镜像源

## 错误处理

工具会显示详细的错误信息:
- 文件读写错误
- YAML 解析错误
- 依赖版本查询错误

## 贡献

欢迎提交 Issue 和 Pull Request!

## 许可证

[MIT License](LICENSE)