refactor: restructure project to modern Python layout, separate src, tests, docs, examples

This commit is contained in:
2025-08-07 16:57:41 +08:00
commit 4cb6c4eab7
27 changed files with 2580 additions and 0 deletions

246
docs/workplan.md Normal file
View File

@@ -0,0 +1,246 @@
# Config-Man CLI 工具工作计划
## 项目概览
- **项目名称**: Config-Man CLI 工具
- **预计工期**: 8-12天
- **开始日期**: [待定]
- **结束日期**: [待定]
- **项目经理**: [待定]
## 阶段1: 项目初始化 (1-2天)
### 任务1.1: 环境搭建
- [ ] 创建Python虚拟环境
- [ ] 安装项目依赖
- [ ] 配置开发环境
- [ ] 设置代码仓库
- **负责人**: [待定]
- **预计时间**: 0.5天
- **完成标准**: 开发环境可以正常运行
### 任务1.2: 项目结构设计
- [ ] 设计项目目录结构
- [ ] 创建基础模块
- [ ] 配置CLI框架
- [ ] 设置配置文件管理
- **负责人**: [待定]
- **预计时间**: 0.5天
- **完成标准**: 项目结构清晰,基础框架可用
### 任务1.3: 配置文件管理
- [ ] 实现配置文件加密/解密功能
- [ ] 实现对象存储连接
- [ ] 实现rclone集成
- [ ] 实现基础文件操作
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 可以成功下载、解密、加密、上传配置文件
## 阶段2: 核心功能开发 (3-4天)
### 任务2.1: 查看配置文件功能
- [ ] 实现版本号转换逻辑 (0.29 → 0_29)
- [ ] 实现文件下载和解密
- [ ] 实现CDN内容获取
- [ ] 实现配置对比显示
- [ ] 实现格式化输出 (表格格式)
- [ ] 实现Android和iOS平台同时显示
- **负责人**: [待定]
- **预计时间**: 1.5天
- **完成标准**: `config-man view --version 0.30` 命令正常工作
### 任务2.2: 建议更新功能
- [ ] 实现配置文件读取和解析
- [ ] 实现Ver_New属性添加逻辑
- [ ] 实现文件加密和上传
- [ ] 实现CDN缓存刷新
- [ ] 实现错误处理和回滚
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: `config-man suggest-update` 命令正常工作
### 任务2.3: 强制更新功能
- [ ] 实现Ver属性更新逻辑
- [ ] 实现文件加密和上传
- [ ] 实现CDN缓存刷新
- [ ] 实现错误处理和回滚
- [ ] 实现安全确认机制
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: `config-man force-update` 命令正常工作
### 任务2.4: CLI框架完善
- [ ] 实现命令行参数解析
- [ ] 实现帮助信息
- [ ] 实现错误提示
- [ ] 实现日志记录
- **负责人**: [待定]
- **预计时间**: 0.5天
- **完成标准**: CLI界面友好错误提示清晰
## 阶段3: 集成测试 (2-3天)
### 任务3.1: 单元测试
- [ ] 编写配置文件处理测试
- [ ] 编写加密解密测试
- [ ] 编写CLI命令测试
- [ ] 编写版本号转换测试
- [ ] 编写JSON处理测试
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 测试覆盖率 > 80%
### 任务3.2: 集成测试
- [ ] 测试对象存储连接
- [ ] 测试CDN缓存刷新
- [ ] 测试完整工作流程
- [ ] 测试多版本场景
- [ ] 测试多平台场景
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 所有功能在真实环境中正常工作
### 任务3.3: 错误处理测试
- [ ] 测试网络错误处理
- [ ] 测试文件不存在错误
- [ ] 测试参数验证错误
- [ ] 测试加密解密错误
- [ ] 测试CDN刷新错误
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 错误处理完善,用户体验良好
## 阶段4: 文档和部署 (1-2天)
### 任务4.1: 文档编写
- [ ] 编写用户使用手册
- [ ] 编写API文档
- [ ] 编写部署指南
- [ ] 编写故障排除指南
- [ ] 更新README文档
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 文档完整,易于理解
### 任务4.2: 部署准备
- [ ] 创建安装脚本
- [ ] 配置CI/CD流程
- [ ] 准备发布包
- [ ] 创建配置文件模板
- [ ] 设置环境变量配置
- **负责人**: [待定]
- **预计时间**: 1天
- **完成标准**: 可以一键部署和安装
## 阶段5: 验收测试 (1天)
### 任务5.1: 功能验收
- [ ] 验证所有CLI命令
- [ ] 验证配置文件管理
- [ ] 验证CDN缓存刷新
- [ ] 验证错误处理
- [ ] 验证文档完整性
- **负责人**: [待定]
- **预计时间**: 0.5天
- **完成标准**: 所有功能按需求正常工作
### 任务5.2: 性能验收
- [ ] 测试响应时间
- [ ] 测试并发处理
- [ ] 测试错误恢复
- [ ] 测试内存使用
- [ ] 测试CPU使用
- **负责人**: [待定]
- **预计时间**: 0.5天
- **完成标准**: 性能指标达到要求
## 关键里程碑
### 里程碑1: 项目初始化完成
- **时间**: 第2天
- **交付物**: 基础框架和配置文件管理功能
- **验收标准**: 可以成功操作加密的配置文件
### 里程碑2: 核心功能完成
- **时间**: 第6天
- **交付物**: 三个主要CLI功能
- **验收标准**: 所有命令正常工作
### 里程碑3: 测试完成
- **时间**: 第9天
- **交付物**: 测试报告和修复的问题
- **验收标准**: 测试覆盖率 > 80%无严重bug
### 里程碑4: 项目交付
- **时间**: 第12天
- **交付物**: 完整的CLI工具和文档
- **验收标准**: 满足所有需求,可以投入使用
## 风险评估
### 高风险
- **对象存储API集成复杂性**
- 风险描述: 不同对象存储服务商的API差异较大
- 缓解措施: 使用rclone作为统一接口降低集成复杂度
- 影响: 可能延长开发时间1-2天
### 中风险
- **CDN缓存刷新API限制**
- 风险描述: Cloudflare API可能有调用频率限制
- 缓解措施: 实现重试机制和错误处理
- 影响: 可能影响用户体验
### 低风险
- **CLI框架学习成本**
- 风险描述: 团队成员可能需要学习Click或Typer框架
- 缓解措施: 选择文档完善的框架,提供学习资源
- 影响: 轻微影响开发进度
## 成功标准
### 功能标准
- [ ] 所有三个CLI功能正常工作
- [ ] 配置文件正确加密存储
- [ ] CDN缓存正确刷新
- [ ] 错误处理完善
- [ ] 文档完整清晰
### 性能标准
- [ ] 配置文件查看响应时间 < 3秒
- [ ] 配置文件修改响应时间 < 5秒
- [ ] CDN缓存刷新响应时间 < 10秒
- [ ] 内存使用 < 100MB
- [ ] CPU使用 < 10%
### 质量标准
- [ ] 代码测试覆盖率 > 80%
- [ ] 无严重bug
- [ ] 代码注释完整
- [ ] 符合Python编码规范
## 团队分工
### 开发团队
- **主开发**: [待定] - 负责核心功能开发
- **测试工程师**: [待定] - 负责测试和验收
- **文档工程师**: [待定] - 负责文档编写
### 支持团队
- **项目经理**: [待定] - 负责项目管理和进度跟踪
- **技术顾问**: [待定] - 负责技术指导和问题解决
## 沟通计划
### 日常沟通
- **每日站会**: 每天上午9:0015分钟
- **周报**: 每周五下午,总结本周进展和下周计划
### 里程碑沟通
- **里程碑评审**: 每个里程碑完成后进行评审
- **风险汇报**: 发现风险时立即汇报
### 文档更新
- **进度更新**: 每周更新工作计划进度
- **问题记录**: 及时记录和跟踪问题
- **经验总结**: 项目结束后进行经验总结