PHPackages                             jeremykendall/phpctagger - 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. jeremykendall/phpctagger

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

jeremykendall/phpctagger
========================

Creates ctags for composer projects

0.0.7(13y ago)71.0k1[1 issues](https://github.com/jeremykendall/phpctagger/issues)MITPHPPHP &gt;=5.3.10

Since Dec 18Pushed 13y ago3 watchersCompare

[ Source](https://github.com/jeremykendall/phpctagger)[ Packagist](https://packagist.org/packages/jeremykendall/phpctagger)[ RSS](/packages/jeremykendall-phpctagger/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (8)Used By (0)

PHP Ctagger
===========

[](#php-ctagger)

PHP Ctagger is a [Composer](http://getcomposer.org)[script](http://getcomposer.org/doc/articles/scripts.md) that will create a ctags tag file for a project's autoloadable library and that project's dependencies. The tag file will be placed in your project's root directory at `/tags`.

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

[](#installation)

The only supported method of installation is via Composer. As PHP Ctagger is intended to be used in a development environment (and will only create a tag file when Composer is in dev mode), PHP Ctagger must be installed as a dev dependency. Add the following to your `composer.json`.

```
{
    "require-dev": {
        "jeremykendall/phpctagger": "dev-master"
    }
}
```

PHP Ctagger utilizes Composer's [Scripts](http://getcomposer.org/doc/articles/scripts.md)functionality. In order for PHP Ctagger to build your tag file, the script must also be added to your composer.json.

```
{
    "scripts": {
        "post-install-cmd": [
            "PhpCtagger\\Composer\\Script\\Ctagger::ctag"
        ],
        "post-update-cmd": [
            "PhpCtagger\\Composer\\Script\\Ctagger::ctag"
         ]
    }
}
```

In this example, the script will run both post install and post update.

With that done, run `composer update --dev` to install PHP Ctagger and build your tag file.

ctags version
-------------

[](#ctags-version)

Ensure you're running the [most recent version of ctags](http://ctags.sourceforge.net/). This is especially important on OSX, as the [wrong version of ctags is installed by default](https://github.com/jeremykendall/phpctagger/issues/2).

Limitations
-----------

[](#limitations)

This initial implementation is extremely naive, and will only create tags for libraries and dependencies that have path entries in `/vendor/composer/autoload_namespaces.php`.

Vim
---

[](#vim)

In order to use your new tag file, vim needs to know about it. Make sure to load your tag file via whatever means you feel most comfortable. I've placed the following in my `.vimrc`

`set tags=tags`

Work in progress
----------------

[](#work-in-progress)

This project is in its alpha stage, and I'm still not sure if it's even a good idea. It's been fun to play with so far, so that's good. Pull requests, new issues, comments, and constructive criticisms are welcome.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

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 ~5 days

Total

7

Last Release

4916d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4232bff51ec1380e748a6829d6f98b88a15f16cc70af454da69d50c469d8c889?d=identicon)[jeremykendall](/maintainers/jeremykendall)

---

Top Contributors

[![jeremykendall](https://avatars.githubusercontent.com/u/288613?v=4)](https://github.com/jeremykendall "jeremykendall (25 commits)")

---

Tags

phpcomposerctagsexuberant ctagsvim

### Embed Badge

![Health badge](/badges/jeremykendall-phpctagger/health.svg)

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

###  Alternatives

[liborm85/composer-vendor-cleaner

Composer Vendor Cleaner removes unnecessary development files and directories from vendor directory.

34412.1k1](/packages/liborm85-composer-vendor-cleaner)[camcima/php-geohash

Refactored GeoHash package

1076.0k](/packages/camcima-php-geohash)

PHPackages © 2026

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