Skip to content

check

Запускает скан и завершается с ненулевым кодом, если сработало хотя бы одно из правил --fail-on. Создан для гейтов CI / pre-commit.

Синопсис

archora check [path] --fail-on <rule> [--fail-on <rule>…] [options]

Минимум один --fail-on обязателен.

Правила

--fail-on повторяемый. Каждое правило — <key>:<value>:

ПравилоСрабатывает, когда…Нужен --base?
grade:<A|B|C|D|F>archDebt grade ≤ порогнет
cycles:<N>количество циклов в скане > Nнет
layer-violations:<N>количество нарушений слоёв > Nнет
recommendations:<N>общее количество рекомендаций > Nнет
new-cycles:<N>дифф против --base добавляет > N цикловда

Семантика порога: cycles:0 срабатывает, когда циклов больше нуля, т. е. хотя бы один. cycles:5 допускает до 5.

Опции

ОпцияЗначение
--fail-on <rule>Повторяемое. Правило, валящее ран (см. выше).
--base <file>Baseline JSON-снапшот. Обязателен для new-cycles.
--quietГлушит "OK / FAIL" сводку в stderr.
--help, -hПоказать справку.

Вывод

  • Pass: в stderr строка OK: N rule(s) passed. Grade …, K cycles, L violations., exit 0.
  • Fail: в stderr FAIL: M/N rule(s) tripped и далее - <rule> → <description> по каждому сработавшему правилу, exit 1.

В stdout ничего не пишется. Это делает check безопасным для цепочек с другой командой.

Примеры

bash
# Гейт на любой цикл, плохой grade или любое нарушение слоя
archora check . \
  --fail-on grade:D \
  --fail-on cycles:0 \
  --fail-on layer-violations:0

# Допустить долг, но не пускать регрессии
archora check . \
  --fail-on grade:C \
  --fail-on new-cycles:0 \
  --base scan-baseline.json

Exit-коды

КодЗначение
0Все правила прошли.
1Сработало одно или несколько правил.
2Ошибка вызова (нет --fail-on, невалидное правило, нет baseline).

См. Интеграцию с CI для примеров на GitHub Actions / GitLab.

Выпущено под лицензией BUSL-1.1.