PHPackages                             stolt/package-analyser - 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. [CLI &amp; Console](/categories/cli)
4. /
5. stolt/package-analyser

ActiveLibrary[CLI &amp; Console](/categories/cli)

stolt/package-analyser
======================

The package analyser is a utility tool that analyses a PHP project/micro-package for its structure.

v1.5.1(1y ago)16MITPHPPHP ^8.2CI failing

Since Apr 29Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/raphaelstolt/package-analyser)[ Packagist](https://packagist.org/packages/stolt/package-analyser)[ RSS](/packages/stolt-package-analyser/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (8)Versions (16)Used By (0)

Package analyser
================

[](#package-analyser)

[![Test Status](https://github.com/raphaelstolt/package-analyser/workflows/test/badge.svg)](https://github.com/raphaelstolt/package-analyser/workflows/test/badge.svg)[![Version](https://camo.githubusercontent.com/946649204f023e3aa6a7ace219c528c74d693078241d07306b84275a3859d229/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73746f6c742f7061636b6167652d616e616c797365722e7376673f7374796c653d666c6174)](https://packagist.org/packages/stolt/package-analyser)[![PHP Version](https://camo.githubusercontent.com/bee070518258ca00da0973b812d6713d5b4a97a70b8a92b1043436deed97d5dd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322b2d6666363962342e737667)](https://camo.githubusercontent.com/bee070518258ca00da0973b812d6713d5b4a97a70b8a92b1043436deed97d5dd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322b2d6666363962342e737667)[![PDS Skeleton](https://camo.githubusercontent.com/3c7140ee36205075ed977142f25c29eb1fb7809e9b86a865461fc21776ad1665/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7064732d736b656c65746f6e2d626c75652e7376673f7374796c653d666c6174)](https://github.com/php-pds/skeleton)[![llms.txt](https://camo.githubusercontent.com/78693a04424cf0fbf7cb08afbbcdbef4fbce3d6e1b9cd915d1c2d531b7a0789a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6c6d732e7478742d617661696c61626c652d626c75652e7376673f7374796c653d666c6174)](https://camo.githubusercontent.com/78693a04424cf0fbf7cb08afbbcdbef4fbce3d6e1b9cd915d1c2d531b7a0789a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6c6d732e7478742d617661696c61626c652d626c75652e7376673f7374796c653d666c6174)

 [![Package analyser logo](pa-logo.png)](pa-logo.png)

The package analyser is a utility tool that analyses a 🐘 project/micro-📦 for its structure, and provides tips on best practices for such one. It's also my first **TUI** (Terminal User Interface) written in [Laravel Zero](https://laravel-zero.com/), so bear with me.

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

[](#installation)

The package analyser TUI should be installed globally through Composer.

```
composer global require --dev stolt/package-analyser
```

Make sure that the path to your global vendor binaries directory is in your `$PATH`. You can determine the location of your global vendor binaries directory via `composer global config bin-dir --absolute`. This way the `package-analyser`executable can be located.

Usage
-----

[](#usage)

Run the package analyser TUI within or against a 🐘 project/micro-package directory, and it will analyse the given package and provide tips on best practices when required.

```
package-analyser analyse []
```

### Available options

[](#available-options)

The `--configuration` option allows the usage of a configuration with analyse steps to ignore. If no configuration is provided the tool will look for an existing `.pa.yml` file per default.

The `--write-report` option will write an HTML report in the current directory based on the provided package.

The `--violations-threshold` option defines the threshold on which the package analysis is considered invalid and produces a non-zero exit code. Defaults to `0`.

### Configuration

[](#configuration)

To omit steps from the package analysis it's possible to configure these like shown next. The available steps are defined in [PackageAnalyser.php](app/Domain/PackageAnalyser.php).

```
stepsToOmit:
    - static-analyse
    - eol-php
```

### Running tests

[](#running-tests)

```
composer test
```

### License

[](#license)

This library and its TUI are licensed under the MIT license. Please see [LICENSE.md](LICENSE.md) for more details.

### Changelog

[](#changelog)

Please see [CHANGELOG.md](CHANGELOG.md) for more details.

### Contributing

[](#contributing)

Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md) for more details.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance58

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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 ~22 days

Total

15

Last Release

431d ago

PHP version history (2 changes)v1.0.0PHP ^8.1

v1.0.5PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/132faf5713fa951f4263fad02858a62e55c5d832ad775b33e49ba0cda2f2a028?d=identicon)[Raphael Stolt](/maintainers/Raphael%20Stolt)

---

Top Contributors

[![raphaelstolt](https://avatars.githubusercontent.com/u/48225?v=4)](https://github.com/raphaelstolt "raphaelstolt (84 commits)")

---

Tags

pdsrepository-utilitiesstandardscliconsoledevpackageprojecttui

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/stolt-package-analyser/health.svg)

```
[![Health](https://phpackages.com/badges/stolt-package-analyser/health.svg)](https://phpackages.com/packages/stolt-package-analyser)
```

###  Alternatives

[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k239.8M286](/packages/nunomaduro-termwind)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)[buggregator/trap

A simple and powerful tool for debugging PHP applications.

2591.7M40](/packages/buggregator-trap)[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

9989.0k](/packages/mehrancodes-laravel-harbor)[stolt/lean-package-validator

Library and CLI for validating if a project or package has and will have lean releases.

172.4k8](/packages/stolt-lean-package-validator)

PHPackages © 2026

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