Skip to content

using-git-worktrees Skill 对所有 pyproject.toml 项目执行 poetry install

问题

using-git-worktrees Skill 的 Python 项目初始化步骤会无条件对所有包含 pyproject.toml 的项目运行 poetry install

bash
# SKILL.md 中的当前实现
if [ -f pyproject.toml ]; then poetry install; fi

这导致:

  • 使用 uvpiphatch 等其他包管理器的项目被错误地用 poetry install 初始化
  • 如果系统未安装 poetry,脚本直接报错中止
  • uv 项目运行 poetry install 会因为格式不兼容而失败

解决方案

社区已提交 PR #1109 修复此问题,修复逻辑为先检测项目类型再决定用哪个命令:

bash
if [ -f pyproject.toml ]; then
  if grep -q '\[tool\.poetry\]' pyproject.toml; then
    poetry install
  elif [ -f uv.lock ]; then
    uv sync
  else
    pip install -e . 2>/dev/null || true
  fi
fi

临时绕过(等待 PR 合并):

在你的项目目录中创建一个 .claude/CLAUDE.md,覆盖 Skill 的 Python 初始化步骤:

markdown
## 项目初始化

本项目使用 uv,初始化时请运行 `uv sync`,不要使用 `poetry install`

这样 Claude 会优先遵循项目级 CLAUDE.md 的指令。

影响版本:所有包含此逻辑的 using-git-worktrees Skill 版本
Issue#1108,修复 PR:#1109