Community编程与开发github.com

ismailuddin/agentic-skills

将 Python 包项目结构迁移为使用 uv、ruff 和 prek。

agentic-skills 是什么?

该技能文档详细指导如何将一个基于 PEP-517 规范(使用 setup.cfg)的 Python 包迁移至采用 pyproject.toml 和 uv 工具的现代项目结构。迁移过程包括将 setup.cfg 中的配置转移到 pyproject.toml,删除 setup.cfg,通过 uv CLI 导入依赖,并替换构建系统为 uv_build。同时,技能会移除 pylint、flake8、isort、black 等旧工具及其配置,改用 ruff 进行代码检查和格式化,并配置 ruff 强制单行导入。此外,还需将 pytest.ini 的配置合并到 pyproject.toml,将 pre-commit 钩子替换为 prek,并更新 CI/CD 流水线以使用 uv。该技能适用于任何希望将 Python 包仓库结构迁移至符合 uv 工具链标准的开发者,支持包括 Claude Code、Cursor、Codex 在内的主流 AI 代理平台。通过执行这些步骤,项目将获得更快的构建速度、统一的代码风格检查和现代化的依赖管理,大幅提升开发效率。

兼容平台~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/ismailuddin/agentic-skills/tree/HEAD/migrate-to-uv

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

migrate-to-uv

本技能文档说明如何将一个基于 PEP-517 规范(使用 setup.cfg)的 Python 包迁移至使用 pyproject.toml 和 uv 的现代结构。

何时使用

当用户要求将 Python 包仓库结构迁移为符合 uv 规范的格式时,应使用此技能。

操作指南

  1. 将 setup.cfg 的内容移至 pyproject.toml 并删除 setup.cfg
  2. 添加一个 .python-version 文件,指定版本为 3.11
  3. 使用 uv CLI 将 requirements-dev.txt 中的依赖导入到 pyproject.toml(即执行 uv add -r requirements-dev.txt)
  4. 将构建系统切换为使用 uv_build,并从开发依赖中移除 build
  5. 将 Commitizen 的版本提供者配置为 uv
  6. 从开发依赖中移除 pylint、flake8、isort、black,并替换为 ruff。删除所有相关配置文件,如 pylintrc、.flake8,以及 setup.cfg 和/或 pyproject.toml 中的相关配置
  7. 使用以下指导配置 ruff,强制单行导入
  8. 将 pytest.ini 的配置移至 pyproject.toml
  9. 将 black、pylint、isort、flake8 的 pre-commit 钩子替换为 ruff
  10. 从依赖中移除 pre-commit,并替换为 prek
  11. 对代码库运行 ruff format 和 ruff check --fix
  12. 更新所有 CI/CD 流水线以使用 uv

配置 ruff 强制单行导入

[tool.ruff.lint.isort]
force-single-line = true

[tool.ruff.lint]
select = ["F", "I"]

相关技能