---
type: JS Module
title: lint.mjs
resource: npm/rules/doc-files/js/lint.mjs
docgen:
  crc: ca055f8f
  score: 100
---

Адаптер правила doc-files до агрегатора `n-cursor lint`. Дає агрегатору відповідь на одне
питання: чи має кожен дотичний кодовий файл актуальну файлову документацію поряд із собою.

## Поведінка

У quick-фазі отримує список змінених файлів і зводить його до набору джерел для перевірки в
**обидва** боки: змінене джерело перевіряється проти своєї доки, а змінена або видалена дока
(`<dir>/docs/<stem>.md`) повертається до відповідного джерела з тим самим іменем у каталозі над
`docs/`. У ci-фазі (списку немає) обходить усе дерево.

Порушенням вважається відсутня дока (`missing`) або розбіжність контрольної суми джерела з тією,
що записана у frontmatter доки (`crc-mismatch`). Документ із низькою якістю, але свіжою сумою —
не порушення.

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

`lint` — перевіряє документацію для переданого набору змінених файлів (або всього репозиторію,
якщо набір не задано); повертає код виходу `1`, якщо є застарілі чи відсутні доки, інакше `0`.
Список проблемних файлів друкується у stderr із підказкою регенерувати.

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

- Детермінованість: жодного виклику мовної моделі, рішення лише за контрольною сумою.
- Реверс-мапінг доки до джерела перебирає лише кодові розширення і повертає наявний файл-кандидат.
- Порожній набір змінених файлів дає код `0` без обходу дерева.
