本文档描述 Workflow CLI 的环境检查模块架构,包括 Git 仓库状态检查和网络连接检查功能。该模块用于诊断和验证工作环境。
src/main.rs
src/commands/check.rs # 环境检查命令(57 行)
lib/git/:Git 操作(仓库检测、状态检查等)lib/http/:HTTP 客户端(网络检查)
用户输入
↓
main.rs (CLI 入口,参数解析)
↓
commands/check.rs (命令封装层)
↓
lib/git/ 或 lib/http/ (核心业务逻辑层)
src/commands/check.rs
main.rs::Commands::Check
↓
commands/check.rs::CheckCommand::run_all()
↓
1. Git::is_git_repo() # 检查是否在 Git 仓库中
2. Git::status() # 检查 Git 状态
3. cmd("curl", ...) # 检查网络连接(GitHub)
-
Git 仓库检查:
- 检查当前目录是否是 Git 仓库
- 检查 Git 状态(是否有未提交的更改)
- 使用
Git::is_git_repo()和Git::status()方法
-
网络连接检查:
- 检查到 GitHub 的网络连接
- 使用
curl命令测试连接 - 超时时间 10 秒
-
Git 检查:
- 如果不在 Git 仓库中,直接失败
- 如果有未提交的更改,显示状态信息
- 如果仓库干净,显示成功信息
-
网络检查:
- 使用
curl测试到 GitHub 的连接 - 如果失败,提供错误提示
- 如果成功,显示成功信息
- 使用
命令执行
↓
Git 仓库检查
↓
网络连接检查
↓
结果显示
lib/git/:Git 操作(仓库检测、状态检查等)
lib/http/:HTTP 客户端(网络检查)
每个命令都是一个独立的结构体,实现统一的方法接口。
将复杂的操作封装到 lib/ 中的工具函数,命令层只负责调用和交互。
- CLI 层:参数验证错误
- 命令层:用户交互错误、业务逻辑错误
- 工具层:Git 操作错误、网络检查错误
- Git 检查失败:提供清晰的错误提示
- 网络检查失败:提供错误原因和解决建议
- 在
check.rs的run_all()方法中添加新的检查步骤 - 调用相应的工具函数或库函数