SuperAPI AI 工具集

uv-strict-python

编程与开发

查看项目

更新于 10-15 23:48

技能介绍

用途:该技能把 Python 项目对齐到 Python Tooling SSOT 标准,强调一套小而严格、在 CLI、VS Code 和 CI 中行为一致的工具链,避免多个工具给出相互矛盾的反馈。代码形态与智能体行为规则由配套的 Python Coding 标准负责,写在 coding-standard.md 中,建议两者同时阅读。

主要能力:覆盖工具链、项目布局和验证门禁三部分。工具分工为 uv 负责依赖解析、锁文件、虚拟环境与命令执行;Ruff 负责格式化、检查与导入排序;BasedPyright 负责严格类型检查;pytest 加 coverage.py 负责分支覆盖率;pip-audit 负责依赖漏洞扫描,安全基线另有 Dependabot 更新 PR。原则是每种语义/类型权限只保留一个(BasedPyright),格式/检查/导入权限只保留一个(Ruff)。

使用方式:需先判断门禁路径。已采纳标准的仓库以仓库自有门禁为准,运行 uv run python scripts/check.py;未采纳的独立项目或脚本使用回退门禁:uv run ruff format --check .、uv run ruff check .、uv run basedpyright、uv run coverage run -m pytest、uv run coverage report、uv run pip-audit。修改代码前先跑修复步骤:uv run ruff format . 与 uv run ruff check . --fix。项目创建走 uv init --package,依赖用 uv add/uv remove,禁止手工编辑依赖或手动激活虚拟环境。

适用场景:新建 Python 项目或包、配置或审计 pyproject.toml、设置格式化与检查、类型检查、测试、覆盖率与漏洞审计、编写带外部依赖的 Python 脚本、从 requirements.txt、setup.py、flake8、black、isort、mypy 等旧工具迁移。

限制:若用户明确要保留旧工具,应尊重现有工作流并记录为例外;非 Python 项目或 Python 非主体的混合代码库不适用。标准本身不可协商,仅其覆盖范围可通过配置调整。单文件脚本用 PEP 723 内联元数据,不套用项目布局。开发依赖应放 dependency-groups。强制层为可选,默认的 python-command-guard 钩子按标记激活,PATH shim 需显式开启;即使两层都未激活,技能规则仍然适用。uv 机制细节未在本资料中完整展开,必要时查阅官方文档,不要凭记忆猜测参数。