PHPackages                             vanilla/github-sync - 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. vanilla/github-sync

ActiveLibrary

vanilla/github-sync
===================

Copy github configurations from one github repo to another one.

v2.1.2(7y ago)59.9k—0%1[1 issues](https://github.com/vanilla/github-sync/issues)MITPHP

Since May 21Pushed 6y ago14 watchersCompare

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

READMEChangelog (3)Dependencies (2)Versions (19)Used By (0)

GitHub Sync
===========

[](#github-sync)

Copy issue labels and milestones from one GitHub repo to another. This is useful if you have many repos and you want to use the same labelling scheme amongst all of them or keep milestone data synced for tools like ZenHub.

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

[](#installation)

This is a great tool to install globally with Composer.

1. Run `composer global require 'vanilla/github-sync'` to install the application.
2. If your global composer bin directory is in your path you can run the app with `github-sync`. For help, add `-h`.
3. Generate a [personal access token](https://github.com/blog/1509-personal-api-tokens) and add it to your `~/.bashrc` file as `export GITHUB_API_TOKEN=xxxxx`.

Update
------

[](#update)

1. Tag the repo with a new version number (format: `v1.1.1`).
2. Do a [new release](https://github.com/vanilla/github-sync/releases) with that tag, named the same way.
3. Update [Packagist](https://packagist.org/packages/vanilla/github-sync) or wait for it to sync.
4. Reinstall using the global `composer` command above.

Develop
-------

[](#develop)

1. Pull the repo locally and go to the root.
2. `composer update`
3. Test commands with `bin/github-sync {test command}` (see below) to invoke repo copy rather than global install.

Usage
-----

[](#usage)

- `github-sync labels [-f] [-t] [-d]` Copy the labels from one GitHub repo to another. Set a 'from' repo and 'to' repo. The `delete` option will remove any labels from the 'to' repo that don't exist on the 'from' repo.
- `github-sync milestones [-f] [-t] [-s] [--autoclose]` Copy milestones from one GitHub repo to another. Set a 'from' repo, 'to' repo, and/or a 'status' to select (one of `open`, `closed`, `all`). The `autoclose` option will close milestones past their due date or with zero items.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 61.8% 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 ~93 days

Recently: every ~216 days

Total

14

Last Release

2798d ago

Major Versions

v1.3.2 → v2.0.02016-05-08

### Community

Maintainers

![](https://www.gravatar.com/avatar/da29e060f227028e8ee38bb5873ba2188fb5236b20b3dffec766c768019d8bd8?d=identicon)[tburry](/maintainers/tburry)

![](https://www.gravatar.com/avatar/ea17fedfd653c4692cf93a4faada50927cef9537dafed0dd4b1517e54fd71728?d=identicon)[charrondev](/maintainers/charrondev)

---

Top Contributors

[![tburry](https://avatars.githubusercontent.com/u/97432?v=4)](https://github.com/tburry "tburry (21 commits)")[![linc](https://avatars.githubusercontent.com/u/117672?v=4)](https://github.com/linc "linc (9 commits)")[![igraziatto](https://avatars.githubusercontent.com/u/31521020?v=4)](https://github.com/igraziatto "igraziatto (2 commits)")[![charrondev](https://avatars.githubusercontent.com/u/1770056?v=4)](https://github.com/charrondev "charrondev (1 commits)")[![initvector](https://avatars.githubusercontent.com/u/1390241?v=4)](https://github.com/initvector "initvector (1 commits)")

---

Tags

non-production

### Embed Badge

![Health badge](/badges/vanilla-github-sync/health.svg)

```
[![Health](https://phpackages.com/badges/vanilla-github-sync/health.svg)](https://phpackages.com/packages/vanilla-github-sync)
```

###  Alternatives

[ecoapm/libyear

A simple measure of software dependency freshness

28302.5k](/packages/ecoapm-libyear)[smillerdev/phpdraft

This is a parser for API Blueprint files in PHP.

3811.9k](/packages/smillerdev-phpdraft)

PHPackages © 2026

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