PHPackages                             andkirby/multi-repo-composer - 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. andkirby/multi-repo-composer

ActiveComposer-plugin

andkirby/multi-repo-composer
============================

Plugin for loading multi-repository packages (several packages in the only repository).

v0.9.3(8y ago)69251MITPHP

Since Jan 13Pushed 8y ago1 watchersCompare

[ Source](https://github.com/andkirby/multi-repo-composer)[ Packagist](https://packagist.org/packages/andkirby/multi-repo-composer)[ RSS](/packages/andkirby-multi-repo-composer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (25)Used By (0)

Multi-package repository for Composer
=====================================

[](#multi-package-repository-for-composer)

[![Gitter](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/andkirby/multi-repo-composer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)This repository contains multi-package composer repository and GitLab repository for composer.

Released v0.9.x. It supports generating "dist" config for packages. Satis may provide links to archives.

Requirements
------------

[](#requirements)

### Package Name

[](#package-name)

You have to name your packages by name format: `vendor/my_repo-package_name`Where `package_name` - your namespace in GIT.

### Naming

[](#naming)

Please be aware "-" is namespace separator in first case. A package with name `me/foo-cool_package-second_edition` will produce a multi-repo directory:

```
me/foo-multi-repo

```

`foo` - is a base repository name in this example.

That's why you SHOULD NOT use "-" in the name spaces.

### Branch Name and Tag Name

[](#branch-name-and-tag-name)

Branch and tag should have a namespace like `PackageName/branch`. Examples:

```
PackageName/master
PackageName/develop
PackageName/some-another-branch
PackageName/v1.0.0
PackageName/1.0.0-beta

```

### Single GIT repository in vendor

[](#single-git-repository-in-vendor)

If you require several packages from your multi-repository it will create the one with GIT (if you use vcs). The name by example is `vendor/myrepo-multi-repo`. Ie your general repository name + `-multi-repo`. It's just to avoid clone a repository several times.

### Satis

[](#satis)

[`andkirby/satis`](https://github.com/andkirby/satis) is modified version of `composer/satis` with supporting multi-repositories.

### GIT Flow

[](#git-flow)

You may follow GIT Flow.

Configuring
-----------

[](#configuring)

### Default multi repositories path

[](#default-multi-repositories-path)

Actually multi-repositories will be placed in the repositories cache directory:

```
~/.composer/cache/repo/your-vendor/your_project-multi-repo

```

### Custom multi-repositories directory

[](#custom-multi-repositories-directory)

But you may customize it via root configuration below:

```
{
  "extra":
    "multi-repo-parent-dir": "/path/to/multi-repo/dirs/"
}

```

### Current vendor multi-repositories directory

[](#current-vendor-multi-repositories-directory)

Also you may use saving in the current vendor directory.

```
{
  "extra":
    "multi-repo-dir-in-cache": false
}

```

It will have following structure:

```
./
  composer.json
  vendor/
    your-vendor/
      your_project-cool_package/
      your_project-multi-repo/

```

GitFlow
-------

[](#gitflow)

Probably it would be useful to switch a namespace in GitFlow quickly. Try to use composer package [`rikby/gitext`](../../../../rikby/gitext#gitflow-settings-for-multi-composer-repository)

### Manual way

[](#manual-way)

Create a file .git-flow-namespace-set.sh

```
vim ~/.git-flow-namespace-set.sh

```

```
#!/bin/sh
git config gitflow.branch.master "$1"/master
git config gitflow.branch.develop "$1"/develop
git config gitflow.prefix.feature "$1"/feature/
git config gitflow.prefix.bugfix "$1"/bugfix/
git config gitflow.prefix.release "$1"/release/
git config gitflow.prefix.hotfix "$1"/hotfix/
git config gitflow.prefix.support "$1"/support/
git config gitflow.prefix.versiontag "$1"/v
```

And then add an alias

```
git config --global alias.flow-namespace-set '!bash ~/.git-flow-namespace-set.sh'
```

Now you may use it:

```
git flow-namespace-set ModuleName

```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 98.5% 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 ~39 days

Recently: every ~98 days

Total

24

Last Release

3225d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/79af1435892dd9111c06a5e386fd69b577a71f3fbcc3f20aab50db8e5abc8ce2?d=identicon)[andkirby](/maintainers/andkirby)

---

Top Contributors

[![andkirby](https://avatars.githubusercontent.com/u/1828532?v=4)](https://github.com/andkirby "andkirby (67 commits)")[![gitter-badger](https://avatars.githubusercontent.com/u/8518239?v=4)](https://github.com/gitter-badger "gitter-badger (1 commits)")

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/andkirby-multi-repo-composer/health.svg)

```
[![Health](https://phpackages.com/badges/andkirby-multi-repo-composer/health.svg)](https://phpackages.com/packages/andkirby-multi-repo-composer)
```

###  Alternatives

[humbug/box

Fast, zero config application bundler with PHARs.

1.3k801.5k69](/packages/humbug-box)[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.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

4115.6M19](/packages/roots-wordpress-core-installer)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)

PHPackages © 2026

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