关于 shunk031-python-uv-workflow
为 Python 项目提供基于 uv 的开发与重构工作流,适用于编写、测试和维护 Python 代码的开发者。内容还规定路径构造、依赖解析配置及测试应遵循的项目策略。
主要功能
- 01默认使用 uv 管理工具链
- 02通过 uv run 运行脚本
- 03行为变更时编写并运行测试
- 04遵循项目配置与质量门禁
- 05从源码位置构造路径
适用场景
- 01在 Python 项目中运行脚本和测试
- 02重构时验证行为与输出一致
- 03检查 uv 锁文件和配置
- 04审查路径代码是否可移植
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ shunk031/ skills --skill shunk031-python-uv-workflow安装后在 Claude Code 中输入/shunk031-python-uv-workflow确认已加载。
附带文件agents/openai.yamlreferences/python-uv-rules.md
详细介绍
说明
阅读此
SKILL.md后,请说:🐍 I read shunk031-python-uv-workflow.
Python UV 工作流
概述
使用此工作流,确保 Python 实现和重构符合仓库政策。
工作流
- 将
uv用作 Python 项目的默认工具链。 - 使用
uv run <script>运行脚本。 - 行为发生变化时编写测试,并验证预期行为。
- 使用
uv添加标准开发依赖项。 - 遵循现有项目的设置和质量门禁。依赖项设置完成后,如果项目或仓库有要求,请安装 pre-commit 钩子。
- 对于新项目或明确的设置请求,只添加请求或仓库政策所需的项目配置;不要为单独的脚本编辑创建
.pre-commit-config.yaml或Makefile。 - 将影响解析器的 uv 设置(例如
exclude-newer)保留在用户的全局 uv 配置之外:uv lock会将这些设置记录在锁文件的[options]块中,因此任何未设置相同配置的环境都会在每次非冻结的uv run、uv sync或uv-lock钩子运行时重新解析并改写锁文件。需要此类设置的项目必须在自己的pyproject.toml中的[tool.uv]下声明;含有未声明[options]块的已提交锁文件存在缺陷,必须通过重新生成锁文件来修复。 - 从非
uv原始项目重构时,应使依赖项保持一致,并验证输出一致性。达到仓库的覆盖率目标;仅当重构或仓库要求时,才将覆盖率提高到 90% 左右。 - 从源文件锚点构造 Python 路径,并将每个路径组件分别作为操作数:
- 禁止:
Path("/path/to") / "hoge"和REPO_ROOT / "home/dot_codex/hooks/session_start_gateway.py" - 必须:
Path(__file__).parents[N] / "path" / "to" / "hoge"传递给Path或用作/操作数的字符串字面量中,绝不能包含由/或\分隔的多个路径组件。将路径锚定到源文件,可确保路径在文件移位后以及不同工作树中仍然有效,而不依赖主机布局。允许通过 CLI 参数或环境变量显式提供根路径;仍然禁止硬编码绝对路径字符串。 完成 Python 更改前,请检查所有已更改的Path(...)和/表达式,确认其中没有包含路径分隔符的字符串操作数。
- 禁止:
- 根据变量的语义角色命名。当同一概念有多种表示形式时,仅在需要区分时添加
_path、_text或_data等限定词;如果变量角色已明确,不要机械地添加类型后缀。
测试期望
- 行为发生变化时,应在重构前添加测试。
- 可行时优先使用真实数据,而非模拟和 monkeypatch。
- 遵循项目声明的覆盖率目标;不要强制采用统一的百分比。
使用 python-uv-rules.md 查看准确命令和规范钩子配置。
评论
支持 Markdown