PHPackages                             mattketmo/stone - 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. mattketmo/stone

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

mattketmo/stone
===============

Proxy for Composer repositories

961[2 issues](https://github.com/MattKetmo/stone/issues)PHP

Since Sep 13Pushed 12y ago2 watchersCompare

[ Source](https://github.com/MattKetmo/stone)[ Packagist](https://packagist.org/packages/mattketmo/stone)[ RSS](/packages/mattketmo-stone/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Stone - Proxy for Composer
==========================

[](#stone---proxy-for-composer)

This project is *not maintained anymore*. Btw, do you know that [Composer dist packages are automatically cached](http://moquet.net/blog/5-features-about-composer-php/#4_prefer_dist_packages_and_cache_them)?

Stone is a repository proxy for [Composer](https://github.com/composer/composer). It will create a local repository with all the packages you want to mirror. Then you can use the global configuration of Composer to fetch the packages from this local repository instead of [Packagist](http://packagist.org/).

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

[](#installation)

Download the source:

```
git clone git://github.com/mattketmo/stone.git

```

Ensure that you can compile PHAR files in `php.ini`:

```
[Phar]
; http://php.net/phar.readonly
phar.readonly = Off
```

Compile it to a PHAR file:

```
./bin/compile

```

Now its recommended to `chmod +x stone.phar` and make it available into your `$PATH` to use it everywhere you need.

You can **automatically** initialize the local repository with the `init`command:

```
stone.phar init

```

Or you can do it **manually** by editing the global Composer configuration (`~/.composer/config.json` on Unix system):

```
{
    "repositories": [
        {
            "type": "composer",
            "url": "file:////.composer/stone"
        }
    ]
}

```

and creating an empty `~/.composer/stone/packages.json`:

```
{
    "packages": { }
}

```

Usage
-----

[](#usage)

To mirror any package from a `composer.json` file just run:

```
stone.phar mirror /path/to/composer.json

```

Be sure to regulary update your local packages by running:

```
stone.phar update

```

That's it! Composer will now use all your mirrored packages instead of fetching them from Packagist.

Known issues
------------

[](#known-issues)

- Branch alias are not recognized by composer (eg. "doctrine/common": "2.3.x-dev" will fetch from GitHub instead of the local repository)
- Packages replacement have strange behaviour. For instance, if you've mirror "symfony/symfony", then requiring "symfony/console" will fetch "symfony/symfony" (and all its dependencies) instead of just the "subtree"
- For now, it's totally indifferent to the dependences between packages, so it will **only** download the requires of your composer. You can have a `dummy.json` file inside your `~/.composer` folder and put all the packages you want to mirror

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.1% 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://www.gravatar.com/avatar/efa59158e76767abf1663e27b2980f2ca16eda5070c2b8f50a81c10ccd4ac12b?d=identicon)[MattKetmo](/maintainers/MattKetmo)

---

Top Contributors

[![MattKetmo](https://avatars.githubusercontent.com/u/334996?v=4)](https://github.com/MattKetmo "MattKetmo (33 commits)")[![jonathaningram](https://avatars.githubusercontent.com/u/626664?v=4)](https://github.com/jonathaningram "jonathaningram (1 commits)")

### Embed Badge

![Health badge](/badges/mattketmo-stone/health.svg)

```
[![Health](https://phpackages.com/badges/mattketmo-stone/health.svg)](https://phpackages.com/packages/mattketmo-stone)
```

###  Alternatives

[bluebaytravel/dosh

Simple currency formatter for PHP.

2120.8k](/packages/bluebaytravel-dosh)

PHPackages © 2026

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