---
docgen:
  source: npm/skills/doc-files/js/docgen-extract.mjs
  crc: 26bb2901
---

# docgen-extract

## Огляд

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

## Поведінка

1. Провідний блок-коментар файлу (до першого коду) стає «наміром файлу»; з документувальних коментарів перед кожним експортом витягуються опис, параметри та опис повернення, відкидаючи беззмістовні заглушки.
2. Збираються всі експортовані оголошення з безпосередньо передуючими їм коментарями.
3. Імпорти класифікуються на stdlib / npm / внутрішні; імена символів, імпортованих із внутрішніх модулів, складають список internalSymbols — модель не має згадувати їх у доці, а скорер штрафує за витік.
4. Маркери поведінки визначаються евристиками по тексту: read-only (немає запису у файлову систему), перехоплення помилок, повернення false/null при невдачі, звертання до мережі, кешування, свідомі пропуски шляхів.
5. Для розширень поза js/mjs/ts повертається позначка unsupported — конвеєр переходить на one-shot-шлях.

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

- `extractFacts` — головна точка: текст джерела + шлях → факт-лист `{header, exports, imports, internalSymbols, markers}` або `{unsupported: true}`.

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

- Повністю детермінований: однаковий вхід → однаковий факт-лист; жодних LLM-викликів і мережі.
- Read-only: файл не виконує операцій запису у файлову систему.
- Евристики свідомо толерують надлишок (зайвий маркер — менша проблема, ніж пропущений).
