SuperAPI AI 工具集

black-to-ruff-format

编程与开发

查看项目

更新于 10-15 23:49

技能介绍

用途:把 Python 项目的格式化工具从 black 迁移到 ruff format(Rust 编写、与 Black 兼容的格式化器)。当 .pre-commit-config.yaml 含 psf/black、pyproject.toml 含 [tool.black],或仓库已用 ruff 做 lint 并希望统一格式化时适用。若团队强依赖 black 的精确输出、CI 按名称使用 black --check,或构建脚本调用 black API,则应保留 black。

主要能力:审计现有 black 配置;替换 pre-commit 钩子;迁移 [tool.black] 配置到 [tool.ruff] 与 [tool.ruff.format];从开发依赖中移除 black;验证迁移结果。

使用方式:命令 /migration-patterns:black-to-ruff-format,参数 --check-only 仅报告不改动,--fix 自动应用。执行步骤包括:读取 .pre-commit-config.yaml 定位 psf/black,读取 pyproject.toml 提取 [tool.black];移除 psf/black 块并加入 astral-sh/ruff-pre-commit 的 ruff 与 ruff-format 钩子;配置映射如 line-length、target-version 合并到 [tool.ruff],skip-string-normalization 对应 quote-style = "preserve",skip-magic-trailing-comma 与 preview 对应同名项;用 uvx --from uv uv remove --dev black 移除依赖;运行 pre-commit run ruff-format --all-files 验证,也可用 uvx ruff format --check . 检查。

限制:ruff format 与 Black 约 99.9% 输出兼容,首次运行可能重排少量文件,需审查 diff 并一并提交。非 uv 项目需手动移除 black。资料未提供价格、平台等信息。