# Write

Створює новий файл або повністю замінює вміст наявного в локальній файловій системі. Оскільки він замінює все за цільовим шляхом, його слід резервувати для справжнього створення чи навмисних повних переписів.

## Коли використовувати

- Створення нового файлу вихідного коду, тесту чи конфігурації, якого ще не існує
- Генерація свіжої фікстури, снапшота чи файлу даних з нуля
- Виконання повного перепису, де інкрементальний `Edit` був би складнішим, ніж починати з нуля
- Видача запитаного артефакту, такого як схема, міграція чи скрипт збірки, який користувач явно попросив вас створити

## Параметри

- `file_path` (string, обовʼязковий): Абсолютний шлях до файлу для запису. Будь-які батьківські каталоги повинні вже існувати.
- `content` (string, обовʼязковий): Повний текст для запису у файл. Це стає всім тілом файлу.

## Приклади

### Приклад 1: Створення нового модуля-помічника
Викличте `Write` з `file_path: "/Users/me/app/src/utils/slugify.ts"` і надайте реалізацію як `content`. Використовуйте це лише після перевірки, що файл ще не існує.

### Приклад 2: Регенерація похідного артефакту
Після зміни джерела схеми перепишіть `/Users/me/app/generated/schema.json` одним викликом `Write`, використовуючи свіжозгенерований JSON як `content`.

### Приклад 3: Заміна маленького файлу фікстури
Для одноразової тестової фікстури, де кожен рядок змінюється, `Write` може бути чіткішим, ніж послідовність викликів `Edit`. Прочитайте файл першим, підтвердіть область, потім перезапишіть.

## Примітки

- Перед перезаписом наявного файлу ви повинні викликати `Read` на ньому в поточній сесії. `Write` відмовляється перетирати небачений вміст.
- Віддавайте перевагу `Edit` для будь-якої зміни, що торкається лише частини файлу. `Edit` надсилає лише diff, що швидше, безпечніше й легше переглядати.
- Не створюйте проактивно Markdown-документацію, `README.md` чи файли журналу змін, якщо користувач явно не просить про них.
- Не додавайте емодзі, маркетингові тексти чи декоративні банери, якщо користувач не запитує такий стиль.
- Спочатку перевірте, що батьківський каталог існує, викликом `Bash` `ls`; `Write` не створює проміжних папок.
- Надавайте вміст точно таким, яким ви хочете, щоб він зберігся; немає шаблонізації чи постобробки.
