mcpField
C
configure-coverage

configure-coverage

github.com/laurigates测试与质量5955 次安装1 天前更新
代码仓库

关于 configure-coverage

configure-coverage 用于检查和配置 Vitest、Jest、pytest 及 Rust 项目的代码覆盖率设置,帮助开发者审查阈值与报告、应用配置并记录标准。

主要功能

  1. 01检测测试与覆盖率配置
  2. 02设置阈值和报告格式
  3. 03配置 CI/CD 覆盖率集成
  4. 04审查项目覆盖率合规性
  5. 05在项目标准中记录设置

适用场景

  1. 01仅检查覆盖率设置
  2. 02设置自定义覆盖率阈值
  3. 03为项目配置覆盖率报告
  4. 04审查项目中的覆盖率配置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-coverage

安装后在 Claude Code 中输入/configure-coverage确认已加载。

附带文件REFERENCE.md

详细介绍

/configure:coverage

检查并配置测试框架的代码覆盖率阈值和报告。

适用场景

在以下情况下使用此技能……在以下情况下使用其他方法……
为 Vitest、Jest、pytest 或 Rust 设置覆盖率阈值运行带覆盖率的测试(/test:coverage)
配置覆盖率报告器(text、JSON、HTML、lcov)配置测试框架本身(/configure:tests)
将 Codecov 或 Coveralls 集成到 CI/CD分析测试失败(test-runner agent)
审核项目中覆盖率配置的合规性编写单个测试用例
调整覆盖率阈值百分比配置常规 CI/CD 工作流(/configure:workflows)

上下文

  • 项目根目录:!pwd
  • 包文件:!find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \)
  • Vitest 配置:!find . -maxdepth 1 -name 'vitest.config.*'
  • Jest 配置:!find . -maxdepth 1 -name 'jest.config.*'
  • 覆盖率目录:!find . -maxdepth 1 -type d -name 'coverage'
  • Codecov 配置:!find . -maxdepth 1 \( -name 'codecov.yml' -o -name '.codecov.yml' \)
  • 项目规范:!find . -maxdepth 1 -name '.project-standards.yaml'

参数

从命令参数中解析:

  • --check-only:仅报告合规状态,不做修改(CI/CD 模式)
  • --fix:无需提示,自动应用修复
  • --threshold <percentage>:设置覆盖率阈值(默认值:80)

默认阈值:80%(行、分支、函数、语句)

支持的框架:

  • Vitest:@vitest/coverage-v8 或 @vitest/coverage-istanbul
  • Jest:内置覆盖率支持,可使用 --coverage
  • pytest:pytest-cov 插件
  • Rust:cargo-llvm-cov 或 cargo-tarpaulin

执行

执行此代码覆盖率合规性检查:

第 1 步:检测测试框架和覆盖率配置

检查框架标识:

标识框架覆盖率工具
包含 coverage 的 vitest.config.*Vitest@vitest/coverage-v8
包含 coverage 的 jest.config.*Jest内置
pyproject.toml 中的 [tool.coverage]pytestpytest-cov
包含 coverage 的 .cargo/config.tomlRustcargo-llvm-cov

配置前,使用 WebSearch 或 WebFetch 确认覆盖率工具的最新版本。

第 2 步:分析当前覆盖率状态

针对检测到的框架,检查配置是否完整:

Vitest:

  • 已配置覆盖率提供程序(v8 或 istanbul)
  • 已配置覆盖率报告器(text、json、html、lcov)
  • 已为行、函数、分支、语句设置阈值
  • 已配置排除项(node_modules、dist、tests、配置文件)
  • 已指定输出目录

Jest:

  • 已启用 collectCoverage
  • 已设置 coverageProvider(v8 或 babel)
  • 已配置 collectCoverageFrom 模式
  • 已配置 coverageThresholds
  • 已配置 coverageReporters

pytest:

  • 已安装 pytest-cov
  • 存在 [tool.coverage.run] 部分
  • 存在 [tool.coverage.report] 部分
  • 已配置覆盖率阈值(--cov-fail-under)

Rust(cargo-llvm-cov):

  • 已安装 cargo-llvm-cov
  • 工作区中已配置覆盖率
  • 已配置 HTML/LCOV 输出
第 3 步:生成合规性报告

打印格式化的合规性报告:

Code Coverage Compliance Report
================================
Project: [name]
Framework: [Vitest 2.x | pytest 8.x | cargo-llvm-cov 0.6.x]

Coverage Configuration:
  Provider                @vitest/coverage-v8        [CONFIGURED | MISSING]
  Reporters               text, json, html, lcov     [ALL | PARTIAL]
  Output directory        coverage/                  [CONFIGURED | DEFAULT]
  Exclusions              node_modules, dist, tests  [CONFIGURED | INCOMPLETE]

Thresholds:
  Lines                   80%                        [PASS | LOW | NOT SET]
  Branches                80%                        [PASS | LOW | NOT SET]
  Functions               80%                        [PASS | LOW | NOT SET]
  Statements              80%                        [PASS | LOW | NOT SET]

CI/CD Integration:
  Coverage upload         codecov/coveralls          [CONFIGURED | MISSING]
  Artifact upload         coverage reports           [CONFIGURED | MISSING]

Overall: [X issues found]

如果指定了 --check-only,则到此为止。

第 4 步:配置覆盖率(如果指定了 --fix 或用户确认)

根据检测到的框架应用覆盖率配置。使用 REFERENCE.md 中的模板:

  1. 安装覆盖率提供程序(例如,@vitest/coverage-v8、pytest-cov)
  2. 更新配置文件,设置阈值、报告器和排除项
  3. 添加脚本到 package.json 或 pyproject.toml
  4. 配置 CI/CD,使用 Codecov 上传和工件存储
第 5 步:更新规范跟踪

更新 .project-standards.yaml:

standards_version: "2025.1"
last_configured: "[timestamp]"
components:
  coverage: "2025.1"
  coverage_threshold: 80
  coverage_provider: "[v8|istanbul|pytest-cov|llvm-cov]"
  coverage_reporters: ["text", "json", "html", "lcov"]
  coverage_ci: "codecov"
步骤 6:打印最终报告

打印所应用的更改、添加的脚本以及验证覆盖率的后续步骤摘要。

详细的配置模板请参阅 REFERENCE.md。

Agentic 优化

情境命令
快速合规性检查/configure:coverage --check-only
自动修复所有问题/configure:coverage --fix
自定义阈值/configure:coverage --fix --threshold 90
检查是否存在覆盖率配置find . -maxdepth 1 -name 'vitest.config.*' -o -name 'jest.config.*' 2>/dev/null
验证覆盖率目录test -d coverage && echo "EXISTS"

标志

标志描述
--check-only报告状态,不提供修复方案
--fix无需提示,自动应用所有修复
--threshold <percentage>设置覆盖率阈值(默认值:80)

示例

# Check compliance and offer fixes
/configure:coverage

# Check only, no modifications
/configure:coverage --check-only

# Auto-fix with custom threshold
/configure:coverage --fix --threshold 90

错误处理

  • 未检测到测试框架:建议先运行 /configure:tests
  • 缺少覆盖率提供程序:提供安装选项
  • 阈值无效:拒绝小于 0 或大于 100 的值
  • 缺少 CI 令牌:提醒用户配置 Codecov/Coveralls

另请参阅

评论

支持 Markdown