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 文件格式:tsjs
--min <percent>none要求的最低覆盖率(0-100),低于该值时以 1 退出
--jsonfalse输出单个 JSON 对象而不是格式化文本:覆盖率报告,外加 minpassed
--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 script:

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

PR bot

nest-docfy 自己的 .github/workflows/pr-check.yml 就是一个真实的例子:它在每个 PR 上针对项目运行 check --jsoncoverage --json --min,并发布(更新而不是刷屏)一条汇总评论,完全基于 --json 输出和原生 fetch 调用 GitHub REST API,不需要额外依赖。