PHPackages                             ecwebservices/ghtags - 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. [CLI &amp; Console](/categories/cli)
4. /
5. ecwebservices/ghtags

ActiveProject[CLI &amp; Console](/categories/cli)

ecwebservices/ghtags
====================

Sync your project's tags from GitHub

1.0.5(3y ago)05MITPHPPHP ^8.0

Since Jul 15Pushed 3y ago1 watchersCompare

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

READMEChangelogDependencies (9)Versions (7)Used By (0)

[![](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://supportukrainenow.org/)

---

GHTags
======

[](#ghtags)

So, you're using something like [Envoyer](https://envoyer.io) and [sebastian/version](https://packagist.org/packages/sebastian/version) doesn't work?

Then you can use GHTags!

Requirements
------------

[](#requirements)

- PHP 8.0+
- PHP SQLite3 extension
- GitHub Personal Access Token (only "repo" scope is required)

About
-----

[](#about)

GHTags is a simple tool for getting your projects tags from GitHub. This includes private repositories (as long as you have enabled access to them).

GHTags was created because I wanted to use [sebastian/version](https://packagist.org/packages/sebastian/version) for my projects, but it didn't work, as Envoyer doesn't use the actual Git repository, and instead downloads the latest version as a tarball. So I would be getting the "vfatal: not a git repository (or any of the parent directories): .git" error. Sure, there are some workarounds, like making a subdirectory of where you're actually cloning your repo to the actual repo, but I didn't want to deal with that, as I wanted to lower my storage usage.

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

[](#installation)

Installing is as simple as a composer install:

```
composer global require ecwebservices/ghtags
```

Once you've done that, you'll need to create a Personal Access Token in your GitHub account. If you set the expiration date to "Never", you'll be able to use it forever.

The token will need to have the "repo" scope. This allows you to get the tags from your repos.

Then we'll run the setup command:

```
ghtags setup
```

Once you've done that, you can head to Usage and see how to use GHTags.

If you ever want to change your token, you can run the set:key command.

```
ghtags set:key
```

Usage
-----

[](#usage)

### Initialization

[](#initialization)

To initialize GHTags, run the setup command from the root of your project:

```
ghtags repo:new
```

### Updating Tags

[](#updating-tags)

```
ghtags update
```

This will get all the tags from the repo and update the database with the tags.

### Syncing Tags

[](#syncing-tags)

```
ghtags sync:all
```

This will get the latest tags from the repo and update your tag file.

```
ghtags sync:single
```

This will get the latest tag from the database and update your tag file.

### Refreshing Tags

[](#refreshing-tags)

```
ghtags refresh
```

Use this command to remove all the tags from the database and get them again.

### Deleting Project

[](#deleting-project)

```
ghtags repo:delete
```

This will delete the project from the database as well as all the tags associated with it in the database.

### Updating Project

[](#updating-project)

```
ghtags repo:update
```

This will update the project in the database.

Contributing
------------

[](#contributing)

We welcome contributions to GHTags. You can either fork the repo and make a pull request, or you can submit an issue or pull request.

License
-------

[](#license)

This software is licensed under the [MIT license](LICENSE).

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

6

Last Release

1397d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3cd86be6ae99ffef0c65552b89e188d783330f4f33af68e9b7a08dc1fd60ee77?d=identicon)[elijahcruz12](/maintainers/elijahcruz12)

---

Top Contributors

[![elijahcruz12](https://avatars.githubusercontent.com/u/14031707?v=4)](https://github.com/elijahcruz12 "elijahcruz12 (12 commits)")

---

Tags

cliconsolegithub

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ecwebservices-ghtags/health.svg)

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

###  Alternatives

[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

9989.0k](/packages/mehrancodes-laravel-harbor)

PHPackages © 2026

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