К основному содержанию
скилл CX Codex

bun-test-coverage — скилл для Claude Code: покрытие тестов в Bun

Скилл для работы с покрытием тестов в Bun: флаг --coverage, отчёты lcov, пороги и запуск в CI. Пригодится, когда тесты уже есть, а процент покрытия надо видеть и держать.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add secondsky/claude-skills --skill bun-test-coverage -a claude-code
Открыть на GitHub

Что делает bun-test-coverage

Скилл описывает встроенный в Bun сбор покрытия — без сторонних зависимостей. Внутри — команды bun test --coverage, настройки в bunfig.toml и разбор вывода: таблица с процентами по функциям и строкам плюс номера непокрытых строк.

Отдельно разобраны репортёры. text даёт таблицу в консоль, lcov кладёт coverage/lcov.info для CI-инструментов, json — coverage/coverage.json. Пороги задаются флагом --coverage-threshold или по метрикам в bunfig.toml: lines, functions, branches. Есть и исключения файлов через coverageIgnore.

Для CI приведён пример GitHub Actions с загрузкой lcov в Codecov. Учтите: если в bunfig.toml не включён coverage = true и не добавлен --coverage-reporter=lcov, отчёта для CI просто не появится — это повод проверить конфиг до первого прогона пайплайна. Советует начать с порога 60% и поднимать постепенно.

Какие задачи решает

  • включить сбор покрытия в Bun без лишних пакетов
  • получить lcov-отчёт для загрузки в Codecov
  • задать минимальный порог покрытия и ронять сборку при его падении
  • исключить тестовые файлы и фикстуры из подсчёта
  • найти непокрытые строки по номерам в таблице

Примеры запросов агенту

  • прогони тесты с покрытием и покажи, какие строки не покрыты
  • настрой bunfig.toml: порог 80% по строкам и lcov-репортёр
  • добавь в GitHub Actions шаг с покрытием и загрузкой lcov в Codecov

Как установить bun-test-coverage

1Через Skills CLI (Vercel)

npx skills add secondsky/claude-skills --skill bun-test-coverage -a claude-code

2Вручную: положить файлы

~/.claude/skills/bun-test-coverage/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/bun-test-coverage/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора89

nuxt-ui-v4 Скилл для сборки интерфейсов на Nuxt UI v4: 125+ компонентов, Tailwind v4, тёмная тема. Пригодится, когда агент пишет дашборд, форму или чат на Nuxt. CX Codex +1 410установок api-gateway-configuration Скилл помогает настроить маршрутизацию, аутентификацию и лимиты запросов в API-шлюзе микросервисной архитектуры. CX Codex +1 408установок health-check-endpoints Скилл для ИИ-кодинга, который помогает настроить liveness, readiness и startup-пробы, а также проверки зависимостей вроде базы и Redis. CX Codex +1 406установок session-management Скилл для ИИ-кодинга, который помогает собрать вход в аккаунт: JWT-токены, хранение сессий в Redis, обновление токена и настройка cookie. CX Codex +1 408установок bun-workers Скилл подсказывает агенту, как запускать Web Workers и worker_threads в Bun: параллельные задачи, пул воркеров, обмен сообщениями. CX Codex +1 402установок dependency-upgrade Помогает обновлять зависимости без риска: настраивает карантин для новых версий, блокирует postinstall-скрипты и ведёт обновления поэтапно. CX Codex +1 404установок nuxt-server Скилл для серверной разработки на Nuxt 4 с Nitro: API-роуты, middleware, базы данных и WebSocket. Пригодится, когда бэкенд живёт внутри Nuxt-проекта. CX Codex +1 401установок bun-http-server Скилл подсказывает агенту, как поднять HTTP-сервер через Bun.serve(): маршруты, разбор тела запроса, ответы, CORS. CX Codex +1 400установок

Похожие

coverage-analysis trailofbits Измеряет покрытие кода при фаззинге и помогает понять, почему новые пути не находятся. Пригодится для проверки харнесса, корпуса и недостижимых веток. CX Codex +1 5 500установок test-coverage cognitedata Скилл находит пробелы в покрытии тестами приложения на Flows и закрывает их: настраивает инструменты, пишет недостающие тесты, правит код ради тестируемости. CX Codex +1 1 900установок bun-runtime affaan-m Скилл объясняет агенту, когда брать Bun вместо Node, и даёт команды для установки, тестов и деплоя на Vercel. CX Codex +1 4 700установок bun-development sickn33 Скилл помогает вести JavaScript и TypeScript-разработку на Bun: создавать проекты, переносить код с Node.js и разбирать проблемы рантайма. CX Codex +1 2 800установок bun brianlovin Переключает агента на среду Bun вместо привычных Node.js и npm. Настраивает команды запуска, встроенные базы данных и сервер без внешних пакетов. CX Codex +1 2 800установок pytest-coverage официальный github Запускает pytest с покрытием, находит непокрытые строки и предлагает добавить тесты. Нужен, когда цель — довести покрытие кода до 100%. 12 826установок

