t8nax

worktree

"Рабочие копии проекта под китом — git worktree рядом с репозиторием: /worktree [имя] заводит копию под именем от оператора или случайным из трёх английских слов, /worktree remove <путь> убирает копию с закрытой задачей. Не для взятия проекта под кит — это /onboard."

t8nax 0 Updated 4w ago
GitHub

Install

npx skillscat add t8nax/agents-kit/worktree

Install via the SkillsCat registry.

SKILL.md

Навык: worktree

Завести копию или убрать её и назвать оператору, что стало. Работу в копии скилл не ведёт: сессию там открывает оператор.

Скрипты: ..\..\scripts\worktree-add.ps1 и ..\..\scripts\worktree-remove.ps1 от каталога этого скилла.

Слово remove или просьба убрать копию — «Убрать», иначе — «Завести».

Кит промолчал или пришёл текст разрыва — не заводить и не убирать: сказать, что проект берётся под кит скиллом /onboard, или что разорвано.

Завести

  1. Имя названо — worktree-add.ps1 -Name <имя>; не названо — без -Name, имя будет случайным. Об имени не спрашивать.
  2. Скрипт отказал — показать его строку как есть. Названное имя не менять и похожего не подбирать.
  3. Назвать путь новой копии и ветку из вывода, а сказал скрипт, где открывать сессию или что с субагентами базы, — и эти строки.

Убрать

  1. Сессия открыта в убираемой копии — не убирать: сказать оператору открыть сессию в другой копии этого проекта.
  2. Названо имя, а не путь — путь взять из git worktree list основной копии, сверяя имя с последним отрезком пути, а не с веткой; не нашлось или подошло несколько — сказать и остановиться.
  3. worktree-remove.ps1 -Path <путь копии>.
  4. Скрипт отказал — показать его строку как есть; отказ по памяти — сказать, что задачу закрывает сессия /drive в самой копии.
  5. Назвать удалённый путь и оставшуюся ветку из вывода.

Чего не делать

  • Не открывать сессию в новой копии, не заводить там память и не запускать /drive.
  • Не связывать копию link.ps1 и не снимать связь.
  • Не убирать основную копию, файл памяти в базе и ветку убранной копии.
  • Не звать git worktree add и git worktree remove руками и не обходить отказ скрипта.

Categories