关于 configure-coverage
configure-coverage 用于检查和配置 Vitest、Jest、pytest 及 Rust 项目的代码覆盖率设置,帮助开发者审查阈值与报告、应用配置并记录标准。
主要功能
- 01检测测试与覆盖率配置
- 02设置阈值和报告格式
- 03配置 CI/CD 覆盖率集成
- 04审查项目覆盖率合规性
- 05在项目标准中记录设置
适用场景
- 01仅检查覆盖率设置
- 02设置自定义覆盖率阈值
- 03为项目配置覆盖率报告
- 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] | pytest | pytest-cov |
包含 coverage 的 .cargo/config.toml | Rust | cargo-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 中的模板:
- 安装覆盖率提供程序(例如,
@vitest/coverage-v8、pytest-cov) - 更新配置文件,设置阈值、报告器和排除项
- 添加脚本到 package.json 或 pyproject.toml
- 配置 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
另请参阅
/configure:tests- 配置测试框架/test:coverage- 运行测试并生成覆盖率报告/configure:all- 运行所有合规性检查- Codecov 文档:https://docs.codecov.com
- pytest-cov 文档:https://pytest-cov.readthedocs.io
评论
支持 Markdown