PHPackages                             onion/composer-install-plugin - 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. onion/composer-install-plugin

ActiveComposer-plugin

onion/composer-install-plugin
=============================

Custom installer for onion-specific modules

016[1 PRs](https://github.com/phOnion/composer-installer/pulls)PHP

Since Aug 5Pushed 4y ago1 watchersCompare

[ Source](https://github.com/phOnion/composer-installer)[ Packagist](https://packagist.org/packages/onion/composer-install-plugin)[ RSS](/packages/onion-composer-install-plugin/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

```
# phOnion Composer Plugin

This plugin is intended to provide the functionality needed to install `onion`-specific packages to be
installed in their appropriate directories.

Although the plugin supports 3 types of packages: `Components`, `Modules` and `Templates` - templates
is still a concept functionality as the application is in too early stage, the aim of this is to allow
applications to offload the development of UIs from the backend (as you should do that anyway, APIs FTW)
allowing easy deployment of the application. That being said, there is a little more information needed
in order to understand the structure of an application.

---

***TL;DR***
When creating a package, it should be named as `vendor/onion-package` (`onion-` prefix) and have type: `component` - application in its own right,
`module` - library-like & `template` - UI
---

## Getting started
In order to be able to use modules, you must name your packages as follows `*/onion-*`, where the `*` is a
wildcard character, for example `acme/package` would need to be named as `acme/onion-package` to be handled
by the plugin. This is intentional as a vendor prefix will not communicate the message and ownership of the
code is important, hence not using `onion` as the vendor for custom packages, as well will help distinguish
packages from the core maintainers and 3rd parties.

Another requirement is the package types, which are in the root of the composer file:
```
{
  // ...
  "type": "some-supported-type",
  // ...
}
```
Currently supported types are: `component`, `module` & `template`.

```

###  Health Score

21

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

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

---

Top Contributors

[![DaGhostman](https://avatars.githubusercontent.com/u/2286949?v=4)](https://github.com/DaGhostman "DaGhostman (19 commits)")

### Embed Badge

![Health badge](/badges/onion-composer-install-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/onion-composer-install-plugin/health.svg)](https://phpackages.com/packages/onion-composer-install-plugin)
```

PHPackages © 2026

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