Рядом в теме «Тесты и QA»

Всё по теме «Тесты и QA» →

Вопросы о bun-test-coverage

Как установить bun-test-coverage в Claude?

Выполните npx skills add secondsky/claude-skills --skill bun-test-coverage -a claude-code. После этого скилл лежит в ~/.claude/skills/bun-test-coverage/SKILL.md.

Что делает bun-test-coverage?

Помогает настроить покрытие тестов в Bun: включить --coverage, выбрать репортёры, задать пороги и подключить отчёт к CI.

Какие репортёры покрытия поддерживает Bun?

text выводит таблицу в консоль, lcov создаёт coverage/lcov.info для CI-инструментов, json — coverage/coverage.json. Можно указать несколько репортёров сразу.

Исходный текст

SKILL.md · MIT
---
name: bun-test-coverage
description: Use for test coverage with Bun, --coverage flag, lcov reports, thresholds, and CI integration.
metadata:
  version: "1.0.0"
license: MIT
---

# Bun Test Coverage

Bun has built-in code coverage reporting without additional dependencies.

## Enabling Coverage

```bash
# Enable coverage
bun test --coverage

# With threshold (fail if below)
bun test --coverage --coverage-threshold 80
```

## Configuration in bunfig.toml

```toml
[test]
coverage = true
coverageThreshold = 0.8  # 80% minimum
coverageDir = "./coverage"

# Patterns to ignore
coverageSkipTestFiles = true
```

## Coverage Output

```
------------------|---------|---------|-------------------
File              | % Funcs | % Lines | Uncovered Line #s
------------------|---------|---------|-------------------
All files         |   85.71 |   89.23 |
 src/index.ts     |  100.00 |  100.00 |
 src/utils.ts     |   75.00 |   82.35 | 23-25, 41-43
 src/api.ts       |   80.00 |   85.00 | 67, 89-92
------------------|---------|---------|-------------------
```

## Coverage Reporters

```bash
# Default console output
bun test --coverage

# Generate lcov report
bun test --coverage --coverage-reporter=lcov

# Multiple reporters
bun test --coverage --coverage-reporter=text --coverage-reporter=lcov
```

### Available Reporters

| Reporter | Output |
|----------|--------|
| `text` | Console table (default) |
| `lcov` | `coverage/lcov.info` for CI tools |
| `json` | `coverage/coverage.json` |

## Coverage Thresholds

Set minimum coverage requirements:

```bash
# Fail if coverage < 80%
bun test --coverage --coverage-threshold 80

# Per-metric thresholds in bunfig.toml
```

```toml
[test]
coverage = true
coverageThreshold = {
  lines = 80,
  functions = 75,
  branches = 70
}
```

## Excluding Files

```toml
[test]
coverage = true

# Skip test files from coverage
coverageSkipTestFiles = true

# Patterns to exclude
coverageIgnore = [
  "**/*.test.ts",
  "**/fixtures/**",
  "**/mocks/**"
]
```

## CI Integration

### GitHub Actions

```yaml
- name: Run tests with coverage
  run: bun test --coverage --coverage-reporter=lcov

- name: Upload coverage to Codecov
  uses: codecov/codecov-action@v5
  with:
    files: ./coverage/lcov.info
```

### Output Directory

```bash
# Custom output directory
bun test --coverage --coverage-dir=./reports/coverage
```

## Programmatic Coverage

```typescript
import { test, expect } from "bun:test";

// Get coverage data programmatically
const coverage = Bun.coverage;

// Access after tests complete
process.on("exit", () => {
  console.log(coverage.getCoverageData());
});
```

## Common Errors

| Error | Cause | Fix |
|-------|-------|-----|
| `Coverage threshold not met` | Coverage below threshold | Increase test coverage |
| `No coverage data` | Files not executed | Check test includes file |
| `lcov not found` | Missing reporter | Add `--coverage-reporter=lcov` |

## Best Practices

1. **Set realistic thresholds** - Start at 60%, increase gradually
2. **Exclude generated files** - Mock files, type definitions
3. **Focus on critical paths** - Business logic over boilerplate
4. **Run in CI** - Prevent coverage regression

## When to Load References

Load `references/reporters.md` when:
- Custom reporter configuration
- CI/CD integration details
- Codecov/Coveralls setup

© secondsky · MIT · secondsky/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой