PHPackages                             akimsko/courier - 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. akimsko/courier

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

akimsko/courier
===============

Install composer packages to custom folders

1.0.2(10y ago)1223MITPHP

Since May 21Pushed 10y ago1 watchersCompare

[ Source](https://github.com/akimsko/courier)[ Packagist](https://packagist.org/packages/akimsko/courier)[ RSS](/packages/akimsko-courier/feed)WikiDiscussions master Synced today

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

Courier Composer Plugin.
========================

[](#courier-composer-plugin)

This composer installer will install any package-type, to any path you wish.

It can be any of composers built-in package-types, or you can invent your own package-types, as you see fit.

In order for this plugin to work, it must be required in the package that specifies the custom install paths.

Like so...

```
{
  ...
  "require": {
    "akimsko/courier": "~1.0"
  }
}
```

From here, you can override install paths for all package-types required by this package, by defining them in the extra section.

The extra-option is `courier-paths`, and must contain one or more entries of `: `.

To insert the package name in the path use `{name}` (The package name after the '/').

To insert the vendor name in the path use `{vendor}` (The package name before the '/').

Like so...

```
{
  ...
  "extra": {
    "courier-paths": {
      "my-custom-module-type": "modules/{vendor}-{name}",
      "my-custom-theme-type": "theme/{name}"
      "library": "lib/{vendor}/{name}"
    }
  }
}
```

This will install all packages of type `my-custom-module-type` to `/modules/-`.

All packages of type `my-custom-theme-type` to `/themes/`.

And finally all packages of type `library` to `/lib//`.

If a package-type does not match anything in courier-paths extra section, it will be installed to the default vendor path as normal.

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

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

Total

3

Last Release

3871d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/65569ba91f7247a586de237698a381539f400522097b828561bddfbf80944190?d=identicon)[akimsko](/maintainers/akimsko)

---

Top Contributors

[![akimsko](https://avatars.githubusercontent.com/u/737250?v=4)](https://github.com/akimsko "akimsko (5 commits)")

### Embed Badge

![Health badge](/badges/akimsko-courier/health.svg)

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

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M1.0k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M564](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M203](/packages/drupal-core-project-message)[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.

3014.6M26](/packages/vaimo-composer-patches)[sandersander/composer-link

Adds ability to link local packages for development with composer

98457.9k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

294.7M340](/packages/phpro-grumphp-shim)

PHPackages © 2026

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