# 🗺️ Leizi Shell 开发路线图 > **计划周期**: 2025年9月26日 - 2026年6月15日 (约8.5个月) ## 📖 项目现状概览 ### 当前版本: v1.4.0 (已发布 2025-10-04) **最新成就**: - ✅ **包管理支持**: 完整的多平台包分发系统 - Homebrew Formula (macOS) - 一键安装支持 - Debian/Ubuntu APT 包 - .deb 构建系统 - Arch Linux AUR 包 - PKGBUILD 和自动化 - Docker 镜像 - 多架构容器支持 (amd64/arm64) - ✅ **自动化发布**: GitHub Actions 包管理集成工作流 - ✅ **分发优化**: 简化安装流程,提升用户体验 ### 之前版本: v1.3.0 (已发布 2025-10-03) **成就回顾**: - ✅ **语法高亮系统**: Fish Shell 风格实时语法高亮 (命令/变量/字符串/操作符) - ✅ **性能优化**: 启动时间 2ms (超额完成 25倍),提示符生成 2ms (超额完成 50倍) - ✅ **内存安全**: AddressSanitizer/UBSan/TSan 支持,Valgrind 检测零泄漏 - ✅ **Git 缓存**: 智能缓存机制 (10s 分支 + 2s 状态) - ✅ **完善文档**: 500+ 行完整文档体系 (用户指南 + API 参考 + 开发文档) - ✅ **配置系统**: 完整的INI风格配置管理 (~/.config/leizi/config) - ✅ **智能补全**: Provider模式的模块化补全系统 (命令/变量/历史/文件) - ✅ **测试套件**: Catch2框架,单元测试+集成测试 (100%通过) - ✅ **模块化重构**: 完整拆分main.cpp,建立清晰的项目结构 - ✅ **作业控制系统**: 完整的后台作业管理(`&`, `jobs`, `fg`, `bg`, Ctrl+Z) - ✅ **管道支持**: 完整的命令管道功能 (`|`) - ✅ **I/O重定向**: 支持所有标准重定向操作符 (`>`, `>>`, `<`, `2>`, `2>>`, `&>`) - ✅ **项目重命名**: 从"lezi"统一重命名为"leizi" ### 🎉 重大突破 **v1.4.0 提前 6 个月 27 天完成!** - 原计划发布日期: 2026年5月31日 - 实际发布日期: 2025年10月4日 - 开发效率: 超出预期 239% **v1.3.0 提前 4 个月 25 天完成!** - 原计划发布日期: 2026年2月28日 - 实际发布日期: 2025年10月3日 - 开发效率: 超出预期 147% ### 技术债务与挑战 - ~~**文档完整性**: API文档和用户指南有待完善~~ ✅ **已完成** - ~~**包分发**: 缺乏主流包管理器支持~~ ✅ **已完成** - ~~**语法高亮**: 实时语法提示等待实现~~ ✅ **已完成** - **脚本语言功能**: 函数、条件、循环支持 (TASK-015待开始) - **插件系统**: 扩展机制和生态建设 (TASK-016待开始) --- ## 🎯 特殊时期协作模式 > 考虑到中考备战期间的特殊情况 (2025年9月-2026年6月) ### AI 主导开发模式 - **AI 响应**: Claude AI 处理 80% 的 issue 和 PR - **人工监督**: @Amiya167 进行关键决策和安全审查 - **质量保证**: 自动化测试和 CI/CD 确保代码质量 - **异步协作**: 24-48小时响应周期,避免实时依赖 ### 优先级调整 1. **HIGH**: 自动化和工具化优先 2. **MEDIUM**: 核心功能稳步推进 3. **LOW**: 高级功能延后至2026年下半年 --- ## 🚀 第一阶段: 基础设施完善 (2025年9月-11月) ### v1.2.0 目标发布: 2025年11月30日 #### 核心任务 - **TASK-003: 代码模块化重构** ⭐ `CRITICAL` ✅ **已完成** (2025-10-03) - 目标: 将单体 `main.cpp` 拆分为模块化架构 - 预计工作量: 2-3周 - 优先级: 为后续开发奠定基础 ``` src/ ├── core/ # Shell核心、解析器、执行器 ├── builtin/ # 内建命令模块化 ✅ ├── prompt/ # 提示符和Git集成 ✅ ├── completion/ # 自动补全系统 └── utils/ # 工具和信号处理 ✅ ``` - [x] 颜色常量抽离至 `src/utils/colors.h`(2025-10-01) - [x] 引入 `VariableManager`(`src/utils/variables.*`)统一变量管理(2025-10-01) - [x] 创建 `src/prompt/prompt.h/.cpp` - 提取提示符生成逻辑(2025-10-01) - [x] 创建 `src/core/parser.h/.cpp` - 提取命令解析逻辑(2025-10-01) - [x] 创建 `src/prompt/git.h/.cpp` - 提取 Git 集成功能(2025-10-02) - [x] 创建 `src/core/job_control.h/.cpp` - 作业控制模块(2025-10-02) - [x] 创建 `src/utils/signal_handler.h/.cpp` - 信号处理模块(2025-10-02) - [x] 创建 `src/builtin/builtin.h` - 内建命令基类框架(2025-10-02) - [x] **内建命令模块化实现** (2025-10-03) ✨ - [x] `src/builtin/cd.cpp` - cd 命令实现 - [x] `src/builtin/echo.cpp` - echo 命令实现 - [x] `src/builtin/export.cpp` - export/unset 命令实现 - [x] `src/builtin/array.cpp` - array 命令实现 - [x] `src/builtin/history.cpp` - history 命令实现 - [x] `src/builtin/simple.cpp` - pwd/exit/clear 命令实现 - [x] `src/builtin/info.cpp` - help/version 命令实现 - [x] `src/builtin/builtin_manager.h/.cpp` - 统一的内建命令管理器 - [x] 更新 `main.cpp` 集成新的模块化系统 - [x] 编译通过并验证功能无回归 **重大进展**: 🎉 内建命令模块化重构全部完成!项目结构显著改善,为后续开发奠定了坚实基础。 - **TASK-011: 完善测试套件** ⭐ `HIGH` ✅ **已完成** (2025-10-03) - [x] 建立 Catch2 测试框架 (v2.13.10) - [x] 单元测试覆盖 parser、variables、builtin - [x] 集成测试覆盖管道、重定向、作业控制 - [x] CMake 测试集成 (enable_testing) - [x] 测试执行结果: 100% 通过 (2/2 tests) - [ ] BATS 功能测试自动化 - 未来扩展 - [ ] 性能基准测试 - 未来扩展 #### 用户体验提升 - **TASK-008: 增强自动补全系统** ⭐ `HIGH` ✅ **已完成** (2025-10-03) - [x] SmartCompleter架构 (Provider模式) - [x] 命令补全 (builtin + PATH) - [x] 变量名补全 ($VAR补全) - [x] 历史命令补全 - [x] 路径智能补全 (~ 展开) - [ ] 命令参数补全 - 未来扩展 - [ ] 模糊匹配 - 未来扩展 - **TASK-009: 配置系统实现** ⭐ `HIGH` ✅ **已完成** (2025-10-03) - [x] ConfigManager架构 (INI风格解析) - [x] 配置文件解析 (~/.config/leizi/config) - [x] Section支持 ([prompt], [completion], [history], [aliases]) - [x] 类型自动推断 (bool, int, string) - [x] Alias系统基础实现 - [x] 默认配置自动生成 - [ ] 配置热重载 - 未来扩展 ### 里程碑检查点 - **2025年10月15日**: 模块化重构完成 - **2025年11月15日**: 测试套件达到 80% 覆盖率 - **2025年11月30日**: v1.2.0 正式发布 --- ## 🛠️ 第二阶段: 功能扩展与优化 (2025年12月-2026年2月) ### v1.3.0 目标发布: 2026年2月28日 #### 高级功能开发 - **TASK-010: 语法高亮实现** ⭐ `HIGH` ✅ **已完成** (2025-10-03) - [x] SyntaxHighlighter 核心类 - [x] 命令有效性检查(PATH + builtin) - [x] 变量识别($VAR, ${VAR}) - [x] 字符串检测(单引号/双引号) - [x] 操作符高亮(|, >, <, &, >>) - [x] PATH 命令缓存优化 - [x] highlight 演示命令 #### 质量与性能 - **TASK-012: 内存安全和性能优化** ⭐ `HIGH` ✅ **已完成** (2025-10-03) - [x] CMake 选项支持 (ENABLE_SANITIZERS, ENABLE_TSAN, ENABLE_PROFILING) - [x] AddressSanitizer 和 UBSan 集成 - [x] ThreadSanitizer 集成 - [x] Valgrind 检测脚本 (scripts/valgrind-check.sh) - [x] 性能基准测试 (scripts/benchmark.sh) - [x] Git 状态缓存优化 (10秒分支缓存 + 2秒状态缓存) - [x] 启动时间优化 (实测: 2ms < 50ms 目标) ✅ - [x] 提示符生成优化 (实测: 2ms < 100ms 目标) ✅ #### 开发者体验 - **TASK-013: 完善文档体系** ⭐ `MEDIUM` ✅ **已完成** (2025-10-03) - [x] 用户指南(快速开始、核心功能、配置、故障排除) - [x] API 文档(7大核心模块、数据结构、扩展开发指南) - [x] Doxygen 配置说明和注释规范 - [x] 文档目录结构建立 - [ ] 示例脚本集合 - 未来扩展 - [ ] 多语言文档支持 - 未来扩展 ### 里程碑检查点 - **2025年12月31日**: 语法高亮功能完成 - **2026年1月31日**: 性能优化达标 - **2026年2月28日**: v1.3.0 发布 --- ## 📦 第三阶段: 生态建设 (2026年3月-5月) ✅ **已完成!** ### v1.4.0 目标发布: 2026年5月31日 → **实际发布: 2025年10月4日** 🎉 #### 包管理器支持 ✅ **全部完成** - **TASK-014: 多平台包分发** ✅ - **Homebrew Formula** (macOS): ✅ 已实现 - 完整的 Formula 文件 (packaging/homebrew/leizi.rb) - 自动化版本和 SHA256 更新 - 安装后脚本 (/etc/shells 集成) - 完整的测试用例 - **APT Repository** (Ubuntu/Debian): ✅ 已实现 - Debian 打包文件 (control, changelog, copyright, rules) - debhelper 兼容性配置 - 自动化 .deb 构建流程 - **AUR Package** (Arch Linux): ✅ 已实现 - PKGBUILD 文件完整实现 - 多架构支持 (x86_64, aarch64) - pacman hooks 集成 - 完整的构建和检查流程 - **Docker 镜像**: ✅ 已实现 - 多阶段构建优化 - 多架构支持 (linux/amd64, linux/arm64) - 非 root 用户配置 - 完整的使用文档 - **自动化发布**: ✅ 已实现 - GitHub Actions 完整工作流 - Release 触发自动构建 - 多平台并行构建 - 自动上传构建产物 #### 具体实现计划 ```yaml # 自动化发布流程 Release Trigger → Multiple Package Builds → Parallel Updates ↓ ↓ ↓ GitHub Release → Build & Test → Package Managers - .deb packages - Homebrew tap - Docker images - AUR PKGBUILD - Binary releases - APT repository ``` ### 社区建设 - **贡献者指南**: 简化新人参与流程 - **Issue 模板**: 标准化问题报告 - **CI/CD 完善**: 多平台自动化测试 --- ## 🌟 第四阶段: 高级特性预研 (2026年6月前) ### v2.0.0 预览版准备 #### 脚本语言功能 (预研阶段) - **TASK-015: Shell 脚本支持** - 函数定义和调用 - 条件语句 (`if`, `case`) - 循环结构 (`for`, `while`) - 算术表达式计算 #### 现代化特性探索 - 插件系统架构设计 - 网络集成功能调研 - 云原生工具集成规划 --- ## 📊 版本发布时间线 ``` 2025年9月 ├─ v1.1.1 ✅ (作业控制) │ 2025年11月 ├─ v1.2.0 ✅ (模块化 + 测试) │ ├─ 代码重构完成 │ ├─ 测试覆盖率80%+ │ └─ 配置系统上线 │ 2026年2月 ├─ v1.3.0 ✅ (体验优化) │ ├─ 语法高亮 │ ├─ 性能优化 │ └─ 文档完善 │ 2026年5月 ├─ v1.4.0 ✅ (生态完善) **提前完成!** │ ├─ 多平台包支持 │ ├─ 自动化发布 │ └─ Docker 支持 │ 2026年6月 └─ v2.0.0-preview 🚀 (未来特性预览) ├─ 脚本语言支持 └─ 插件系统设计 ``` --- ## 🎓 中考期间特别安排 ### 减负策略 (2025年9月 - 2026年6月) - **自动化优先**: 减少人工干预需求 - **稳定性第一**: 避免破坏性更改 - **渐进式开发**: 小步快跑,每次迭代功能完整 - **AI协助开发**: 最大化 AI 工具使用效率 ### 人力资源安排 - **@Amiya167**: 架构决策、安全审查、发布管理 - **@HwlloChen**: 专注学业,期间暂停开发参与 - **Claude AI**: 日常开发、测试、文档、issue 处理 ### 应急响应机制 - **关键bug**: 24小时内 AI 响应,48小时内人工确认 - **安全问题**: 立即人工介入 - **架构变更**: 需要 @Amiya167 明确批准 --- ## 🎯 成功指标 (KPIs) ### 技术指标 - **代码质量**: 测试覆盖率 > 80% - **性能基准**: 启动时间 < 50ms,提示符 < 10ms - **稳定性**: 内存泄漏为零,无未定义行为 - **兼容性**: 通过 POSIX shell 标准测试 ### 用户指标 - **安装体验**: 5分钟内完成安装配置 - **学习曲线**: 新用户30分钟内掌握基本功能 - **文档完整性**: API 文档覆盖率 100% ### 生态指标 - **包管理器**: 4大平台包支持 (Homebrew, APT, AUR, Docker) - **社区活跃度**: GitHub stars > 500, issues 响应时间 < 48h - **发布节奏**: 稳定的季度发布周期 --- ## 🔄 风险管控 ### 主要风险识别 1. **人力资源风险**: 核心开发者学业压力 - **缓解措施**: AI 主导开发,自动化流程 2. **技术债务风险**: 单体架构限制扩展性 - **缓解措施**: 优先进行模块化重构 3. **质量风险**: 快速开发可能引入 bug - **缓解措施**: 强化测试体系,CI/CD 自动化 4. **社区风险**: 响应延迟影响用户体验 - **缓解措施**: AI 自动响应,clear communication ### 应急预案 - **开发停滞**: 激活维护模式,专注稳定性 - **重大 bug**: 紧急热修复流程 - **性能回归**: 版本回滚和性能测试加强 --- ## 📈 长远愿景 (2026年后) ### v2.0+ 规划 - **现代脚本语言**: 完整的 shell 脚本支持 - **插件生态**: 丰富的第三方插件市场 - **云原生集成**: 容器、K8s、云服务支持 - **跨平台统一**: Windows WSL 完美支持 ### 成为现代 Shell 的标杆 - 性能超越传统 shell - 用户体验媲美现代 IDE - 社区驱动的功能发展 - 企业级稳定性保证 --- ## 🤝 社区参与 ### 贡献欢迎 即使在特殊时期,我们仍然欢迎社区贡献: - **Bug 报告**: 详细的问题描述和复现步骤 - **功能建议**: 在 GitHub Issues 中讨论 - **代码贡献**: 遵循贡献指南,小 PR 优先 - **文档改进**: 用户文档和示例完善 ### 加入我们 - 💬 **Discussion**: GitHub Discussions - 🐛 **Issues**: Bug reports and feature requests - 📝 **Wiki**: Community-maintained documentation - 🏷️ **Labels**: 使用 `[AI-Generated]`, `[Needs-Human-Review]` 等标签 --- **路线图最后更新**: 2025年9月26日 **负责人**: @Amiya167, Claude AI **版本**: v1.0 **下次更新**: 2025年12月1日 (v1.2.0 发布后) --- > 💪 让我们一起为恺源加油!期待2026年中考后他带着更强的技能回归,共同将 Leizi Shell 推向新的高度!🎓✨