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

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

lucklrj/composer-satis-builder
==============================

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

0.0.7(6y ago)015MIT LicensePHPPHP &gt;=5.5.0

Since Apr 28Pushed 6y agoCompare

[ Source](https://github.com/lucklrj/composer-satis-builder)[ Packagist](https://packagist.org/packages/lucklrj/composer-satis-builder)[ Docs](https://github.com/AOEpeople/composer-satis-builder)[ RSS](/packages/lucklrj-composer-satis-builder/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (9)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
    [-mc|--merge-requirements] Merge 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 lucklrj/composer-satis-builder --stability=dev

```

After running

```
php composer-satis-builder/bin/composer-satis-builder build  satis.json composer.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

todo
----

[](#todo)

Need support:^ ~ &gt;= &gt; \* and so on.

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

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

7

Last Release

2246d ago

### Community

Maintainers

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

---

Top Contributors

[![lucklrj](https://avatars.githubusercontent.com/u/207632?v=4)](https://github.com/lucklrj "lucklrj (9 commits)")[![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)")

---

Tags

composerconfigbuildgeneratesatis

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[friendsoftypo3/content-blocks

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

103519.9k53](/packages/friendsoftypo3-content-blocks)[phel-lang/phel-lang

Phel is a functional programming language that compiles to PHP

5186.0k18](/packages/phel-lang-phel-lang)[dagger/dagger

Dagger PHP SDK

261.1k](/packages/dagger-dagger)

PHPackages © 2026

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