PHPackages                             yoanm/composer-config-manager - 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. [CLI &amp; Console](/categories/cli)
4. /
5. yoanm/composer-config-manager

AbandonedArchivedLibrary[CLI &amp; Console](/categories/cli)

yoanm/composer-config-manager
=============================

command line to manage composer configuration file

2.1.1(9y ago)019MITPHPPHP &gt;=5.5

Since Apr 27Pushed 9y ago1 watchersCompare

[ Source](https://github.com/yoanm/composerConfigManager)[ Packagist](https://packagist.org/packages/yoanm/composer-config-manager)[ RSS](/packages/yoanm-composer-config-manager/feed)WikiDiscussions master Synced 2w ago

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

composerConfigManager
=====================

[](#composerconfigmanager)

[![Scrutinizer Build Status](https://camo.githubusercontent.com/d541acb9a7bbd3518052310fc93cae07dd1ce2453e099a20b6387f9b645cf699/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f6275696c642f672f796f616e6d2f636f6d706f736572436f6e6669674d616e616765722e7376673f6c6162656c3d5363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/composerConfigManager/?branch=master) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/fecb9eb6804286922055a23afca3d66f5db58a6af1d4b005f12f0d206de626ab/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f796f616e6d2f636f6d706f736572436f6e6669674d616e616765722e7376673f6c6162656c3d436f64652532307175616c697479)](https://scrutinizer-ci.com/g/yoanm/composerConfigManager/?branch=master) [![Code Coverage](https://camo.githubusercontent.com/2ab13667f9925ff8d32444362332fad92497b824a447ff1ce5e560a5927323fe/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f796f616e6d2f636f6d706f736572436f6e6669674d616e616765722e7376673f6c6162656c3d436f766572616765)](https://scrutinizer-ci.com/g/yoanm/composerConfigManager/?branch=master)

[![Travis Build Status](https://camo.githubusercontent.com/f83c937bd16f80438c8f80784d109a07cf295300d49d46f29aad49409a20637b/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f796f616e6d2f636f6d706f736572436f6e6669674d616e616765722f6d61737465722e7376673f6c6162656c3d747261766973)](https://travis-ci.org/yoanm/composerConfigManager) [![PHP Versions](https://camo.githubusercontent.com/26d093a903092111aa1f2004841957e69e68af14b00202ad27f256949810c9a9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d352e35253230253246253230352e36253230253246253230372e302d3838393242462e737667)](https://php.net/)

[![Latest Stable Version](https://camo.githubusercontent.com/da35c009d3d24c04aed42fd677e1ae05688f7247d45ee6c90792e8c8d226e054/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f616e6d2f636f6d706f7365722d636f6e6669672d6d616e616765722e737667)](https://packagist.org/packages/yoanm/composer-config-manager)

Command to manage composer configuration file

- [Install](#install)
- [How to](#how-to)
- [Managed properties](#managed-properties)
- [Full composer configuration](#full-composer-configuration)
- [Contributing](#contributing)

Install
-------

[](#install)

```
composer global require yoanm/composer-config-manager
```

Add the following in your `.bashrc` file :

```
export PATH=~/.composer/vendor/bin:$PATH
```

How to
------

[](#how-to)

just type the following

```
composercm create "vendor/package-name" path/to/repository/directory [OPTIONS]
composercm update path/to/repository/directory [OPTIONS]
```

In case you launch the command from the repository directory, you can simply use

```
composercm create "vendor/package-name" [OPTIONS]
composercm update [OPTIONS]
```

- Type `composercm list` to list all available command
- Type `composercm help COMMAND_NAME` or `composercm COMMAND_NAME -h` to display help for a specific command

See below for more information regarding command line options

- `composercm update` command will take the current composer.json file and will applied given values

### Create

[](#create)

- A `--template` option is available, given values will be applied to the template
- Values are appended in a default order

### Update

[](#update)

- A `--template` option is available, see below how templates are managed
- Key order are kept from old configuration file. New one are appended in a default order

### Templates

[](#templates)

- Multiple template could be provided. Update workflow is the following
    - 1 - Templates between them If more than one template is given,

        - the first first one is updated with values from the second one
        - resulting configuration is updated with third template

        ...

        - resulting configuration is updated with X template
    - 2 - Resulting configuration with existing one

        - **For update command only, in case at least a template was given**
    - 3 - Resulting configuration with command line values

        - **Could by skipped if only templates are used**

### Key order

[](#key-order)

- By default key order as the one defined in composer documentation website
- It's possible to use the `--template` option to define key order of final configuration For instance, defined a template file name `key_order.json` with following content :

```
{
  "name": null,
  "type": null,
  "license": null,
  "version": null,
  "description": null,
  "keywords": [],
  "authors": {},
  "provide": {},
  "suggest": {},
  "support": {},
  "autoload": {},
  "autoload-dev": {},
  "require": {},
  "require-dev": {},
  "scripts": {}
}
```

 Then use the following command :

```
composercm [create|update] [ARGS] [OPTIONS] --template key_order.json
```

Resulting file will have keys ordered like in `key_order.json` file. All keys could be added in `key_order.json`, in case no value is given for a key, key will not appear in final file.

 In case you also want to provide a template with default value, use the following:

```
composercm [create|update] [ARGS] [OPTIONS] --template key_order.json --template default_values.json [--template another.json]
```

Managed properties
------------------

[](#managed-properties)

Following properties could be defined with option from command line :

- Package name
- Package type
- License
- Version
- Description
- Keywords *Many allowed*
- Author *Many allowed*
- Provided packages *Many allowed*
- Suggested packages *Many allowed*
- Support *Many allowed*
- PSR-0 / PSR-4 Autoload *Many allowed*
- PSR-0 / PSR-4 Autoload dev *Many allowed*
- Required packages *Many allowed*
- Required dev packages *Many allowed*
- Scripts

All others properties could ever be defined in templates and will be managed in a default way (could produce unexpected merge for complex nested values)

Full composer configuration
---------------------------

[](#full-composer-configuration)

```
{
  "name": "vendor/package-name",
  "type": "library",
  "license": "LICENSE_TYPE",
  "version": "X.Y.Z",
  "description": "package description",
  "keywords": ["KEYWORD1", "KEYWORD2"],
  "authors": [
    {
      "name": "name1",
      "email": "email1",
      "role": "role1"
    },
    {
      "name": "name2",
      "email": "email2",
      "role": "role2"
    }
  ],
  "provide": {
    "package1": "~x.y",
    "package2": "x.y.z",
  },
  "suggest": {
    "package1": "Description 1",
    "package2": "Description 2",
  },
  "support": {
    "type1": "url1"
  },
  "autoload": {
    "psr-0": {
      "\\RootNamespace\\SubNamespace": "path"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "\\RootNamespace\\SubNamespace\\": "path"
    }
  },
  "require": {
    "requirement1": ">=x.y"
  },
  "require-dev": {
    "requirement1": ">=x.y"
  },
  "scripts": {
    "script-1": [
      "command_1",
      "command_2"
    ],
    "script-2": [
      "command_1",
      "command_2"
    ],
  }
}
```

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

[](#contributing)

See [contributing note](./CONTRIBUTING.md)

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

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

Total

8

Last Release

3344d ago

Major Versions

0.0.4 → 1.0.02017-05-01

1.0.0 → 2.0.02017-05-01

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4410697?v=4)[yoanm](/maintainers/yoanm)[@yoanm](https://github.com/yoanm)

---

Top Contributors

[![yoanm](https://avatars.githubusercontent.com/u/4410697?v=4)](https://github.com/yoanm "yoanm (46 commits)")

---

Tags

command-linecomposercomposer-configuration

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/yoanm-composer-config-manager/health.svg)

```
[![Health](https://phpackages.com/badges/yoanm-composer-config-manager/health.svg)](https://phpackages.com/packages/yoanm-composer-config-manager)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M526](/packages/shopware-core)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9417.2k58](/packages/open-dxp-opendxp)[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

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