---
docgen:
  source: npm/scripts/worktree-cli.mjs
  crc: 4fb54376
  score: 100
---

# worktree-cli.mjs

## Огляд

Файл є CLI-оркестратором `worktree-tool` для керування конвенцією `.worktrees/`. Він забезпечує виконання Git-операцій для додавання, видалення, перегляду та прибирання робочих просторів.

## Поведінка

1.  Запуск підкоманди add. Перевіряється наявність необхідного імені гілки та опису. Перевіряється унікальність назви для створення нового worktree. Збирається нагадування про незакомічені зміни основного дерева. Виконується git команда для створення worktree. Якщо команда не успішна, повертається помилка. Створюється та записується опис у файлі `.worktrees/`. Повертається код виходу.
2.  Запуск підкоманди remove. Перевіряється наявність імені гілки. Перевіряється наявність необхідного імені гілки. Визначається шлях до worktree. Виконується git команда для видалення checkout. Якщо команда не успішна, повертається помилка. Якщо вказано прапорець --force, використовується примусовий режим. Видаляється відповідний файл опису. Повертається код виходу.
3.  Запуск підкоманди list. Виконується git команда для отримання списку worktree. Виводиться результат. Для кожного зареєстрованого файлу опису з директорії `.worktrees/` зчитується вміст файлу та виводиться. Повертається код виходу.
4.  Запуск підкоманди prune. Виконується git команда для прибирання worktree. Визначається список осиротілих файлів опису. Виконується git команда для прибирання worktree. Для кожного осиротілого файлу опису видаляється відповідний файл. Повертається код виходу.

## Публічний API

runWorktreeCli — Запускає команду для роботи з підкомандою worktree.

## Гарантії поведінки

- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- За невдачі повертає значення помилки (`false`/`null`/`Err`) замість генерування винятку чи паніки.
- Не звертається до мережі.
