PHPackages                             rarst/release-belt - 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. rarst/release-belt

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

rarst/release-belt
==================

Composer repository for ZIPs

0.7(3y ago)17610320[1 issues](https://github.com/Rarst/release-belt/issues)MITPHPPHP ^7.4|^8.0

Since Jan 2Pushed 3y ago12 watchersCompare

[ Source](https://github.com/Rarst/release-belt)[ Packagist](https://packagist.org/packages/rarst/release-belt)[ RSS](/packages/rarst-release-belt/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (13)Versions (11)Used By (0)

Release Belt — Composer repo for ZIPs
=====================================

[](#release-belt--composer-repo-for-zips)

[![Tests Status](https://github.com/rarst/release-belt/actions/workflows/tests.yml/badge.svg)](https://github.com/Rarst/release-belt/actions/workflows/tests.yml)[![Latest Stable Version](https://camo.githubusercontent.com/70af95a74d81339d4e3dbf5283b38e58d2ad7778968157e9c31add45a81724f6/68747470733a2f2f706f7365722e707567782e6f72672f72617273742f72656c656173652d62656c742f76657273696f6e)](https://packagist.org/packages/rarst/release-belt)[![PHP from Packagist](https://camo.githubusercontent.com/2b237d1b21589c9b2c84300c11007eb07f97cdc93a4f10af24935eadaacf99a8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f72617273742f72656c656173652d62656c742e737667)](https://packagist.org/packages/rarst/release-belt)[![PDS Skeleton](https://camo.githubusercontent.com/50d01a5094afcc3a827c3cadaec43d23b2a256cb249f5fdd6e5ffdb53ea7971c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7064732d736b656c65746f6e2d626c75652e7376673f7374796c653d666c61742d737175617265)](https://github.com/php-pds/skeleton)

Release Belt is a Composer repository, which serves to quickly integrate third–party non–Composer releases into Composer workflow. Once Release Belt is installed and you upload your zip files with their respective version number, Release Belt does the rest.

Given the following folder tree:

```
releases/wordpress-plugin/rarst/plugin.1.0.zip

```

It will serve the following Composer repository at `/packages.json` automagically:

```
{
    "packages": {
        "rarst/plugin": {
            "1.0": {
                "name": "rarst/plugin",
                "version": "1.0",
                "dist": {
                    "url": "http://example.com/rarst/plugin.1.0.zip",
                    "type": "zip"
                },
                "type": "wordpress-plugin",
                "require": {
                    "composer/installers": "^1.5"
                }
            }
        }
    }
}
```

Installation
------------

[](#installation)

### 1. Install the project

[](#1-install-the-project)

Release Belt is a `project` type Composer package. It is recommended to use Git checkout to keep up with updates more easily.

There is a helper Composer script provided that tries to fetch latest stable version and performs Composer install.

#### Install

[](#install)

```
git clone https://github.com/Rarst/release-belt
cd release-belt
composer belt-update
```

#### Update

[](#update)

```
composer belt-update
```

### 2. Place release ZIPs into `releases/` directory

[](#2-place-release-zips-into-releases-directory)

The directory structure should be: `releases/[type]/[vendor name]/[release zip file]`.

A `[type]` could be:

- a [native Composer type](https://getcomposer.org/doc/04-schema.md#type) (e.g. `library` for the default);
- any type [`composer/installers` supports](https://github.com/composer/installers) (e.g. `wordpress-plugin`);
- or completely arbitrary.

### 3. Configure a web server

[](#3-configure-a-web-server)

The `public/` directory should be used as web root and `index.php` in it as the file to handle requests.

Please refer to [web server configuration](https://www.slimframework.com/docs/v4/start/web-servers.html) in Slim documentation and/or your web hosting’s resources for setup specifics.

Visit home page and `/packages.json` in a web browser to check if it is working.

Use
---

[](#use)

Once Release Belt is installed you can add the repository to the `composer.json` of your projects.

Release Belt home page will automatically generate some `composer.json` boilerplate for you to use.

### Configuration

[](#configuration)

You can configure Release Belt by creating a `config/config.php` file, which returns an array of options to override.

See [`config/configExample.php`](config/configExample.php) for the annotated example.

#### Authentication &amp; permissions

[](#authentication--permissions)

Release Belt implements HTTP authentication to password protect your repository and control access to specific packages. You can configure it via `users` configuration option.

There is a `bin/encodePassword.php` command line helper included for hashing passwords:

```
>php bin/encodePassword.php foo
$2y$10$3i9/lVd8UOFIJ6PAMFt8gu3/r5g0qeCJvoSlLCsvMTythye19F77a
```

If authentication is enabled, Release Belt home page will automatically generate `auth.json` boilerplate for you to use.

F.A.Q.
------

[](#faq)

### Why not Packagist/Satis?

[](#why-not-packagistsatis)

Composer infrastructure is awesome, but it expects vendors that are willing to play nice with it.

Release Belt is a solution for unwilling vendors and it was faster and easier to build a dedicated solution from scratch.

### Why not artifacts?

[](#why-not-artifacts)

Composer artifacts require `composer.json` in them. This is for releases that don't even have that.

### But is it web scale?

[](#but-is-it-web-scale)

No.

License
=======

[](#license)

MIT

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 93.7% 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 ~179 days

Recently: every ~323 days

Total

10

Last Release

1441d ago

PHP version history (2 changes)0.4PHP &gt;=7.1.3

0.7PHP ^7.4|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/689ddc4f33541ac4a001d247e560f8805d219a95e7e42a16e0d22b9409f385cb?d=identicon)[Rarst](/maintainers/Rarst)

---

Top Contributors

[![Rarst](https://avatars.githubusercontent.com/u/737584?v=4)](https://github.com/Rarst "Rarst (149 commits)")[![michaelbeil](https://avatars.githubusercontent.com/u/4752949?v=4)](https://github.com/michaelbeil "michaelbeil (3 commits)")[![kraftner](https://avatars.githubusercontent.com/u/2428517?v=4)](https://github.com/kraftner "kraftner (2 commits)")[![dotsam](https://avatars.githubusercontent.com/u/4316742?v=4)](https://github.com/dotsam "dotsam (2 commits)")[![andreasbossard](https://avatars.githubusercontent.com/u/502464?v=4)](https://github.com/andreasbossard "andreasbossard (1 commits)")[![ocean90](https://avatars.githubusercontent.com/u/617637?v=4)](https://github.com/ocean90 "ocean90 (1 commits)")[![grappler](https://avatars.githubusercontent.com/u/1785641?v=4)](https://github.com/grappler "grappler (1 commits)")

---

Tags

composerrepository

### Embed Badge

![Health badge](/badges/rarst-release-belt/health.svg)

```
[![Health](https://phpackages.com/badges/rarst-release-belt/health.svg)](https://phpackages.com/packages/rarst-release-belt)
```

###  Alternatives

[phlak/directory-lister

PHP directory lister

2.5k1.4k](/packages/phlak-directory-lister)[bacula-web/bacula-web

The open source web based reporting and monitoring tool for Bacula

1537.5k](/packages/bacula-web-bacula-web)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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