---
type: JS Module
title: normalize-cli.mjs
resource: npm/scripts/lib/adr/normalize-cli.mjs
docgen:
  crc: c93ea883
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.99
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Виконувати локальну обгортку для нормалізації рішень ADR через `runAdrNormalizeLocalCli`. Цей механізм використовується замість одноразового виклику LLM у робочому процесі, де скрипт `.claude/hooks/normalize-decisions.sh` готує батч та список "clean"-ADR. Функція зчитує списки чернеток (задані через `--batch`) та "clean"-ADR (задані через `--clean`) з файлів. Конфігурація нормалізації визначається через змінні середовища, такі як `ADR_NORMALIZE_ALLOW_CLOUD` та `ADR_NORMALIZE_VOTES`. Пайплайн обробляє ці дані, виводячи JSON-контракт із операціями у стандартний вихід (stdout) для подальшого парсингу зовнішнім bash-скриптом, тоді як детальний прогрес записується у стандартний помилковий вихід (stderr).

## Поведінка

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

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

- runAdrNormalizeLocalCli — Виводить JSON з операцій для нормалізації ADR у стандартний вивід.

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

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