用途:为 Python 项目提供统一的现代开发规范,覆盖依赖管理、代码检查、格式化、类型检查与测试,适用于编写或审查 Python 代码、初始化项目及配置 pyproject.toml。
主要能力:工具链由 uv(依赖与虚拟环境,锁文件 uv.lock)、ruff(替代 black、isort、flake8 的检查与格式化)、mypy(严格模式类型检查)、pytest(测试与覆盖率)组成。要求所有函数和类显式标注类型,mypy 开启 strict、disallow_untyped_defs、disallow_any_generics。包结构按功能域而非分层组织,如 src/myproject/users、orders、shared,各域通过 init.py 的 all 暴露公共 API。错误处理要求捕获具体异常并附上下文,禁止裸 except、静默吞异常和 except Exception。
使用方式:初始化与依赖用 uv init && uv add <deps> && uv sync;日常流程为 uv run ruff check . --fix && uv run ruff format .,再执行 uv run mypy . && uv run pytest。配置集中在 pyproject.toml,包含 project 元数据、可选依赖 dev、ruff 规则选择与行宽、pytest 测试路径与覆盖率阈值(示例为 --cov-fail-under=85)。
限制与反模式:避免无理由使用 Any、按层划分目录(controllers/models/views)、循环导入、遗留工具(pip、black+isort、flake8)、多份配置文件以及无理由的 noqa 注释。资料另附 testing-patterns.md 与 ruff-config.md 参考文档,具体内容暂未提供。