PHPackages                             devnix/clover-uncovered-lines - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. devnix/clover-uncovered-lines

ActiveLibrary[Testing &amp; Quality](/categories/testing)

devnix/clover-uncovered-lines
=============================

A tool to extract uncovered lines from Clover code coverage reports.

0.1.1(5mo ago)01MITPHPPHP ^8.4CI passing

Since Jan 10Pushed 5mo agoCompare

[ Source](https://github.com/devnix/clover-uncovered-lines)[ Packagist](https://packagist.org/packages/devnix/clover-uncovered-lines)[ RSS](/packages/devnix-clover-uncovered-lines/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (12)Versions (3)Used By (0)

Clover Uncovered Lines
======================

[](#clover-uncovered-lines)

[![Coverage Status](https://camo.githubusercontent.com/cec2fe5f45f7e204f48cd36ff594a0350cb120bdb9852b95cfa7a93b4e5025b1/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6465766e69782f636c6f7665722d756e636f76657265642d6c696e65732f62616467652e7376673f6272616e63683d6d61696e)](https://coveralls.io/github/devnix/clover-uncovered-lines?branch=main)[![Mutation testing badge](https://camo.githubusercontent.com/39002c15dfab8afc59939a90432a2a68d246ed13993228f50b356d2b190e86e4/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f7374796c653d666c61742675726c3d687474707325334125324625324662616467652d6170692e737472796b65722d6d757461746f722e696f2532466769746875622e636f6d2532466465766e6978253246636c6f7665722d756e636f76657265642d6c696e65732532466d61696e)](https://dashboard.stryker-mutator.io/reports/github.com/devnix/clover-uncovered-lines/main)

A simple CLI tool to parse Clover XML coverage reports and display uncovered lines in a human(-and-llm)-readable format.

Installation
------------

[](#installation)

Install via Composer:

```
composer require --dev devnix/clover-uncovered-lines
```

Usage
-----

[](#usage)

Run the tool by passing the path to your Clover XML coverage file:

```
vendor/bin/clover-uncovered-lines path/to/clover.xml
```

### Example Output

[](#example-output)

When there are uncovered lines:

```
Uncovered lines:

src/Example.php
  Lines 15-18
  Line 42 (method)

src/AnotherFile.php
  Line 23

Summary: 5 uncovered lines in 2 file(s)

```

When all lines are covered:

```
✓ All lines are covered!

```

Exit Codes
----------

[](#exit-codes)

- `0` - All lines are covered
- `1` - Uncovered lines found or error occurred

Features
--------

[](#features)

- Parses Clover XML coverage reports
- Groups consecutive uncovered lines into ranges for readability
- Identifies uncovered methods
- Auto-detects project root from XML paths
- Provides summary statistics

Requirements
------------

[](#requirements)

- PHP 8.4 or higher

License
-------

[](#license)

MIT

Author
------

[](#author)

Pablo Largo Mohedano ()

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance70

Regular maintenance activity

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

173d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/462de3bc6b5b394cc968eb74fc519cb923d18903f79cad6dc0397f9607b41f36?d=identicon)[DevNIX](/maintainers/DevNIX)

---

Top Contributors

[![devnix](https://avatars.githubusercontent.com/u/1777519?v=4)](https://github.com/devnix "devnix (11 commits)")

---

Tags

composercoveragecoverage-reportllm-toolsphpvibe-codingvibecoding

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/devnix-clover-uncovered-lines/health.svg)

```
[![Health](https://phpackages.com/badges/devnix-clover-uncovered-lines/health.svg)](https://phpackages.com/packages/devnix-clover-uncovered-lines)
```

###  Alternatives

[dms/phpunit-arraysubset-asserts

This package provides ArraySubset and related asserts once deprecated in PHPUnit 8

14429.2M361](/packages/dms-phpunit-arraysubset-asserts)[gong023/assert_chain

enable you to use phpunit assert with method chain

1478.9k3](/packages/gong023-assert-chain)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
