API ВЕГА

Навык подготавливает отдельное рабочее пространство для задачи, чтобы изменения не затрагивали текущую ветку. Сначала проверяет, не работает ли agent уже в изолированной среде; затем предпочитает native worktree tools и использует git worktree только как запасной вариант.

Возможности

  • Определяет linked worktree и отличает его от обычного checkout и submodule.
  • Перед созданием worktree запрашивает согласие, если предпочтение пользователя ещё не указано.
  • Выбирает папку с учётом инструкций и существующих .worktrees или worktrees; проверяет, что она добавлена в .gitignore.
  • Устанавливает зависимости по конфигам проекта для Node.js, Rust, Python и Go.
  • Запускает baseline-тесты и сообщает, если они падают.

Когда использовать

  • Перед реализацией функции, которую нужно изолировать от текущей работы.
  • Перед выполнением плана реализации.
  • Если нужно проверить, уже ли agent работает в worktree, или подготовить чистую среду с установленными зависимостями и пройденными тестами.

Примеры

Проверить, находится ли текущая папка в отдельном worktree:

GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)

Проверить, что папка для worktree игнорируется Git:

git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null

Создать worktree с помощью Git, если native worktree tools недоступны:

path="$LOCATION/$BRANCH_NAME"
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"

Установка

npx skills add https://github.com/obra/superpowers --skill using-git-worktrees