# sync-gitignore-worktree.mjs

## Огляд

Файл забезпечує, що кореневий `.gitignore` проєкту ігнорує локальні git-worktree. Він гарантує, що всі артефакти, пов'язані з worktree, правильно включені в `.gitignore`, забезпечуючи консистентність та уникнення непередбачуваних проблем. Це ключовий компонент системи завжди-активного flow/worktree-tooling.

## Поведінка

1.  Визначає корінь проєкту.
2.  Перевіряє наявність в кореневому файлі `.gitignore` запису, що відповідає каталогу `.worktrees/`.
3.  Якщо запису немає, викликає утиліту для додавання запису `.worktrees/` до `.gitignore`.
4.  Утиліта додає запис, якщо його ще немає, інакше не робить нічого.
5.  Повертає значення `true`, якщо запис було додано, інакше `false`.

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

syncGitignoreWorktree — Синхронізує файл `.gitignore` в каталозі `worktrees` з кореневим файлом `.gitignore`.

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

- Гарантує, що кореневий `.gitignore` проєкту ігнорує локальні git-worktree (`.worktrees/`).
- Викликається з дефолтного sync (`npx \@nitra/cursor`) окремим top-level кроком.
- Не викликається в контексті `syncClaudeConfig`.
- `.worktrees/` є артефактом завжди-активного flow/worktree-tooling.
- Один запис `.worktrees/` покриває каталог worktree та всі sibling-файли в ньому.
- Запис безумовний, без гейта за `.n-cursor.json`-правилами.
- Продюсер артефактів — завжди-активний flow.
- Делегує наявній idempotent+append-only утиліті `ensureGitignoreEntries`.
- `ensureGitignoreEntries` не перезаписує/не видаляє наявні рядки.
- `ensureGitignoreEntries` створює `.gitignore`, якщо нема.
- Не використовує кешування.
