init
This commit is contained in:
232
docs/ROADMAP.md
Normal file
232
docs/ROADMAP.md
Normal 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 实现功能
|
||||
|
||||
我们优先实现社区呼声最高的功能。
|
||||
Reference in New Issue
Block a user