PHPackages                             holisticagency/satis-file-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. holisticagency/satis-file-manager

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

holisticagency/satis-file-manager
=================================

Satis configuration file utilities

1.0.0-beta1(11y ago)4132[1 issues](https://github.com/holisticagency/satis-file-manager/issues)MITPHP

Since Mar 28Pushed 10y ago2 watchersCompare

[ Source](https://github.com/holisticagency/satis-file-manager)[ Packagist](https://packagist.org/packages/holisticagency/satis-file-manager)[ Docs](https://github.com/holisticagency/satis-file-manager)[ RSS](/packages/holisticagency-satis-file-manager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

satis-file-manager
==================

[](#satis-file-manager)

Satis configuration file utilities

This library helps to create and update repositories in `satis.json` files.

add the code below to your `composer.json` file :

```
"require": {
    "holisticagency/satis-file-manager": "~1.0@beta"
}
```

add the code below in a PHP file :

```
use holisticagency\satis\utilities\SatisFile;

//Create a configuration for a repository located at http://domain.tld
$new = new SatisFile('http://domain.tld');
$new->setName('My Own Private Repository');

//Set minimum stability of the repository
$satis->setStability('stable');

//Set an output directory
$satis->setOutputDir('build');

//Unset the output directory (default)
$satis->unsetOutputDir();

//By default, no web outputs are set.
//This actives the Satis default html output:
$new->setWebOptions(array('output-html' => true));
//Or:
$new->setWebOptions(array('twig-template' => '/path/to/my/twig/templates'));

//Look at the result
echo $new->json();

//Add a Vcs repository to an existing configuration
$vcs = new \Composer\Repository\VcsRepository(...);
$toBeUpdated = new SatisFile('http://domain.tld', $existingConfig);
var_dump($toBeUpdated->setRepository($vcs)->asArray());

//A repository may be a Package, an Artifact or a Composer repository:
$packageRepository = new \Composer\Repository\PackageRepository(...);
$artifact = new \Composer\Repository\ArtifactRepository(...);
$composerRepository = new \Composer\Repository\ComposerRepository(...);
$pathRepository = new \Composer\Repository\PathRepository(...);
$toBeUpdated = new SatisFile('http://domain.tld', $existingConfig);
var_dump($toBeUpdated
    ->setRepository($packageRepository)
    ->setRepository($artifact)
    ->setRepository($composerRepository)
    ->setRepository($pathRepository)
    ->asArray()
);

//Remove a repository
var_dump($toBeUpdated->unsetRepository($vcs)->asArray());

//Specify a package
$package = new \Composer\Package\Package(...);
//Or:
$package = new \Composer\Package\CompletePackage(...);

//Specify a package with all its version
$toBeUpdated = new SatisFile('http://domain.tld', $existingConfig);
var_dump($toBeUpdated->setPackage($package)->asArray());

//Specify a package with a specific version (a "pretty" version is expected)
$toBeUpdated = new SatisFile('http://domain.tld', $existingConfig);
var_dump($toBeUpdated->setPackage($package, 'x.y.z')->asArray());

//Nota: The setPackage() methods adds or replaces a Package.

//Remove a specified package
$toBeUpdated = new SatisFile('http://domain.tld', $existingConfig);
var_dump($toBeUpdated->unsetPackage($package)->asArray());

//By default, downloads are enable with zip format and a `dist` directory.
//This does some changes in archive options
$satis->setArchiveOptions(array('directory' => 'downloads', 'skip-dev' => true));
//This disables dist downloads
$satis->disableArchiveOptions();
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.6% 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 ~9 days

Total

4

Last Release

4039d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2697c02847a2a7d28c1fe956ce6daed7e2b752827e016ed8b69aeaab308b77f3?d=identicon)[gillesodret](/maintainers/gillesodret)

![](https://www.gravatar.com/avatar/2a9b7beb8fec4f176788dc1378e297e457a983009dcd8e084ed7bfcea5cbb456?d=identicon)[James](/maintainers/James)

---

Top Contributors

[![JamesRezo](https://avatars.githubusercontent.com/u/6839893?v=4)](https://github.com/JamesRezo "JamesRezo (28 commits)")[![gillesodret](https://avatars.githubusercontent.com/u/11698701?v=4)](https://github.com/gillesodret "gillesodret (16 commits)")

---

Tags

composerconfigurationsatis

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/holisticagency-satis-file-manager/health.svg)

```
[![Health](https://phpackages.com/badges/holisticagency-satis-file-manager/health.svg)](https://phpackages.com/packages/holisticagency-satis-file-manager)
```

###  Alternatives

[composer/satis

Simple Repository Generator

3.3k1.4M17](/packages/composer-satis)[cedaro/satispress

Generate a Composer repository from installed WordPress plugins and themes.

56134.0k](/packages/cedaro-satispress)[flarum/extension-manager

An extension manager to install, update and remove extension packages from the interface (Wrapper around composer).

12211.5k](/packages/flarum-extension-manager)[php-forge/foxy

Fast, reliable, and secure Bun/NPM/Yarn/pnpm bridge for Composer

45103.3k4](/packages/php-forge-foxy)

PHPackages © 2026

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