重构命令行接口,建立清晰的子命令架构,提升用户体验和代码可维护性。 主要变更: - 移除传统模式,统一使用子命令架构(check/convert/preview) - 将 preview 从 convert 的标志独立为子命令,职责分离 - 重命名参数:--no-check → --skip-validation - 新增 --force/-f:convert 命令支持强制覆盖已存在文件 - 新增 --host:preview 命令支持配置主机地址(局域网预览) - 新增 --no-browser:preview 命令支持不自动打开浏览器 - 优化 --port 默认值:从固定端口改为随机端口(30000-40000) 破坏性变更: - 不再支持传统模式(yaml2pptx.py input.yaml output.pptx) - convert 命令不再支持 --preview 参数,需使用 preview 子命令 文档更新: - 更新 README.md 和 README_DEV.md 的所有使用示例 - 更新命令行选项说明表格 - 新增 CLI 接口规范文档 OpenSpec: - 创建 cli-interface 规范(新能力) - 更新 browser-preview-server 规范(修改的能力) - 归档 refactor-cli-args change(45/45 任务完成)
1.8 KiB
1.8 KiB
Why
当前 CLI 结构存在混乱:双模式解析(子命令模式和传统模式)增加了代码复杂度,preview 作为 convert 的一个标志导致职责不清晰。需要建立清晰的子命令架构,提升用户体验和代码可维护性。
What Changes
- BREAKING: 移除传统模式(直接
yaml2pptx.py input.yaml output.pptx),统一使用子命令模式 - BREAKING: 将 preview 从 convert 的
--preview标志独立为preview子命令 - 重命名参数:
--no-check→--skip-validation(更清晰的语义) - 新增
--force/-f参数:convert 命令支持强制覆盖已存在文件 - 新增
--host参数:preview 命令支持配置主机地址(支持局域网预览) - 新增
--no-browser参数:preview 命令支持不自动打开浏览器 - 优化
--port默认值:从固定 5000 改为随机端口(30000-40000) - 简化参数:移除不必要的
--verbose、--quiet、--strict、--format、--no-watch等参数
Capabilities
New Capabilities
cli-interface: 命令行接口规范,定义 check、convert、preview 三个子命令的参数、行为和交互方式
Modified Capabilities
browser-preview-server: 预览服务器的启动方式和参数配置发生变化,从 convert 的标志变为独立子命令,新增 host、no-browser 等配置选项
Impact
受影响的代码:
yaml2pptx.py:完全重构参数解析逻辑,移除双模式支持preview/server.py:修改start_preview_server函数签名,支持 host 和 open_browser 参数
破坏性变更:
- 用户需要从传统模式迁移到子命令模式
- 使用
convert --preview的用户需要改用preview子命令
文档更新:
README.md:更新所有使用示例和命令行选项说明