SuperAPI AI 工具集

py-quality-setup

测试与质量

查看项目

更新于 10-15 23:48

技能介绍

用途:为 Python 3.13 及以上项目搭建完整的代码检查与类型检查环境,统一在 pyproject.toml 中配置 ruff、mypy、basedpyright,并可选使用 pyrightconfig.json 支持多包项目。

主要能力:配置 ruff 做 lint 与格式化(替代 black、isort、flake8),mypy 做严格类型检查,basedpyright 做补充类型分析;将工具加入 dev 依赖组;提供规范化的配置片段与验证清单;配置 Claude Code 权限与 Stop 钩子,使修改文件在返回用户前自动跑完整 lint 套件,有错误则阻止停止。

使用方式:先读取现有 pyproject.toml,确认 requires-python 与 dev 依赖,再补写 [tool.ruff]、[tool.mypy]、[tool.basedpyright] 段;多包项目改用 pyrightconfig.json 并移除 pyproject.toml 中的 basedpyright 段。安装可用 uv sync(推荐),或 uv venv 后 uv sync --group dev,回退方案为 python -m venv venv、source venv/bin/activate、pip install -e ".[dev]"。随后用 which ruff mypy basedpyright 与各 --version 验证,并运行 ruff check .、mypy .、basedpyright .。钩子部分执行 mkdir -p ~/.claude/hooks 与 ln -sf ~/.claude/skills/py-git-hooks/lint-gate.py ~/.claude/hooks/lint-gate.py,并在 ~/.claude/settings.json 的 Stop 钩子中调用 python3 ~/.claude/hooks/lint-gate.py。

适用场景:新项目初始化、为既有项目补充质量工具、遗留代码库渐进式收紧规则(先放宽 ruff 规则与 mypy strict=false,再逐步启用严格模式),以及为无类型存根的第三方包添加 mypy overrides。

限制:资料未提供该技能的具体收费、价格、平台支持范围与效果数据;配置中的行长度、源码目录、严格程度需按项目实际调整,示例命令与配置内容应保持原样使用。