用途:在编写或编辑 Python 代码前加载的规范技能,用于统一项目的类型、错误处理、异步、风格与架构标准。资料称其继承 myai 的 engineering-principles,需先加载该父技能。
主要能力: 类型系统:basedpyright 严格模式配置(pythonVersion、typeCheckingMode=strict、reportAny=error 等),禁用 Any、禁止无理由的 type: ignore,要求显式返回类型。外部数据用 msgspec.Struct/convert 解析,域对象用 dataclass(frozen=True, slots=True),鸭子类型用 Protocol,常量用 Final,并提供 TypeIs 守卫与模式匹配。 错误处理:预期失败用 rusty-results 的 Result[T, E],异常仅用于程序错误;划分库、组件、全局三层错误边界;要求检查每个 Result,禁止吞掉错误,失败时清理中间状态。 异步:协程任务边界必须用 try/except 兜底以保证 UI 进入终态;用 asyncio.create_subprocess_exec,禁止 shell=True 与异步中同步阻塞;httpx 请求与 asyncio.timeout 超时。 风格与跨平台:行宽 120、4 空格、双引号,import 分三段;命名 snake_case/PascalCase/UPPER_SNAKE;用 pathlib 与 platformdirs,避免 POSIX 专属模块。 用法:通过 uv 运行项目本地工具,如 uv run python、uv run pytest、uv run ruff、uv run basedpyright、uv run poe、uv run pre-commit;常规验证为 uv run poe lint_full 与 uv run poe test,并持续运行 lint_full。 适用场景:中大型 Python 项目的类型安全、错误处理、异步任务与跨平台规范约束。 限制:资料未说明收费、价格与具体平台支持细节,暂未提供;部分配置与规则随项目规模可选。