PHPackages                             devaloka/mu-plugin-installer - 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. devaloka/mu-plugin-installer

ActiveComposer-plugin

devaloka/mu-plugin-installer
============================

A Composer Installer for WordPress MU plugins

0.2.0(9y ago)48.4k1[1 PRs](https://github.com/devaloka/mu-plugin-installer/pulls)MITPHPPHP &gt;=5.3.2

Since Dec 19Pushed 4y ago1 watchersCompare

[ Source](https://github.com/devaloka/mu-plugin-installer)[ Packagist](https://packagist.org/packages/devaloka/mu-plugin-installer)[ Docs](https://github.com/devaloka/mu-plugin-installer)[ RSS](/packages/devaloka-mu-plugin-installer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (6)Versions (5)Used By (0)

A Composer Installer for WordPress MU Plugins
=============================================

[](#a-composer-installer-for-wordpress-mu-plugins)

[![Latest Stable Version](https://camo.githubusercontent.com/f8624c55ad76ebbefda8c548f2f7437c948f9510dc72a4259c25f14c0b413198/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f762f737461626c65)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![Latest Unstable Version](https://camo.githubusercontent.com/9e5308c90c2cd679f3e24df6af9641f8beb08c941a71df695a606342c482c639/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f762f756e737461626c65)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![License](https://camo.githubusercontent.com/f13bf3563dd44dc0baa47c3bbb90848da129bc0fc4784f793544e4ed3affec0c/68747470733a2f2f706f7365722e707567782e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f6c6963656e7365)](https://packagist.org/packages/devaloka/mu-plugin-installer)[![Build Status](https://camo.githubusercontent.com/03ada7aa65373180acc35deaa08b384e4f9dd421bb0e73889b900aae56ed2fce/68747470733a2f2f7472617669732d63692e6f72672f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/devaloka/mu-plugin-installer)[![Coverage Status](https://camo.githubusercontent.com/bc801a1925e49a4ade7b6a4841242b9bf8eb5e9d4843df9d5bb0a30277a70a70/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f646576616c6f6b612f6d752d706c7567696e2d696e7374616c6c65722f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/devaloka/mu-plugin-installer?branch=master)

This is a Composer Installer for WordPress MU Plugins.

The Installer is basically based on/compatible with [A Multi-Framework Composer Library Installer](https://github.com/composer/installers)but it also **supports the loader script installation** of your MU plugin.

The loader script is installed into `mu-plugins` directory by default so that you can provide your MU plugin including sub directory as a Composer package.

Example
-------

[](#example)

A package:

- *your-package-root*

    - mu-plugins/ (loader directory: `mu-plugins` by default)

        - your-plugin.php (loader script: same as your package name by default)
    - foo/

        - bar.php
    - baz.php

will be installed as:

- wp-content/mu-plugins/

    - your-plugin.php (**loader script**)
    - *your-plugin*/ (same as your package name by default)

        - mu-plugins/ (original loader directory remains)

            - your-plugin.php (original loader script remains)
        - foo/

            - bar.php
        - baz.php

Example `composer.json` File (for MU plugin package)
----------------------------------------------------

[](#example-composerjson-file-for-mu-plugin-package)

`composer.json` becomes almost the same as [A Multi-Framework Composer Library Installer](https://github.com/composer/installers)'s.

### Package Type and Dependency (`type` and `require`)

[](#package-type-and-dependency-type-and-require)

```
{
    "name": "you/your-plugin-name",
    "type": "devaloka-muplugin",
    "require": {
        "devaloka/mu-plugin-installer": "~0.2.0"
    }
}
```

### Custom Loader File (`installer-loader`)

[](#custom-loader-file-installer-loader)

`installer-loader` key is available for your custom loader file, which is the relative path from your package root.

```
{
    "extra": {
        "installer-loader": "loader/your-loader.php"
    }
}
```

You can check out a real world [composer.json](https://github.com/devaloka/devaloka/blob/master/composer.json) example.

Example `composer.json` File (for root package)
-----------------------------------------------

[](#example-composerjson-file-for-root-package)

The root package means your project's `composer.json`.

### Custom Loader Path (`installer-loader-paths`)

[](#custom-loader-path-installer-loader-paths)

`installer-loader-paths` key is available for your custom install path for loader(s).

This is almost the same as as [A Multi-Framework Composer Library Installer](https://github.com/composer/installers)'s `installer-paths`but it is for the loader file.

```
{
    "extra": {
        "installer-loader-paths": {
            "your-custom-path/{$name}/": ["vendor/package"]
        }
    }
}
```

With a `type:` prefix:

```
{
    "extra": {
        "installer-loader-paths": {
            "your-custom-path/{$name}/": ["type:devaloka-muplugin"]
        }
    }
}
```

`{$vendor}`, `{$name}` and `{$type}` variables are available.

In addition, `{$loader}` variable is available, which is the relative path to the loader file.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.6% 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 ~57 days

Total

4

Last Release

3624d ago

### Community

Maintainers

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

---

Top Contributors

[![whizark](https://avatars.githubusercontent.com/u/1211058?v=4)](https://github.com/whizark "whizark (81 commits)")[![iobot](https://avatars.githubusercontent.com/u/18593717?v=4)](https://github.com/iobot "iobot (2 commits)")

---

Tags

composercomposer-installercomposer-pluginmu-pluginswordpressplugincomposerwordpressinstallermu-plugin

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/devaloka-mu-plugin-installer/health.svg)

```
[![Health](https://phpackages.com/badges/devaloka-mu-plugin-installer/health.svg)](https://phpackages.com/packages/devaloka-mu-plugin-installer)
```

###  Alternatives

[ffraenz/private-composer-installer

A composer install helper for private packages

2331.7M5](/packages/ffraenz-private-composer-installer)[philippbaschke/acf-pro-installer

An install helper for Advanced Custom Fields PRO

283724.6k](/packages/philippbaschke-acf-pro-installer)[automattic/jetpack-autoloader

Creates a custom autoloader for a plugin or theme.

525.5M67](/packages/automattic-jetpack-autoloader)[infinum/eightshift-libs

WordPress libs developed by Eightshift team to use in modern WordPress.

63118.9k3](/packages/infinum-eightshift-libs)

PHPackages © 2026

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