PHPackages                             harmony/flex - 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. harmony/flex

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

harmony/flex
============

Harmony Composer plugin

0.1(7y ago)0580[5 issues](https://github.com/harmonycms/flex/issues)1LGPL-3.0-or-laterPHPPHP ^7.1.3

Since Apr 26Pushed 7y agoCompare

[ Source](https://github.com/harmonycms/flex)[ Packagist](https://packagist.org/packages/harmony/flex)[ Docs](https://harmonycms.net)[ RSS](/packages/harmony-flex/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (1)Dependencies (12)Versions (2)Used By (1)

HarmonyFlex
===========

[](#harmonyflex)

Based on [Symfony Flex](https://github.com/symfony/flex), **HarmonyFlex** is a Composer plugin allowing the end-user to connect through the HarmonyAPI to manage HarmonyProjects and configuration for extensions, packages, themes and translations.

Custom configurators
--------------------

[](#custom-configurators)

### `copy-from-recipe-if` Configurator

[](#copy-from-recipe-if-configurator)

Copies files or directories only if specified package is installed. This configurator is identical to `copy-from-recipe` provided by Symfony Flex.

It is useful to copy only certain files or directories to avoid throwing issues when clearing the cache by example:

```
{
  "copy-from-recipe-if": {
    "emulienfou/orm-pack": {
      "src/Entity/": "%SRC_DIR%/Entity"
    },
    "emulienfou/mongodb-pack": {
      "src/Document/": "%SRC_DIR%/Document"
    }
  }
}
```

### `merge-from-recipe-if` Configurator

[](#merge-from-recipe-if-configurator)

Merge content between file in recipe and the one in the project.

> Currently, it is not possible to perform an un-merge action!

```
{
  "merge-from-recipe-if": {
    "emulienfou/orm-pack": {
      "config/packages/doctrine.yaml": "%CONFIG_DIR%/packages/doctrine.yaml"
    },
    "emulienfou/mongodb-pack": {
      "config/packages/doctrine_mongodb.yaml": "%CONFIG_DIR%/packages/doctrine_mongodb.yaml"
    }
  }
}
```

### `extensions` Configurator

[](#extensions-configurator)

Internal configurator for packages of type `harmony-extension`.

### `themes` Configurator

[](#themes-configurator)

Internal configurator for packages of type `harmony-theme`.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71% 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

Unknown

Total

1

Last Release

2576d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0158bdba620618b99457eef9aa3764e784d18be906123d8db3c3d3bd9a04734c?d=identicon)[emulienfou](/maintainers/emulienfou)

---

Top Contributors

[![fabpot](https://avatars.githubusercontent.com/u/47313?v=4)](https://github.com/fabpot "fabpot (430 commits)")[![nicolas-grekas](https://avatars.githubusercontent.com/u/243674?v=4)](https://github.com/nicolas-grekas "nicolas-grekas (66 commits)")[![emulienfou](https://avatars.githubusercontent.com/u/84061?v=4)](https://github.com/emulienfou "emulienfou (47 commits)")[![javiereguiluz](https://avatars.githubusercontent.com/u/73419?v=4)](https://github.com/javiereguiluz "javiereguiluz (14 commits)")[![localheinz](https://avatars.githubusercontent.com/u/605483?v=4)](https://github.com/localheinz "localheinz (8 commits)")[![Pierstoval](https://avatars.githubusercontent.com/u/3369266?v=4)](https://github.com/Pierstoval "Pierstoval (5 commits)")[![weaverryan](https://avatars.githubusercontent.com/u/121003?v=4)](https://github.com/weaverryan "weaverryan (3 commits)")[![yceruto](https://avatars.githubusercontent.com/u/2028198?v=4)](https://github.com/yceruto "yceruto (3 commits)")[![Sam-Burns](https://avatars.githubusercontent.com/u/6594039?v=4)](https://github.com/Sam-Burns "Sam-Burns (3 commits)")[![chalasr](https://avatars.githubusercontent.com/u/7502063?v=4)](https://github.com/chalasr "chalasr (2 commits)")[![dunglas](https://avatars.githubusercontent.com/u/57224?v=4)](https://github.com/dunglas "dunglas (2 commits)")[![emodric](https://avatars.githubusercontent.com/u/362286?v=4)](https://github.com/emodric "emodric (2 commits)")[![HeahDude](https://avatars.githubusercontent.com/u/10107633?v=4)](https://github.com/HeahDude "HeahDude (2 commits)")[![shude](https://avatars.githubusercontent.com/u/10113896?v=4)](https://github.com/shude "shude (2 commits)")[![slootjes](https://avatars.githubusercontent.com/u/17158090?v=4)](https://github.com/slootjes "slootjes (2 commits)")[![michaelperrin](https://avatars.githubusercontent.com/u/344445?v=4)](https://github.com/michaelperrin "michaelperrin (1 commits)")[![kriswallsmith](https://avatars.githubusercontent.com/u/33886?v=4)](https://github.com/kriswallsmith "kriswallsmith (1 commits)")[![pamil](https://avatars.githubusercontent.com/u/1897953?v=4)](https://github.com/pamil "pamil (1 commits)")[![phpeek](https://avatars.githubusercontent.com/u/1260260?v=4)](https://github.com/phpeek "phpeek (1 commits)")[![juchi](https://avatars.githubusercontent.com/u/3333098?v=4)](https://github.com/juchi "juchi (1 commits)")

### Embed Badge

![Health badge](/badges/harmony-flex/health.svg)

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

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

310107.9k1](/packages/cognesy-instructor-php)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)

PHPackages © 2026

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