---
docgen:
  source: npm/skills/start-check/js/check.mjs
  crc: 1f8fb2f0
  score: 95
---

# check.mjs

## Огляд

Файл надає інструменти для класифікації типів процесу, сканування конфігурації воркспейсів, парсингу логів та запуску скриптів.

## Поведінка

classifyStartType
Визначає тип процесу як сервер чи CLI на основі команди.

scanStartWorkspaces
Сканує монорепо для отримання інформації про наявність та конфігурацію `start` скриптів у воркспейсах.

parseStartLog
Парсить лог процесу для визначення готовності, першої помилки та останніх рядків.

runWorkspaceStart
Запускає `start` для одного воркспейсу з тайм-аутом і класифікує результат.

runStartCheckCli
Обробляє аргументи командного рядка для сканування або запуску тестування воркспейсів.

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

- classifyStartType — визначає, чи команда `start` належить до довготривалого процесу (серверу) чи одноразової дії (CLI).
- scanStartWorkspaces — переглядає монорепо, витягуючи команду `start`, її команду та тип для кожного воркспейсу.
- parseStartLog — витягує з логу стадії: готовність (сервер), перша помилка або фінальний результат.
- runWorkspaceStart — ініціює запуск `start` для одного воркспейсу з обмеженням часу та класифікує отриманий результат.
- runStartCheckCli — CLI-команда: команда `scan` генерує список воркспейсів зі `start`; команда `run <ws>` запускає один воркспейс і виводить класифікований результат у stdout.

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

- Read-only: файл не виконує операцій запису у файлову систему.
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- За невдачі повертає значення помилки (`false`/`null`/`Err`) замість генерування винятку чи паніки.
- Не звертається до мережі.
