Ruff 配置架构师
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/ruff-linter-configuration-architect
技能介绍
解决什么问题
当你在 Python 项目中从 Flake8、isort 和 Black 迁移到 Ruff 时,最头疼的不是工具本身,而是如何把旧配置里的规则完整、正确地映射到 pyproject.toml。手动比对每个规则、调整参数,既耗时又容易遗漏,尤其当团队有自定义规则或忽略模式时,迁移后的代码检查行为可能和原来不一致。这个技能就是用来消除这种摩擦的。
技能如何工作
它基于 ruff CLI 和 pyproject.toml 的 schema 工作。核心流程是:先读取你现有的 Flake8、isort、Black 配置,然后自动识别其中的规则和参数,再生成对应的 Ruff 配置。对于能直接映射的规则,比如 Flake8 的 E501 对应 Ruff 的 line-too-long,它会自动转换;对于需要调整的规则,比如 isort 的 profile 设置,它会给出合理的默认值或提示你确认。最终生成的配置会放在 pyproject.toml 中,确保与 Ruff 的实际行为一致。
适用边界与注意点
这个技能主要处理规则映射和基础配置,不会深入到你的项目代码逻辑或依赖管理。如果项目中有非常特殊的规则组合或第三方插件,可能需要手动调整生成的配置。另外,它假设你的旧配置是标准的 Flake8、isort 或 Black 格式,如果配置本身已经混乱,生成的配置可能也需要进一步梳理。
使用场景
- Python 项目要从 Flake8 迁移到 Ruff,需把旧规则完整映射进 pyproject.toml。
- 代码库同时使用 isort、Black 和 Flake8,想合并配置到 Ruff 并避免规则冲突。
- pyproject.toml 已存在但未启用 Ruff,需要根据旧工具配置生成初始 lint 规则。
- 调整 Ruff 配置后,需要确认 Flake8、isort、Black 的忽略项和参数行为保持一致。
适合人员
- Python 后端工程师:团队要求从 Flake8 切到 Ruff,需要保持原有检查行为不变。
- 开源库维护者:希望统一 isort、Black、Flake8 配置到 Ruff,减少 CI 工具维护。
- 平台工程师:负责统一 lint 配置模板,需要处理多个项目的旧规则迁移和差异。
- CI/DevOps 工程师:用 Ruff 替代多个旧 linter,需要自动映射规则并排查行为差异。