# firebase_hosting.mjs

## Огляд

Перевірка правила `abie`: забороняє артефакти Firebase Hosting у підкаталогах репозиторію. За `abie.mdc` Firebase Hosting у проєкті не дозволено, тож наявність його конфігураційних файлів вважається порушенням. Перевірка лише читає файлову систему й рапортує — нічого не змінює.

## Поведінка

1. Зчитується вміст кореня репозиторію (за замовчуванням — поточний робочий каталог).
2. Якщо корінь не вдалося прочитати — фіксується помилка з поясненням і перевірка завершується невдало.
3. Відбираються лише підкаталоги **першого рівня**, окрім службових `.git` та `node_modules`. Сам корінь репозиторію навмисно не перевіряється: однойменні файли там можуть належати суміжним проєктам і не є порушенням.
4. У кожному відібраному підкаталозі шукаються заборонені артефакти Firebase Hosting:
   - файли `.firebaserc` та `firebase.json`;
   - директорія `.firebase/`.
5. На кожен знайдений артефакт видається повідомлення про порушення з відносним шляхом і вимогою його видалити (шлях нормалізується до `/`-роздільників). Обхід не переривається на першій знахідці — повідомляються всі порушення.
6. Якщо у жодному підкаталозі артефактів не знайдено — видається підтвердження успіху.

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

- Read-only: перевірка лише читає каталоги й перевіряє наявність файлів, нічого не створює й не видаляє.
- Fail-safe щодо помилок читання кореня: замість винятку повертається ненульовий код виходу з діагностичним повідомленням.
- Повертає `0`, якщо порушень немає, і `1`, якщо знайдено хоча б один заборонений артефакт (або корінь не прочитався).
- Сканується лише перший рівень вкладеності: глибші підкаталоги та сам корінь не перевіряються (рекурсивного обходу немає).
