This commit is contained in:
zyj
2026-03-03 18:20:18 +08:00
commit a9f9330744
25 changed files with 5004 additions and 0 deletions

232
docs/ROADMAP.md Normal file
View File

@@ -0,0 +1,232 @@
# DevPack 开发路线图
> 更新日期2026-03-03
> 作者DevPack Team
---
## 版本规划概览
```
v0.1.0 (MVP) v0.2.0 v0.3.0 v1.0.0
──────────────── → ──────────────── → ──────────────── → ────────────────
核心框架 + 基础 扩展采集器 + 加密 + 增量 + 稳定发布 +
采集器 + 打包还原 环境对比 + 回滚 远程注册中心 性能优化
2026 Q2 2026 Q3 2026 Q4 2027 Q1
```
---
## v0.1.0 — MVP (最小可行产品)
> **目标:** 核心打包还原流程跑通,支持最常用的开发工具
> **预计时间:** 2026 Q2约 3 个月)
### 里程碑
#### M1: 项目基础架构2 周)
- [ ] 项目脚手架搭建Go Module、目录结构、Makefile
- [ ] CLI 框架搭建Cobra + Viper
- [ ] 日志系统搭建zerolog
- [ ] 平台检测与适配层基础实现
- [ ] Collector 接口定义与注册中心实现
- [ ] 基础配置系统config.yaml
- [ ] `devpack version` 命令
#### M2: 核心采集器3 周)
- [ ] Go 运行时采集器
- [ ] Node.js 运行时采集器
- [ ] Python 运行时采集器
- [ ] VS Code 编辑器采集器(扩展 + 设置)
- [ ] PowerShell Shell 采集器
- [ ] Scoop 包管理器采集器Windows
- [ ] Git 配置采集器
- [ ] 环境变量采集器
- [ ] `devpack scan` 命令
#### M3: 打包引擎2 周)
- [ ] Pack 文件格式实现
- [ ] Manifest 生成与解析
- [ ] tar.gz 打包/解包
- [ ] 校验和计算与验证
- [ ] `devpack capture` 命令
- [ ] `devpack export` / `devpack import` 命令
#### M4: 还原引擎3 周)
- [ ] 还原计划生成器
- [ ] 基础冲突检测(版本对比)
- [ ] 各采集器的还原逻辑实现
- [ ] 干运行模式
- [ ] 还原报告生成
- [ ] `devpack restore` 命令
#### M5: 配置与打磨2 周)
- [ ] Profile 系统实现
- [ ] `devpack init` 命令
- [ ] `devpack list` 命令
- [ ] `devpack profile` 命令
- [ ] 终端 UI 优化(进度条、表格、颜色)
- [ ] 错误信息优化
- [ ] 单元测试覆盖率 > 60%
- [ ] README 和基础文档完善
- [ ] GitHub Actions CI 配置
- [ ] 首次内测发布
### MVP 交付标准
- ✅ 能在 Windows 上扫描 Go、Node、Python、VS Code、PowerShell 配置
- ✅ 能打包生成 `.devpack` 文件
- ✅ 能在另一台 Windows 上还原
- ✅ 干运行模式可用
- ✅ 基本的冲突处理
- ✅ CLI 交互友好
---
## v0.2.0 — 功能扩展
> **目标:** 更多采集器、环境对比、回滚、macOS 支持
> **预计时间:** 2026 Q3
### 新增功能
#### 更多采集器
- [ ] Java/Kotlin 运行时采集器JDK + Maven/Gradle
- [ ] Rust 运行时采集器rustup + cargo
- [ ] .NET 运行时采集器
- [ ] JetBrains IDE 采集器
- [ ] Vim/Neovim 采集器
- [ ] Bash/Zsh Shell 采集器
- [ ] Homebrew 包管理器采集器macOS
- [ ] Chocolatey 包管理器采集器Windows
- [ ] Winget 包管理器采集器Windows
- [ ] Windows Terminal 配置采集器
#### 环境对比
- [ ] `devpack diff` 命令实现
- [ ] Pack vs 当前环境对比
- [ ] Pack vs Pack 对比
- [ ] 差异可视化输出
#### 回滚机制
- [ ] 还原点创建
- [ ] 还原点管理(列出、删除)
- [ ] 从还原点回滚
- [ ] `devpack rollback` 命令
#### 平台扩展
- [ ] macOS 平台完整支持
- [ ] macOS 采集器适配
- [ ] 跨平台 CI 测试矩阵
#### 改进
- [ ] 还原进度条改进
- [ ] 并行扫描/还原
- [ ] 更好的错误消息和排障指南
- [ ] 测试覆盖率 > 75%
---
## v0.3.0 — 安全与高级功能
> **目标:** 加密支持、增量打包、Linux 支持、远程注册中心
> **预计时间:** 2026 Q4
### 新增功能
#### 安全
- [ ] AES-256-GCM 数据加密
- [ ] Argon2id 密钥派生
- [ ] SSH/GPG 密钥采集器(加密存储)
- [ ] 敏感数据自动检测与警告
- [ ] Pack 文件签名
#### 增量打包
- [ ] 基于上一次快照的差异计算
- [ ] 增量 Pack 生成
- [ ] 增量还原
#### Linux 支持
- [ ] Linux 平台适配
- [ ] APT 包管理器采集器
- [ ] DNF/YUM 包管理器采集器
- [ ] Linux 特定配置采集
#### 远程注册中心(实验性)
- [ ] 注册中心 API 设计
- [ ] Pack 上传/下载
- [ ] 版本管理
- [ ] `devpack registry` 命令
- [ ] 团队共享支持
#### 字体采集器
- [ ] 开发字体检测
- [ ] 字体文件采集
- [ ] 字体安装还原
---
## v1.0.0 — 稳定发布
> **目标:** 生产就绪、性能优化、完善文档
> **预计时间:** 2027 Q1
### 重点
#### 稳定性
- [ ] 全面端到端测试
- [ ] 多 OS 版本兼容性测试
- [ ] 压力测试
- [ ] 边界情况处理
- [ ] 测试覆盖率 > 85%
#### 性能优化
- [ ] 扫描性能优化(缓存、并行)
- [ ] 打包性能优化zstd 压缩可选)
- [ ] 还原性能优化(并行安装)
- [ ] 大文件处理优化
#### 文档完善
- [ ] 完整用户手册
- [ ] API 参考文档
- [ ] 插件开发指南
- [ ] 故障排除指南
- [ ] 视频教程
#### 发布
- [ ] GoReleaser 多平台构建
- [ ] Homebrew Formula
- [ ] Scoop Manifest
- [ ] Docker 镜像(用于 CI
- [ ] 官方网站
---
## 远期规划 (v1.x+)
### 可能的功能方向
| 功能 | 描述 | 优先级 |
|------|------|--------|
| 🔌 插件系统 | 支持第三方采集器插件 | 高 |
| 🌐 Web UI | 基于 Web 的管理界面 | 中 |
| 📱 GUI 客户端 | 桌面 GUI 客户端 | 中 |
| ☁️ 云同步 | 通过云端同步 Pack | 中 |
| 🔄 自动更新 | 定时检查环境变更并自动备份 | 中 |
| 🤝 团队管理 | 团队 Pack 管理和权限控制 | 低 |
| 📊 环境报告 | 生成环境配置报告 | 低 |
| 🐳 Docker 集成 | 从 Dockerfile 提取环境信息 | 低 |
| 🧪 沙盒预览 | 在沙盒中预览还原效果 | 低 |
| 📋 配方系统 | 预设的"开发环境配方"共享 | 低 |
---
## 贡献
路线图中的功能优先级可能根据社区反馈调整。如果你对某个功能特别期待,欢迎:
1. 在 [Issues](https://github.com/user/devpack/issues) 中提出功能请求
2. 为你期待的 Issue 点赞 👍
3. 提交 Pull Request 实现功能
我们优先实现社区呼声最高的功能。