PHPackages                             martinshaw/decomposer - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. martinshaw/decomposer

ActiveProject[Utility &amp; Helpers](/categories/utility)

martinshaw/decomposer
=====================

List Composer 'vendor' directories on your system, how heavy they are, then you can select which ones you want to delete to free up space (NPM's npkill but for PHP Composer)

1.1.7(2y ago)6671[1 PRs](https://github.com/martinshaw/decomposer/pulls)GPL-3.0-or-laterPHP

Since Mar 9Pushed 1y ago1 watchersCompare

[ Source](https://github.com/martinshaw/decomposer)[ Packagist](https://packagist.org/packages/martinshaw/decomposer)[ RSS](/packages/martinshaw-decomposer/feed)WikiDiscussions master Synced 1mo ago

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

decomposer
==========

[](#decomposer)

List Composer 'vendor' directories on your system, how heavy they are, then you can select which ones you want to delete to free up space (NPM's npkill but for PHP Composer)

Screenshot
----------

[](#screenshot)

[![Screenshot](https://github.com/martinshaw/decomposer/raw/master/screenshot.png?raw=true)](https://github.com/martinshaw/decomposer/blob/master/screenshot.png?raw=true)

Usage
-----

[](#usage)

```
decomposer # Opens the interactive UI
decomposer --all # Deletes all vendor directories without interaction
```

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

[](#installation)

```
composer global require martinshaw/decomposer
```

This will install the `decomposer` command in your global composer bin directory, which is usually `~/.composer/vendor/bin` or `~/.config/composer/vendor/bin` on Unix systems and `%APPDATA%\Composer\vendor\bin` on Windows.

To access the `decomposer` command from anywhere, you need to add the global composer bin directory to your system's PATH environment variable.

### On Windows

[](#on-windows)

1. Open the Control Panel.
2. Click on System and Security.
3. Click on System.
4. Click on Advanced system settings.
5. Click on Environment Variables.
6. Under System variables, find and select the `Path` variable, then click on Edit.
7. Click on New and add the path to your global composer bin directory.
8. Click on OK on all windows to apply the changes.

### On Linux and macOS

[](#on-linux-and-macos)

Depending on if your global composer bin directory is `~/.composer/vendor/bin` or `~/.config/composer/vendor/bin`, you need to add the following line to your `~/.bashrc`, `~/.zshrc`, or `~/.profile` file:

```
export PATH="$PATH:$HOME/.composer/vendor/bin"
```

or

```
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
```

Then, run the following command to apply the changes:

```
source ~/.bashrc
```

or `source ~/.zshrc` or `source ~/.profile` depending on which file you added the line to.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity46

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

7

Last Release

792d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/eb4a0f7552162a9356367c6d60a700af64fe335779de6749611a4f47f2e92238?d=identicon)[martinshaw](/maintainers/martinshaw)

---

Top Contributors

[![martinshaw](https://avatars.githubusercontent.com/u/2110327?v=4)](https://github.com/martinshaw "martinshaw (21 commits)")

### Embed Badge

![Health badge](/badges/martinshaw-decomposer/health.svg)

```
[![Health](https://phpackages.com/badges/martinshaw-decomposer/health.svg)](https://phpackages.com/packages/martinshaw-decomposer)
```

###  Alternatives

[nette/robot-loader

🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.

89152.7M320](/packages/nette-robot-loader)[php-soap/wsdl-reader

A WSDL reader in PHP

212.3M9](/packages/php-soap-wsdl-reader)

PHPackages © 2026

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