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., exit0. - Fail: в stderr
FAIL: M/N rule(s) trippedи далее- <rule> → <description>по каждому сработавшему правилу, exit1.
В 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.jsonExit-коды
| Код | Значение |
|---|---|
0 | Все правила прошли. |
1 | Сработало одно или несколько правил. |
2 | Ошибка вызова (нет --fail-on, невалидное правило, нет baseline). |
См. Интеграцию с CI для примеров на GitHub Actions / GitLab.