---
type: JS Module
title: rule_meta.mjs
resource: npm/rules/npm-module/js/rule_meta.mjs
docgen:
  crc: 938ccd0a
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
---

## Огляд

Модуль перевіряє конфігурацію правил, розташованих у каталозі `npm/rules`. Він забезпечує наявність обов'язкового файлу `scripts.mdc` для кожного правила. Крім того, він валідує структуру метаданих у `meta.json`, перевіряючи відповідність полів, таких як `auto` та `lint`, визначеним контрактам. У процесі перевірки використовуються маркери повідомлень (scripts.mdc).

## Поведінка

1. Викликати `check` для початку валідації.
2. Перевірити наявність каталогу `npm/rules` у корені репозиторію. Якщо каталог відсутній, валідація завершується успішно.
3. Для кожного підкаталогу у `npm/rules` (який представляє правило):
    а. Перевірити наявність файлу `auto.md`. Якщо він присутній, реєструється помилка, оскільки метадані тепер знаходяться у `meta.json`.
    б. Перевірити наявність файлу `<id>.mdc` у каталозі правила. Якщо він відсутній, реєструється помилка, оскільки це обов'язковий файл (scripts.mdc).
    в. Зчитати вміст `meta.json` правила. Якщо файл відсутній або невалідний, реєструється помилка, і перевірка цього правила припиняється.
    г. Перевірити поле `auto` у `meta.json`. Якщо поле `auto` присутнє, воно повинно бути валідним (відповідати одному з визначених форматів, або бути відсутнім). Якщо поле `auto` містить невідомий предикат, реєструється помилка.
    ґ. Перевірити поле `lint` у `meta.json`. Якщо поле `lint` присутнє, воно повинно бути валідним (відповідати "per-file" або "full"). Також перевіряється, чи експортує файл `main.mjs` у каталозі правила функцію `lint` відповідно до зазначеного значення `lint`.
    і. Якщо всі перевірки для правила пройшли успішно, реєструється повідомлення про валідність `meta.json`.
4. Після обробки всіх правил, повертається код виходу, що відображає загальний статус валідації.

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

check — перевіряє відповідність усіх файлів `npm/rules/<id>/meta.json` встановленим критеріям.

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

- Read-only: не виконує операцій запису (ФС/БД).
