docfy coverage

Считает, какая доля ваших эндпоинтов задокументирована. Годится и как объективная метрика качества, и как гейт в CI.

Использование

bash
npx nestjs-docfy coverage [options]

Параметры

OptionDefaultDescription
--root <path>.Project root directory
--tsconfig <path>auto-detectedPath to tsconfig.json
--pattern <glob>**/*.controller.tsGlob pattern to find controllers
--format <format>tsФормат docs-файлов, которые нужно искать: ts или js
--min <percent>noneМинимально допустимое покрытие (0-100), ниже порога завершается с 1
--jsonfalseВыводить один объект JSON вместо форматированного текста: отчёт о покрытии плюс min и passed.
--quietfalseSuppress all output except errors

Пример вывода

text
Controllers: 42
Endpoints: 187

Documented: 174
Missing docs: 13

Coverage: 93.0%

Как задать минимум в CI

bash
npx nestjs-docfy coverage --min 95

Когда покрытие опускается ниже --min, команда завершается с кодом 1 и роняет сборку.

.github/workflows/*.yml
# GitHub Actions example
- name: Enforce documentation coverage
  run: npx nestjs-docfy coverage --min 95

Либо в виде npm-скрипта:

json
{
  "scripts": {
    "docs:coverage": "nestjs-docfy coverage --min 95"
  }
}

Бот для PR

Живой пример есть у самого nest-docfy в .github/workflows/pr-check.yml: на каждый PR он прогоняет по проекту check --json и coverage --json --min, а затем оставляет один сводный комментарий, обновляя его вместо того, чтобы плодить новые. Всё построено на выводе --json и обычном fetch к REST API GitHub, без единой лишней зависимости.