---
type: JS Module
title: normalize-cli.mjs
resource: npm/scripts/lib/adr/normalize-cli.mjs
docgen:
  crc: 63a18347
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 90
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей файл є CLI-обгорткою для локального нормалізатора ADR. Він зчитує шляхи до чернеток (`--batch <file>`) та список чистих ADR (`--clean <file>`), використовуючи директорію ADR (`--adr-dir <dir>`) для резолву шляхів. Обгортка запускає `normalizePipeline`, яка генерує JSON-контракт у форматі `{ "operations": [...] }` та виводить його у stdout для подальшого парсингу bash-скриптом. Прогрес та помилки записуються у stderr. Поведінка нормалізатора може бути змінена через змінні середовища: `ADR_NORMALIZE_ALLOW_CLOUD` контролює можливість хмарної ескалації, а `ADR_NORMALIZE_VOTES` визначає кількість голосів self-consistency для чистих ADR.

## Поведінка

1. Викликати runAdrNormalizeLocalCli.
2. Зчитувати список шляхів до чернеток батчу з файлу, вказаного через аргумент `--batch`.
3. Зчитувати список імен чистих ADR (кандидатів до злиття) з файлу, вказаного через аргумент `--clean`, якщо він наданий.
4. Визначати директорію ADR, використовуючи аргумент `--adr-dir` або за замовчуванням `cwd/docs/adr`.
5. Зчитувати вміст кожної чернетки батчу, резолвя шляхи відносно `--adr-dir`.
6. Зчитувати значення змінних середовища `ADR_NORMALIZE_ALLOW_CLOUD` та `ADR_NORMALIZE_VOTES`.
7. Викликати внутрішній механізм нормалізації, передаючи зібрані чернетки, список чистих ADR, та конфігурацію, отриману з змінних середовища.
8. Виводити інформацію про прогрес та статистику в stderr.
9. Виводити JSON-об'єкт, що містить операції, у stdout.

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

runAdrNormalizeLocalCli — запускає субкоманду, виводячи JSON операцій у стандартний вивід та прогрес у стандартний помилковий вивід.

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

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