PHPackages                             aoe/composer-satis-builder - 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. aoe/composer-satis-builder

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

aoe/composer-satis-builder
==========================

Complementary tool to Satis for updating the satis.json 'require' key from the project composer.json.

292846PHP

Since Apr 19Pushed 10y ago23 watchersCompare

[ Source](https://github.com/AOEpeople/composer-satis-builder)[ Packagist](https://packagist.org/packages/aoe/composer-satis-builder)[ RSS](/packages/aoe-composer-satis-builder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Composer Satis Builder
======================

[](#composer-satis-builder)

Complementary tool to Satis for updating the satis.json "require" key from the project composer.json.

This is particularly useful if you are mirroring for git repositories and package zip files (dist files).

Problem description
-------------------

[](#problem-description)

If you use in satis.json ``"require-all": true`, you will have all versions of all packages in the repositories you defined which can take a lot of disk space

OR

You can choose to manually maintain the "require" key which can be time-consuming if you have a lot of packages.

Usage
-----

[](#usage)

```
build
     Path to the project composer.json file
     Path to the satis.json configuration file
    [-rdd|--require-dev-dependencies REQUIRE-DEV-DEPENDENCIES] Sets the "require-dev-dependencies" key
    [-rd|--require-dependencies REQUIRE-DEPENDENCIES] Sets the "require-dependencies" key
    [-rc|--add-requirements] Add the requirements from the project composer.json
    [-drc|--add-dev-requirements] Add the dev requirements from the project composer.json
    [-rr|--reset-requirements] Will reset (empty) the satis requirements (require key) before adding the requirements of the composer.json

```

Example
-------

[](#example)

Given

satis.json

```
{
    "name": "My Repository",
    "homepage": "http://localhost:7777",
    "repositories": [
        { "type": "vcs", "url": "https://github.com/mycompany/privaterepo" },
    ],
    "require": {
    }
}

```

and

composer.json

```
{
    "name": "mycompany/mycompany-project",
    "require": {
        "mycompany/privaterepo": "^1.3"
    },
    "repositories": [
        {
            "packagist": false
        },
        {
            "type": "composer",
            "url": "http://localhost:7777/"
        }
    ]
}

```

and Composer Satis Builder is installed:

```
php composer.phar create-project aoe/composer-satis-builder --stability=dev

```

After running

```
php composer-satis-builder/bin/composer-satis-builder build composer.json satis.json --reset-requirements --add-requirements

```

satis.json will look like:

```
{
    "name": "My Repository",
    "homepage": "http://localhost:7777",
    "repositories": [
        { "type": "vcs", "url": "https://github.com/mycompany/privaterepo" },
    ],
    "require": {
        "mycompany/privaterepo": "^1.3"
    },
}

```

Now build Satis as before:

```
php bin/satis build satis.json web/

```

License
-------

[](#license)

Composer Satis Builder is licensed under the MIT License - see the LICENSE file for details

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% 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://avatars.githubusercontent.com/u/6331769?v=4)[AOE](/maintainers/AOEpeople)[@AOEpeople](https://github.com/AOEpeople)

---

Top Contributors

[![kschu91](https://avatars.githubusercontent.com/u/5566756?v=4)](https://github.com/kschu91 "kschu91 (4 commits)")[![vdespa-collab](https://avatars.githubusercontent.com/u/68944255?v=4)](https://github.com/vdespa-collab "vdespa-collab (1 commits)")

### Embed Badge

![Health badge](/badges/aoe-composer-satis-builder/health.svg)

```
[![Health](https://phpackages.com/badges/aoe-composer-satis-builder/health.svg)](https://phpackages.com/packages/aoe-composer-satis-builder)
```

###  Alternatives

[dnadesign/silverstripe-advanceddropdowns

DropdownField and GroupedDropdownField that allows the use of data-attributes on each option tag

1717.3k](/packages/dnadesign-silverstripe-advanceddropdowns)

PHPackages © 2026

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