---
type: JS Module
title: main.mjs
resource: npm/rules/text/run-shellcheck/main.mjs
docgen:
  crc: e365b165
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.99
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей механізм сканує всі відстежені (`git ls-files` з `pathspec :(glob)`) та невідстежені (`globSync` з виключенням `node_modules`) shell-скрипти (`*.sh`) у робочому дереві. Він реалізує двохетапний процес: спочатку автоматично застосовує виправлення потенційних порушень за допомогою `shellcheck` та `patch` (що використовує формат `diff`), а потім виконує фінальну валідацію кожного скрипта за допомогою звичайного `shellcheck`. Якщо `shellcheck` не знайдений або відсутній `patch`, процес завершується з відповідними підказками.

## Поведінка

Поведінка:
listShellScriptPaths знаходить відносні шляхи до всіх відстежуваних або знайдених скриптів з розширенням .sh у робочому дереві, виключаючи каталоги node_modules.
runShellcheckText виконує перевірку shell-скриптів: спочатку намагається автоматично виправити можливі помилки за допомогою `shellcheck` у режимі `diff` та інструменту `patch`, а потім проводить фінальний звітний прогін для всіх знайдених файлів.

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

listShellScriptPaths — надає шляхи до скриптів командного рядка, які мають бути перевірені.
runShellcheckText — виконує перевірку скриптів на відповідність стандартам ShellCheck із автоматичним виправленням.

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

- Read-only: не виконує операцій запису (ФС/БД).
- Свідомо пропускає шляхи: `node_modules`.
