PHPackages                             dex/composer-plug-and-play - 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. dex/composer-plug-and-play

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

dex/composer-plug-and-play
==========================

Plug and play packages for Composer

0.27.0(2mo ago)539.1k—9.4%2MITPHPPHP ^8.3CI passing

Since Nov 24Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/edersoares/composer-plug-and-play)[ Packagist](https://packagist.org/packages/dex/composer-plug-and-play)[ RSS](/packages/dex-composer-plug-and-play/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (42)Used By (0)

Composer Plug and Play
======================

[](#composer-plug-and-play)

[![Packagist Version](https://camo.githubusercontent.com/2d4811658c553ad394fd29fe33ccca66fd73bf2dd460f477cd007f75db2882d1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6465782f636f6d706f7365722d706c75672d616e642d706c6179)](https://packagist.org/packages/dex/composer-plug-and-play)[![PHP Version](https://camo.githubusercontent.com/a205ac1f6c9f69a6a440be35b77d7d6e41100839c4b8d412cf7b762f9cc418fe/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465782f636f6d706f7365722d706c75672d616e642d706c6179)](https://packagist.org/packages/dex/composer-plug-and-play)[![Downloads](https://camo.githubusercontent.com/e54034b172c5118e3f869fc610af353f2cd5f95184ab4bcd38855dc5298b9d79/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465782f636f6d706f7365722d706c75672d616e642d706c6179)](https://packagist.org/packages/dex/composer-plug-and-play)[![License](https://camo.githubusercontent.com/0a42d08dd128fe82510d4b2105f21bce1479efe43dc5832e1cba8374324b8f94/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f65646572736f617265732f636f6d706f7365722d706c75672d616e642d706c6179)](https://github.com/edersoares/composer-plug-and-play/blob/main/LICENSE.md)[![Tests](https://camo.githubusercontent.com/5158059b317f0300be780817f48223a9b9374103a553bc40089aaa69dff423d0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f65646572736f617265732f636f6d706f7365722d706c75672d616e642d706c61792f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473)](https://github.com/edersoares/composer-plug-and-play/actions)

Composer Plug and Play lets you develop local packages inside a project without modifying `composer.json`. Keep your working packages in `packages/`, run `composer plug-and-play`, and get a fully resolved Composer environment — without polluting your real lock file.

Table of Contents
-----------------

[](#table-of-contents)

- [Why?](#why)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Directories and Files](#directories-and-files)
- [Commands](#commands)
- [Configuration](#configuration)
- [Contributing](#contributing)
- [License](#license)

Why?
----

[](#why)

Working with local packages via `path` repositories in `composer.json` pollutes the project's `composer.json` and `composer.lock` with development-only entries that must not be committed.

Composer Plug and Play keeps this configuration isolated in `packages/composer.json` and `packages/plug-and-play.lock`, so your real `composer.json` stays clean.

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

[](#requirements)

- PHP 8.3 or higher
- Composer 2.3.0 or higher

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

[](#installation)

```
composer require dex/composer-plug-and-play
```

### Global installation

[](#global-installation)

You can install [Composer Plug and Play](https://github.com/edersoares/composer-plug-and-play/) globally to use its abilities in all your local projects.

```
composer global require dex/composer-plug-and-play
```

Quick Start
-----------

[](#quick-start)

1. Initialize the plug-and-play structure in your project:

    ```
    composer plug-and-play:init
    ```
2. Clone or create a package inside `packages/`:

    ```
    git clone git@github.com:your-org/your-package.git packages/your-org/your-package
    ```
3. Run plug-and-play to resolve everything:

    ```
    composer plug-and-play
    ```

Your package is now available as if installed via Composer, without touching `composer.json`.

Directories and Files
---------------------

[](#directories-and-files)

[Composer Plug and Play](https://github.com/edersoares/composer-plug-and-play/) plugin needs a `packages` folder in the project root directory where the plug and play structure will live.

```
packages/                           ← managed by plug-and-play
├── //             ← your local package (cloned or created)
│   ├── composer.json
│   └── ...
├── composer.json                   ← your plug-and-play configuration
├── plug-and-play.json              ← generated merged config (do not commit)
└── plug-and-play.lock              ← generated lock file (do not commit)

composer.json                       ← your real project config (unchanged)
composer.lock                       ← your real lock file (unchanged)
vendor/                             ← standard Composer vendor directory

```

Commands
--------

[](#commands)

All commands use the `plug-and-play.json` and `plug-and-play.lock` files as source to project dependencies instead of `composer.json` and `composer.lock` original files.

You can use `composer pp` and `composer pp:*` as alias for all commands.

CommandDescription`plug-and-play`Installs plug and play dependencies together with project dependencies`plug-and-play:add`Require a package into `packages/composer.json``plug-and-play:dump`Same as `composer dump-autoload`, but using `plug-and-play` files`plug-and-play:init`Initialize plug and play plugin`plug-and-play:install`Same as `composer install`, but using `plug-and-play` files`plug-and-play:reset`Remove `plug-and-play` files`plug-and-play:run`Same as `composer run-script`, but using `plug-and-play` files`plug-and-play:update`Same as `composer update`, but using `plug-and-play` filesConfiguration
-------------

[](#configuration)

You can add additional configuration in `packages/composer.json` under the `extra.composer-plug-and-play` key.

### Ignore plugged packages

[](#ignore-plugged-packages)

Sometimes you may need to ignore a package that is under development:

```
{
    "extra": {
        "composer-plug-and-play": {
            "ignore": [
                "vendor-name/package-to-ignore"
            ]
        }
    }
}
```

### Require dev dependencies from plugged packages

[](#require-dev-dependencies-from-plugged-packages)

When developing a package or library you may need to require its dev dependencies:

```
{
    "extra": {
        "composer-plug-and-play": {
            "require-dev": [
                "vendor-name/package-to-require-dev"
            ]
        }
    }
}
```

### Autoload dev dependencies from plugged packages

[](#autoload-dev-dependencies-from-plugged-packages)

When developing a package or library you may need to autoload its dev dependencies:

```
{
    "extra": {
        "composer-plug-and-play": {
            "autoload-dev": [
                "vendor-name/package-to-autoload-dev"
            ]
        }
    }
}
```

Contributing
------------

[](#contributing)

Contributions are welcome. Please open an issue before submitting a pull request so the change can be discussed first.

```
composer test     # run all tests
composer format   # format code with Laravel Pint (PSR-12)
```

License
-------

[](#license)

[Composer Plug and Play](https://github.com/edersoares/composer-plug-and-play/) is licensed under the MIT license. See the [license](https://github.com/edersoares/composer-plug-and-play/blob/main/LICENSE.md) file for more details.

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance86

Actively maintained with recent releases

Popularity34

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 98.8% 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 ~69 days

Total

29

Last Release

67d ago

PHP version history (4 changes)0.1.0PHP &gt;=7.3

0.14.0PHP ^8.0

0.19.0PHP ^8.1

0.25.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/195a30f332e238dc26d226f6f62b40d2fe8b227a89b29465fbe8fd201e45f435?d=identicon)[edersoares](/maintainers/edersoares)

---

Top Contributors

[![edersoares](https://avatars.githubusercontent.com/u/957395?v=4)](https://github.com/edersoares "edersoares (328 commits)")[![jrbarros](https://avatars.githubusercontent.com/u/10848562?v=4)](https://github.com/jrbarros "jrbarros (4 commits)")

---

Tags

composercomposer-packagescomposer-pluginhacktoberfestphpplug-and-play

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/dex-composer-plug-and-play/health.svg)

```
[![Health](https://phpackages.com/badges/dex-composer-plug-and-play/health.svg)](https://phpackages.com/packages/dex-composer-plug-and-play)
```

###  Alternatives

[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)[olvlvl/composer-attribute-collector

A convenient and near zero-cost way to retrieve targets of PHP 8 attributes

184108.8k8](/packages/olvlvl-composer-attribute-collector)[lullabot/drainpipe

An automated build tool to allow projects to have a set standardized operations scripts.

41716.4k2](/packages/lullabot-drainpipe)

PHPackages © 2026

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