用途:在编写任何 Python 项目代码前必须查阅的综合规范指南,确保代码符合统一的工程约定,覆盖从工具链到编码风格的完整开发流程。
主要能力与约定: 工具链固定为——类型检查 ty check <FILE_PATH> --output-format concise;检查修复 ruff check --fix --unsafe-fixes <FILE_PATH>;格式化 ruff format <FILE_PATH>;运行测试 uv run pytest;同步依赖 uv sync --upgrade。明确要求不要直接使用 python,而改用 uv run。
参考资料:深度修改特定领域代码前必须先读对应文档,包括 references/async-programming.md(改 anyio/异步前)、references/type-hints-cheat-sheet.md(改复杂类型注解前)、references/exceptions.md(改错误处理前)、references/logging.md(改日志前)。
代码规范要点(依据示例):包内引用用相对导入且最多两级,三级以上用绝对导入;复杂返回值用 TypedDict 而非 dict/tuple;类型别名用 3.12+ 的 type 语句;普通类用 @attrs.define 或 @attrs.frozen,并用 attrs 验证器校验字段;每个模块定义独立基础异常,ServiceError 与 AuthError 互不继承;泛型用 3.12+ 的 [T]、[*P, R] 语法;异步统一用 anyio,并行任务用 anyio.create_task_group(),用 except 处理异常组;并发/顺序不要各自造轮子。此外要求:默认参数后置于 * 强制关键字调用;让意外异常自然抛出,不做无意义包装;except Exception 仅在必要(如崩溃屏障)时使用并加 # noqa 与说明;已知结构时用具体类型替代 Any;分支用 match 替代 isinstance 链;用 importlib.resources.files() 替代 file 路径拼接;保持缩进不超过三级并使用守卫子句;持有资源的 API 必须实现上下文管理器而非手动 open/close;入口点用 @logger.catch 自动记录异常。
限制:资料未提供该技能的安装方式、配置文件格式、支持的 Python 版本下限细节及是否收费等信息,暂未提供。使用时需具备 uv、ty、ruff 等工具环境。