该技能用于构建或调试基于 Typer 和 Rich 的 CLI 应用,聚焦正确性模式、非 TTY 环境行为及常见失败模式。当处理 Rich 表格渲染、非交互环境控制台输出、CliRunner 测试等问题时激活。
用途:为 Typer/Rich CLI 开发提供正确性指导,重点在非 TTY 环境与常见故障。用户输入若包含目录或文件,则针对该对象按指南检查;若为空,则作为既有任务的参考。
主要能力与内容:
- 非 TTY 与程序化使用:控制台无 TTY 时的行为、宽度默认值、force_terminal 与 width 的取舍、非交互上下文中的 Progress/Live、环境变量。参见 typer-rich-non-tty-patterns.md。
- Rich 表格宽度测量:防止非 TTY 输出在 80 列处换行的宽度测量模式。参见 typer-rich-tables.md。
- 测试模式:在 pytest 中捕获 Rich 输出、CliRunner 与 Rich 配合、快照测试、常见断言错误。参见 typer-rich-testing-patterns.md。
- 异常链防止:Typer 中通过 AppExit 与 AppExitRich 模式防止异常链,适用于实现错误处理时。参见 typer-rich-exception-handling.md。
- 可运行脚本示例:演示非 TTY 显示方案的脚本,以及包含 PEP 723 shebang、Typer + Rich 集成、Python 3.11+、异步处理的完整 CLI 演示。参见 typer_examples/index.md 与 python-cli-demo.py。
Typer CLI 框架 API 参考可加载 python-engineering:typer;Rich API 参考见 ../python3-cli/references/rich-console-and-markup.md 等相关文件。共享规则(架构、类型、测试、CLI 规则)参见 python-engineering:standards-for-python-development。
限制:资料未提供安装命令、具体代码内容、价格或平台支持范围,相关内容暂未提供。